Wacom pen initiates drag & drop instead of clicking + other usability issues on Wayland
The pen being too quick to initiate a DND seems to be the main cause of the usability issues I mentioned in #540 (closed).
Summary:
- Product: gnome-shell 3.30+ (master with patch !225 (merged) applied)
- Distribution: Fedora 28
- How reproducible: always
A screencast is worth a thousand words: Screencast_from_09-09-18_12_14_09
TLDW*:
*(Too Long, Didn't Watch)
When using a Wacom pen under Wayland, it is very difficult (sometimes impossible) to issue the equivalent of a left click in order to select / focus objects or widgets. Instead, it seems that a drag & drop event is initiated most of the time.
Also, I could not use the pen to maximize windows.
Further thoughts:
From my (possibly biased) user point of view, the active pen should act similarly to the touchscreen as far as clicking is concerned. However, since there is no multi-touch, we need to find a way to enable scrolling. My suggestion would be to use the eraser button for that.
Also note that it is quite typical for the cursor to jump by a few pixels when the pen makes contact with the screen, which might be the reason why we see so many DND events instead of clicks. So we will probably need to add some (dconfigurable ?) tolerance to make clicking easy.
So my suggestions would be:
- Pen down + pen up within a small region of space and a short time window => select / focus ("left click")
- Pen down within this same region, beyond this time window => opens context menu ("right click") (already works)
- Pen down + moves outside the region => initiates drag & drop (currently the default behaviour)
- Pen up while dragging => drops the object (currently the object is not always dropped, and follows the pointer)
- Eraser button pressed while hovering (or touching) the overview => "grab" the overview (similar to left click outside windows / icons)
- Eraser button down + moving pen => scroll overview in a "stick to pointer" fashion (but don't DND windows / icons)
- Eraser button released => stop scrolling.
- Third button clicked => alternative (quicker) way to open context menu
- It should ideally be possible to swap the eraser & third buttons (e.g. using a dconf key).
These are just a few suggestions, and I would like to hear your opinion about that (you certainly know the technical constraints much better than I do). It might also be a good idea to check the Gnome HIG and maybe consult with the Mobile SIG. Also, I think we should keeps things dconfigurable until we are certain that our defaults are good.
Finally, this is quite a long list, so I would suggest starting by fixing the "left click" behaviour in a minimally-intrusive way (so it could maybe be backported to 3.30.x before distributions start shipping it?). This one is a regression compared to Xorg, while the rest would be an improvement.