Stylus Friendly Options
I think use of a stylus pen to input and edit notes can be a good alternative to using the mouse. I am not talking about handwriting recognition just using the stylus to input and edit notes.
-Removing Notes with the pen eraser
-Dragging Notes to a new pitch
-Allowing use of the stylus buttons
I created a prototype that seems to work well on my Acer Spin tablet with the stylus.
I just added QTTabletEvents to mscore/events.cpp and handled them sort of like how mouse press events are.
The main difference would be:
-While in Stylus Note Entry Mode, mouse note entry would be disabled to prevent your hand from inputting undesired notes
-When eraser is detected, remove the selected note
-Allow dragging the selected note to a new pitch when in Stylus Note Entry Mode
I am not sure what to do with the stylus button yet. Most stylus have a button that makes the pen an eraser and another button. When using musescore myself it seems like the best use is to have one be the eraser as intended and the other button to switch from Normal Mode to Note Entry Mode.
1) Consistency with existing designs (or why you think a new approach is needed)
Currently if I try and use a stylus, there are some issues:
-If I am inputting notes undesired notes can be entered where my hand rest on the screen
-It is somewhat cumbersome to switch between note edit mode with the stylus especially if I want to just drag a note.
-Makes no use of pen erase mode
2) Ease of adoption for new and existing users
I would propose a Stylus Note Entry Mode which would be slightly different than the current note entry mode. So existing users would not be affected by this. I would also make the use of a stylus intuitive and there would be few changes so it would not be difficult to learn.
3) Quickly perform common tasks (basic features)
Inputting, selecting, dragging, removing notes would be straight forward
Flexibility to perform less common tasks (advanced features)
When not in stylus input mode, the stylus would just behave as a normal mouse.
Localisation (translations and regional variants)
This does not apply
Portability (across devices and platforms)
I can develop and test it on linux. If it was necessary I could test on windows. I don't have a mac so not possible.
Scalability (across screen sizes and pixel densities)
This is resolved because it is already built in to the QTEvents structure
Accessibility (for people who are blind, colorblind, partially sighted, or motor impaired)
Possibly could improve accessibility for people with tendinitis aggravated by a mouse