summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Gorse <mgorse@suse.com>2022-01-26 08:54:17 +0000
committerMike Gorse <mgorse@suse.com>2022-01-26 08:54:17 +0000
commit158f531f6c89f71fe6c62e872fcb871359c9cf0b (patch)
treed43917b01e5ce36256a35d556bd07a593e3c7b3c
parent4ea72388c6a1a5d0c35fbbbda0a61e9a97c20b62 (diff)
parent1d62e20bfd0637265343efd285e70a7bd4597fbf (diff)
downloadat-spi2-core-158f531f6c89f71fe6c62e872fcb871359c9cf0b.tar.gz
Merge branch 'capslock' into 'master'
registryd: unlock capslock during keysym synthesis Closes #50 See merge request GNOME/at-spi2-core!70
-rw-r--r--registryd/deviceeventcontroller.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/registryd/deviceeventcontroller.c b/registryd/deviceeventcontroller.c
index 99fb159a..0e54357f 100644
--- a/registryd/deviceeventcontroller.c
+++ b/registryd/deviceeventcontroller.c
@@ -1719,12 +1719,17 @@ spi_dec_synth_keysym (SpiDEController *controller, long keysym)
if (synth_mods != modifiers) {
lock_mods = synth_mods & ~modifiers;
spi_dec_plat_lock_modifiers (controller, lock_mods);
+ if (modifiers & LockMask)
+ spi_dec_plat_unlock_modifiers (controller, LockMask);
}
spi_dec_plat_synth_keycode_press (controller, key_synth_code);
spi_dec_plat_synth_keycode_release (controller, key_synth_code);
- if (synth_mods != modifiers)
+ if (synth_mods != modifiers) {
spi_dec_plat_unlock_modifiers (controller, lock_mods);
+ if (modifiers & LockMask)
+ spi_dec_plat_lock_modifiers (controller, LockMask);
+ }
return TRUE;
}