diff options
author | JoseExposito <jose.exposito89@gmail.com> | 2021-04-04 16:59:40 +0200 |
---|---|---|
committer | Peter Hutterer <peter.hutterer@who-t.net> | 2021-04-06 05:10:32 +0000 |
commit | c71a1f4347013cf94254c1ea421b3a313a125b35 (patch) | |
tree | 37ba80fba9a326a54bba76559b20004bd532933e | |
parent | 74f6821d7ab9697f3b81aa110ca46cf936fb2b10 (diff) | |
download | libinput-c71a1f4347013cf94254c1ea421b3a313a125b35.tar.gz |
touchpad/clickfinger: limit middle click to 3 fingers
Don't middle click on clickpads with click method clickfinger when more than
3 fingers are used.
Signed-off-by: José Expósito <jose.exposito89@gmail.com>
-rw-r--r-- | src/evdev-mt-touchpad-buttons.c | 3 | ||||
-rw-r--r-- | test/test-touchpad-buttons.c | 39 |
2 files changed, 2 insertions, 40 deletions
diff --git a/src/evdev-mt-touchpad-buttons.c b/src/evdev-mt-touchpad-buttons.c index a6373a93..4591270e 100644 --- a/src/evdev-mt-touchpad-buttons.c +++ b/src/evdev-mt-touchpad-buttons.c @@ -1141,8 +1141,9 @@ out: case 0: case 1: button = BTN_LEFT; break; case 2: button = BTN_RIGHT; break; + case 3: button = BTN_MIDDLE; break; default: - button = BTN_MIDDLE; break; + button = 0; break; } diff --git a/test/test-touchpad-buttons.c b/test/test-touchpad-buttons.c index 3bb6d575..e0a8ddf2 100644 --- a/test/test-touchpad-buttons.c +++ b/test/test-touchpad-buttons.c @@ -291,7 +291,6 @@ START_TEST(touchpad_4fg_clickfinger) { struct litest_device *dev = litest_current_device(); struct libinput *li = dev->libinput; - struct libinput_event *event; if (litest_slot_count(dev) < 4) return; @@ -315,18 +314,6 @@ START_TEST(touchpad_4fg_clickfinger) libinput_dispatch(li); - litest_wait_for_event(li); - event = libinput_get_event(li); - litest_is_button_event(event, - BTN_MIDDLE, - LIBINPUT_BUTTON_STATE_PRESSED); - libinput_event_destroy(event); - event = libinput_get_event(li); - litest_is_button_event(event, - BTN_MIDDLE, - LIBINPUT_BUTTON_STATE_RELEASED); - libinput_event_destroy(event); - litest_assert_empty_queue(li); } END_TEST @@ -335,7 +322,6 @@ START_TEST(touchpad_4fg_clickfinger_btntool_2slots) { struct litest_device *dev = litest_current_device(); struct libinput *li = dev->libinput; - struct libinput_event *event; if (litest_slot_count(dev) >= 3 || !libevdev_has_event_code(dev->evdev, EV_KEY, BTN_TOOL_QUADTAP)) @@ -360,18 +346,6 @@ START_TEST(touchpad_4fg_clickfinger_btntool_2slots) litest_touch_up(dev, 0); litest_touch_up(dev, 1); - litest_wait_for_event(li); - event = libinput_get_event(li); - litest_is_button_event(event, - BTN_MIDDLE, - LIBINPUT_BUTTON_STATE_PRESSED); - libinput_event_destroy(event); - event = libinput_get_event(li); - litest_is_button_event(event, - BTN_MIDDLE, - LIBINPUT_BUTTON_STATE_RELEASED); - libinput_event_destroy(event); - litest_assert_empty_queue(li); } END_TEST @@ -380,7 +354,6 @@ START_TEST(touchpad_4fg_clickfinger_btntool_3slots) { struct litest_device *dev = litest_current_device(); struct libinput *li = dev->libinput; - struct libinput_event *event; if (litest_slot_count(dev) != 3 || !libevdev_has_event_code(dev->evdev, EV_KEY, BTN_TOOL_TRIPLETAP)) @@ -409,18 +382,6 @@ START_TEST(touchpad_4fg_clickfinger_btntool_3slots) libinput_dispatch(li); - litest_wait_for_event(li); - event = libinput_get_event(li); - litest_is_button_event(event, - BTN_MIDDLE, - LIBINPUT_BUTTON_STATE_PRESSED); - libinput_event_destroy(event); - event = libinput_get_event(li); - litest_is_button_event(event, - BTN_MIDDLE, - LIBINPUT_BUTTON_STATE_RELEASED); - libinput_event_destroy(event); - litest_assert_empty_queue(li); } END_TEST |