From 3c500b597c4eeb1ab4b279387f99da4acecc8ba1 Mon Sep 17 00:00:00 2001 From: Peter Hutterer Date: Mon, 13 Apr 2015 14:47:26 +1000 Subject: [PATCH] evdev: add evdev_pointer_notify_physical_button No functional changes at this point, this merely splits up any physical buttons (i.e. that represent buttons that exist on that device) vs. other buttons that are emulated in some way or another. This is in preparation for the addition of middle button emulation. Signed-off-by: Peter Hutterer Reviewed-by: Hans de Goede --- src/evdev-mt-touchpad-buttons.c | 8 ++++---- src/evdev.c | 17 +++++++++++++---- src/evdev.h | 5 +++++ 3 files changed, 22 insertions(+), 8 deletions(-) diff --git a/src/evdev-mt-touchpad-buttons.c b/src/evdev-mt-touchpad-buttons.c index 18c32fda..56a054ce 100644 --- a/src/evdev-mt-touchpad-buttons.c +++ b/src/evdev-mt-touchpad-buttons.c @@ -734,10 +734,10 @@ tp_post_physical_buttons(struct tp_dispatch *tp, uint64_t time) state = LIBINPUT_BUTTON_STATE_RELEASED; b = evdev_to_left_handed(tp->device, button); - evdev_pointer_notify_button(tp->device, - time, - b, - state); + evdev_pointer_notify_physical_button(tp->device, + time, + b, + state); } button++; diff --git a/src/evdev.c b/src/evdev.c index 5b4b2b6b..6f87484d 100644 --- a/src/evdev.c +++ b/src/evdev.c @@ -137,6 +137,15 @@ evdev_keyboard_notify_key(struct evdev_device *device, keyboard_notify_key(&device->base, time, key, state); } +void +evdev_pointer_notify_physical_button(struct evdev_device *device, + uint32_t time, + int button, + enum libinput_button_state state) +{ + evdev_pointer_notify_button(device, time, button, state); +} + void evdev_pointer_notify_button(struct evdev_device *device, uint32_t time, @@ -430,10 +439,10 @@ evdev_button_scroll_button(struct evdev_device *device, } else { /* If the button is released quickly enough emit the * button press/release events. */ - evdev_pointer_notify_button(device, time, + evdev_pointer_notify_physical_button(device, time, device->scroll.button, LIBINPUT_BUTTON_STATE_PRESSED); - evdev_pointer_notify_button(device, time, + evdev_pointer_notify_physical_button(device, time, device->scroll.button, LIBINPUT_BUTTON_STATE_RELEASED); } @@ -505,7 +514,7 @@ evdev_process_key(struct evdev_device *device, evdev_button_scroll_button(device, time, e->value); break; } - evdev_pointer_notify_button( + evdev_pointer_notify_physical_button( device, time, evdev_to_left_handed(device, e->code), @@ -2208,7 +2217,7 @@ release_pressed_keys(struct evdev_device *device) LIBINPUT_KEY_STATE_RELEASED); break; case EVDEV_KEY_TYPE_BUTTON: - evdev_pointer_notify_button( + evdev_pointer_notify_physical_button( device, time, evdev_to_left_handed(device, code), diff --git a/src/evdev.h b/src/evdev.h index af09baa5..f2ce9bcd 100644 --- a/src/evdev.h +++ b/src/evdev.h @@ -306,6 +306,11 @@ evdev_pointer_notify_button(struct evdev_device *device, uint32_t time, int button, enum libinput_button_state state); +void +evdev_pointer_notify_physical_button(struct evdev_device *device, + uint32_t time, + int button, + enum libinput_button_state state); void evdev_init_natural_scroll(struct evdev_device *device);