[PATCH] Fix "Back", "Forward", and other special mouse buttons in XWayland.
Peter Hutterer
peter.hutterer at who-t.net
Sun Dec 21 20:43:07 PST 2014
On Sun, Dec 21, 2014 at 02:39:02AM -0800, Dima Ryazanov wrote:
> Currently, the indexes are off by 4 because of the scroll buttons.
>
> Signed-off-by: Dima Ryazanov <dima at gmail.com>
> ---
> hw/xwayland/xwayland-input.c | 7 ++++++-
> 1 file changed, 6 insertions(+), 1 deletion(-)
>
> diff --git a/hw/xwayland/xwayland-input.c b/hw/xwayland/xwayland-input.c
> index b8c543c..ad30c31 100644
> --- a/hw/xwayland/xwayland-input.c
> +++ b/hw/xwayland/xwayland-input.c
> @@ -233,6 +233,9 @@ pointer_handle_button(void *data, struct wl_pointer *pointer, uint32_t serial,
> xwl_seat->xwl_screen->serial = serial;
>
> switch (button) {
> + case BTN_LEFT:
> + index = 1;
> + break;
> case BTN_MIDDLE:
> index = 2;
> break;
> @@ -240,7 +243,9 @@ pointer_handle_button(void *data, struct wl_pointer *pointer, uint32_t serial,
> index = 3;
> break;
> default:
> - index = button - BTN_LEFT + 1;
> + /* Skip indexes 4-7: they are used for vertical and horizontal scroll.
> + The rest of the buttons go in order: BTN_LEFT + 3 becomes 8, etc. */
> + index = button - BTN_LEFT + 5;
tbh, I'd use 8 + button - BTN_SIDE here, that's less confusing (and is what
we do in e.g. evdev). but either way,
Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>
Cheers,
Peter
More information about the wayland-devel
mailing list