[mutter] clutter/evdev: Don't ignore CAPS lock as modifier
- From: Olivier Fourdan <ofourdan src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [mutter] clutter/evdev: Don't ignore CAPS lock as modifier
- Date: Wed, 18 Apr 2018 15:10:55 +0000 (UTC)
commit 6df2b7af556bf01f8d564b86c66c293678ab6b90
Author: Olivier Fourdan <ofourdan redhat com>
Date: Tue Apr 17 14:03:12 2018 +0200
clutter/evdev: Don't ignore CAPS lock as modifier
Mark CAPS lock as a modifier (as it should) so that when using XKB
options to change the default behaviour of CAPS lock, the new assigned
key can by used as a sticky key as well.
Closes: https://gitlab.gnome.org/GNOME/mutter/issues/112
clutter/clutter/evdev/clutter-input-device-evdev.c | 8 ++++++++
1 file changed, 8 insertions(+)
---
diff --git a/clutter/clutter/evdev/clutter-input-device-evdev.c
b/clutter/clutter/evdev/clutter-input-device-evdev.c
index e5dee650f..51c7e942c 100644
--- a/clutter/clutter/evdev/clutter-input-device-evdev.c
+++ b/clutter/clutter/evdev/clutter-input-device-evdev.c
@@ -433,6 +433,8 @@ key_event_is_modifier (ClutterEvent *event)
case XKB_KEY_Super_R:
case XKB_KEY_Hyper_L:
case XKB_KEY_Hyper_R:
+ case XKB_KEY_Caps_Lock:
+ case XKB_KEY_Shift_Lock:
return TRUE;
default:
return FALSE;
@@ -584,6 +586,12 @@ handle_stickykeys_press (ClutterEvent *event,
}
depressed_mods = xkb_state_serialize_mods (seat->xkb, XKB_STATE_MODS_DEPRESSED);
+ /* Ignore the lock modifier mask, that one cannot be sticky, yet the
+ * CAPS_LOCK key itself counts as a modifier as it might be remapped
+ * to some other modifier which can be sticky.
+ */
+ depressed_mods &= ~CLUTTER_LOCK_MASK;
+
new_latched_mask = device->stickykeys_latched_mask;
new_locked_mask = device->stickykeys_locked_mask;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]