gdk/wayland: Switch behavior of BTN_STYLUS/STYLUS2 as middle/right click
authorCarlos Garnacho <carlosg@gnome.org>
Wed, 5 Jul 2023 14:24:03 +0000 (16:24 +0200)
committerCarlos Garnacho <carlosg@gnome.org>
Wed, 5 Jul 2023 14:54:54 +0000 (16:54 +0200)
This mapping of stylus evdev input event codes into GDK button numbers
makes gdk/wayland inconsistent with gdk/x11, so depending on the backend
the same button middle-click pastes or right-click pops up menus.

Make the wayland backend consistent with X11, so that a GNOME wayland
session gets these buttons consistently mapped across all kinds of
clients.

Closes: https://gitlab.gnome.org/GNOME/gtk/-/issues/5935
gdk/wayland/gdkseat-wayland.c

index 03acdd5450d1292373f64e5d1f6f65d9e8b38188..b284388f6228590b72d0b88743a0b248710bfd26 100644 (file)
@@ -3064,9 +3064,9 @@ tablet_tool_handle_button (void                      *data,
   tablet->pointer_info.press_serial = serial;
 
   if (button == BTN_STYLUS)
-    n_button = GDK_BUTTON_SECONDARY;
-  else if (button == BTN_STYLUS2)
     n_button = GDK_BUTTON_MIDDLE;
+  else if (button == BTN_STYLUS2)
+    n_button = GDK_BUTTON_SECONDARY;
   else if (button == BTN_STYLUS3)
     n_button = 8; /* Back */
   else