diff options
author | Emmanuele Bassi <ebassi@gmail.com> | 2021-07-16 16:09:34 +0000 |
---|---|---|
committer | Emmanuele Bassi <ebassi@gmail.com> | 2021-07-16 16:09:34 +0000 |
commit | a236494ea7f31848b4a459dad41330f225137832 (patch) | |
tree | e0aa650b27401ce21bad0dc2789789df3f538cb2 | |
parent | c577315acbb6917b1f28cfc8d09defd44e0d4d77 (diff) | |
parent | 8f0fa2ec8697fa188cc8ccc6aca5c7076aea2eb6 (diff) | |
download | clutter-a236494ea7f31848b4a459dad41330f225137832.tar.gz |
Merge branch 'bugzilla-783791' into 'master'
wayland: Fix incorrect button mask in clutter_wayland_handle_button
See merge request GNOME/clutter!15
-rw-r--r-- | clutter/mir/clutter-event-mir.c | 8 | ||||
-rw-r--r-- | clutter/osx/clutter-event-osx.c | 6 | ||||
-rw-r--r-- | clutter/wayland/clutter-input-device-wayland.c | 17 | ||||
-rw-r--r-- | clutter/win32/clutter-event-win32.c | 18 |
4 files changed, 25 insertions, 24 deletions
diff --git a/clutter/mir/clutter-event-mir.c b/clutter/mir/clutter-event-mir.c index 296430bb9..779ed728c 100644 --- a/clutter/mir/clutter-event-mir.c +++ b/clutter/mir/clutter-event-mir.c @@ -265,17 +265,17 @@ _clutter_mir_handle_event (ClutterBackend *backend, CLUTTER_BUTTON_PRESS : CLUTTER_BUTTON_RELEASE); - event->button.button = 1; + event->button.button = CLUTTER_BUTTON_PRIMARY; event->button.click_count = 1; button_state ^= mir_event->motion.button_state; if (button_state == 0 || (button_state & mir_motion_button_primary)) - event->button.button = 1; + event->button.button = CLUTTER_BUTTON_PRIMARY; else if (button_state & mir_motion_button_secondary) - event->button.button = 3; + event->button.button = CLUTTER_BUTTON_SECONDARY; else if (button_state & mir_motion_button_tertiary) - event->button.button = 2; + event->button.button = CLUTTER_BUTTON_MIDDLE; else if (button_state & mir_motion_button_back) event->button.button = 8; else if (button_state & mir_motion_button_forward) diff --git a/clutter/osx/clutter-event-osx.c b/clutter/osx/clutter-event-osx.c index 4b53fefad..43051c487 100644 --- a/clutter/osx/clutter-event-osx.c +++ b/clutter/osx/clutter-event-osx.c @@ -60,9 +60,9 @@ { switch ([self buttonNumber]) { - case 0: return 1; /* left */ - case 1: return 3; /* right */ - case 2: return 2; /* middle */ + case 0: return CLUTTER_BUTTON_PRIMARY; /* left */ + case 1: return CLUTTER_BUTTON_SECONDARY; /* right */ + case 2: return CLUTTER_BUTTON_MIDDLE; /* middle */ default: return 1 + [self buttonNumber]; } } diff --git a/clutter/wayland/clutter-input-device-wayland.c b/clutter/wayland/clutter-input-device-wayland.c index 3dab22070..168a6839b 100644 --- a/clutter/wayland/clutter-input-device-wayland.c +++ b/clutter/wayland/clutter-input-device-wayland.c @@ -30,6 +30,7 @@ #include <stdlib.h> #include <unistd.h> +#include <linux/input.h> #include <sys/mman.h> #include <wayland-util.h> #include <wayland-client.h> @@ -129,18 +130,18 @@ clutter_wayland_handle_button (void *data, /* evdev button codes */ switch (button) { - case 272: - event->button.button = 1; + case BTN_LEFT: + event->button.button = CLUTTER_BUTTON_PRIMARY; modifier_mask = CLUTTER_BUTTON1_MASK; break; - case 273: - event->button.button = 3; - modifier_mask = CLUTTER_BUTTON2_MASK; - break; - case 274: - event->button.button = 2; + case BTN_RIGHT: + event->button.button = CLUTTER_BUTTON_SECONDARY; modifier_mask = CLUTTER_BUTTON3_MASK; break; + case BTN_MIDDLE: + event->button.button = CLUTTER_BUTTON_MIDDLE; + modifier_mask = CLUTTER_BUTTON2_MASK; + break; } if (modifier_mask) diff --git a/clutter/win32/clutter-event-win32.c b/clutter/win32/clutter-event-win32.c index 7a360c625..391cadc58 100644 --- a/clutter/win32/clutter-event-win32.c +++ b/clutter/win32/clutter-event-win32.c @@ -465,39 +465,39 @@ clutter_win32_handle_event (const MSG *msg) break; case WM_LBUTTONDOWN: - make_button_event (msg, stage, 1, 1, FALSE, core_pointer); + make_button_event (msg, stage, CLUTTER_BUTTON_PRIMARY, 1, FALSE, core_pointer); break; case WM_MBUTTONDOWN: - make_button_event (msg, stage, 2, 1, FALSE, core_pointer); + make_button_event (msg, stage, CLUTTER_BUTTON_MIDDLE, 1, FALSE, core_pointer); break; case WM_RBUTTONDOWN: - make_button_event (msg, stage, 3, 1, FALSE, core_pointer); + make_button_event (msg, stage, CLUTTER_BUTTON_SECONDARY, 1, FALSE, core_pointer); break; case WM_LBUTTONUP: - make_button_event (msg, stage, 1, 1, TRUE, core_pointer); + make_button_event (msg, stage, CLUTTER_BUTTON_PRIMARY, 1, TRUE, core_pointer); break; case WM_MBUTTONUP: - make_button_event (msg, stage, 2, 1, TRUE, core_pointer); + make_button_event (msg, stage, CLUTTER_BUTTON_MIDDLE, 1, TRUE, core_pointer); break; case WM_RBUTTONUP: - make_button_event (msg, stage, 3, 1, TRUE, core_pointer); + make_button_event (msg, stage, CLUTTER_BUTTON_SECONDARY, 1, TRUE, core_pointer); break; case WM_LBUTTONDBLCLK: - make_button_event (msg, stage, 1, 2, FALSE, core_pointer); + make_button_event (msg, stage, CLUTTER_BUTTON_PRIMARY, 2, FALSE, core_pointer); break; case WM_MBUTTONDBLCLK: - make_button_event (msg, stage, 2, 2, FALSE, core_pointer); + make_button_event (msg, stage, CLUTER_BUTTON_MIDDLE, 2, FALSE, core_pointer); break; case WM_RBUTTONDBLCLK: - make_button_event (msg, stage, 3, 2, FALSE, core_pointer); + make_button_event (msg, stage, CLUTTER_BUTTON_SECONDARY, 2, FALSE, core_pointer); break; case WM_MOUSEWHEEL: |