mirror of
https://codeberg.org/dnkl/foot.git
synced 2026-02-04 04:06:06 -05:00
input: don't map wheel events to BTN_{BACK,FORWARD}
BTN_BACK and BTN_FORWARD are separate buttons. The scroll wheel don't
have any button mappings in libinput/wayland, so make up our own
defines.
This allows us to map them in mouse bindings.
Also expose BTN_WHEEL_{LEFT,RIGHT}. These were already defined, and
used, internally, to handle wheel tilt events. With this, they can
also be used in mouse bindings.
Finally, fix encoding used for BTN_{BACK,FORWARD} when sending mouse
button events to the client application. Before this, they were mapped
to buttons 4/5. But, button 4/5 are for the scroll wheel, and as
mentioned above, BTN_{BACK,FORWARD} are not the same as scroll wheel
"buttons".
Closes #1763
This commit is contained in:
parent
15c0078c2d
commit
1136108c97
7 changed files with 59 additions and 27 deletions
2
input.c
2
input.c
|
|
@ -2708,7 +2708,7 @@ mouse_scroll(struct seat *seat, int amount, enum wl_pointer_axis axis)
|
|||
xassert(term != NULL);
|
||||
|
||||
int button = axis == WL_POINTER_AXIS_VERTICAL_SCROLL
|
||||
? amount < 0 ? BTN_BACK : BTN_FORWARD
|
||||
? amount < 0 ? BTN_WHEEL_BACK : BTN_WHEEL_FORWARD
|
||||
: amount < 0 ? BTN_WHEEL_LEFT : BTN_WHEEL_RIGHT;
|
||||
amount = abs(amount);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue