guibuilder_pel7x64builder0
6 years ago
2 changed files with 51 additions and 1 deletions
@ -0,0 +1,44 @@
@@ -0,0 +1,44 @@
|
||||
From 67aab7c13812befde061f0d2068b431b04dcbc98 Mon Sep 17 00:00:00 2001 |
||||
From: Carlos Garnacho <carlosg@gnome.org> |
||||
Date: Wed, 3 Oct 2018 22:43:21 +0200 |
||||
Subject: [PATCH] clutter: Do not latch modifiers on modifier keys |
||||
|
||||
If the user maps eg. Alt+F2 to a pad button, the MetaInputSettings will |
||||
send the full Alt press, F2 press, F2 release, Alt release sequence. |
||||
However the keycode corresponding to Alt is found in level 1, so the |
||||
Shift modifier gets unintendedly latched in addition to the Alt key |
||||
press/release pair. |
||||
|
||||
We could probably improve keycode lookup heuristics so level=0 (and |
||||
no modifier latching) is preferred, but we can do without it altogether |
||||
for modifier keys. |
||||
--- |
||||
clutter/clutter/x11/clutter-virtual-input-device-x11.c | 6 ++++-- |
||||
1 file changed, 4 insertions(+), 2 deletions(-) |
||||
|
||||
diff --git a/clutter/clutter/x11/clutter-virtual-input-device-x11.c b/clutter/clutter/x11/clutter-virtual-input-device-x11.c |
||||
index b86ded0d0..e16ba3fd0 100644 |
||||
--- a/clutter/clutter/x11/clutter-virtual-input-device-x11.c |
||||
+++ b/clutter/clutter/x11/clutter-virtual-input-device-x11.c |
||||
@@ -147,14 +147,16 @@ clutter_virtual_input_device_x11_notify_keyval (ClutterVirtualInputDevice *virtu |
||||
return; |
||||
} |
||||
|
||||
- if (key_state == CLUTTER_KEY_STATE_PRESSED) |
||||
+ if (!_clutter_keymap_x11_get_is_modifier (keymap, keycode) && |
||||
+ key_state == CLUTTER_KEY_STATE_PRESSED) |
||||
clutter_keymap_x11_latch_modifiers (keymap, level, TRUE); |
||||
|
||||
XTestFakeKeyEvent (clutter_x11_get_default_display (), |
||||
(KeyCode) keycode, |
||||
key_state == CLUTTER_KEY_STATE_PRESSED, 0); |
||||
|
||||
- if (key_state == CLUTTER_KEY_STATE_RELEASED) |
||||
+ if (!_clutter_keymap_x11_get_is_modifier (keymap, keycode) && |
||||
+ key_state == CLUTTER_KEY_STATE_RELEASED) |
||||
clutter_keymap_x11_latch_modifiers (keymap, level, FALSE); |
||||
} |
||||
|
||||
-- |
||||
2.19.0 |
||||
|
Loading…
Reference in new issue