Gestures and two-button scrolling for ordinary mice #1148
felix-andreas
started this conversation in
Ideas
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
I'm not sure Gala would be the right place to implement this, but it's probably a valid place to discuss it here anyway.
With all the recent and great additions with regard to gestures, an ordinary mouse now feels somewhat of a second class citizen. This made me wonder why shouldn't it be possible to also add these gestures to normal mice?
Some ideas how this could be implemented.
Gestures
Option 1. Require a modifier key
While pressing this modifier key mouse gestures are interpreted as gestures. This would require separate modifier keys for 3-, 4-finger and pinch gestures.
Option 2. Pressing all three mouse buttons
This somewhat inconvenient and would only work for three finger gestures.
Option 3. Using back and forward buttons
I am not sure how common this is, but my impression is that many newer mice have these back and forward buttons. Considering that only the
ButtonReleaseEvent
is used for forward and backward navigation, this would open the possibility to map the 3- and 4-finger gestures to the back and forward buttons, respectively.The pinch gesture could be mapped to the scroll-wheel, if two-button scrolling is enabled. (see below)
I think this would be much more convenient than option 2, but of course doesn't work for all mice.
1:1 Scrolling with two-button scrolling
When switching from a touch-pad to a mice, even the scroll-wheel can feel a bit clunky and makes one miss the smooth 1:1 two finger scrolling. One solution would be to enable 1:1 scrolling by pressing the left and right mouse buttons simultaneously - similar to two-finger scrolling on a touch-pad. This would also make the usage of the mouse and touch-pad a bit more consistent.
As it turns out something similar is already implemented in libinput (On-Button scrolling). But it only works when a single button is pressed and only on X at the moment. For example, mapping 1:1 scrolling to the forward button can be achieved by adding this to the pointer device in
/usr/share/X11/xorg.conf.d/40-libinput.conf
:I used this for some time now and I think it's much more convenient than using the scroll-wheel. Still, I would rather bind this to leftright click and use the back and forward buttons for gestures.
Beta Was this translation helpful? Give feedback.
All reactions