diff options
author | Mike Gorse <mgorse@suse.com> | 2022-01-26 08:54:17 +0000 |
---|---|---|
committer | Mike Gorse <mgorse@suse.com> | 2022-01-26 08:54:17 +0000 |
commit | 158f531f6c89f71fe6c62e872fcb871359c9cf0b (patch) | |
tree | d43917b01e5ce36256a35d556bd07a593e3c7b3c | |
parent | 4ea72388c6a1a5d0c35fbbbda0a61e9a97c20b62 (diff) | |
parent | 1d62e20bfd0637265343efd285e70a7bd4597fbf (diff) | |
download | at-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.c | 7 |
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; } |