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)
committerSimon McVittie <smcv@debian.org>
Wed, 8 Nov 2023 16:30:21 +0000 (16:30 +0000)
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.

(cherry-picked from commit e28ff79bec53ecd56885390ba4a66019cde598c6)

Forwarded: https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/6169
Origin: 3.24.39, commit:e205bdaa89342bb1d47527be0cdfbc1bfb0f5f59

Gbp-Pq: Name gdk-wayland-Switch-behavior-of-BTN_STYLUS-STYLUS2-as-midd.patch

gdk/wayland/gdkdevice-wayland.c

index a1e4771a74efa548b2a6014ed6d9147a132c78fb..38c2e61efad47d6f2594a93221f14bb13c944102 100644 (file)
@@ -3963,9 +3963,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