From 603c734391a3019b4a0b3e76674edf834ad8b60a Mon Sep 17 00:00:00 2001 From: Antoine Martin Date: Tue, 15 Sep 2020 11:03:31 +0000 Subject: [PATCH] #2632 also use the keysym without trying to tweak the modifiers if it is the only keysym for this keycode (no risk of generating the wrong key?) git-svn-id: https://xpra.org/svn/Xpra/trunk@27455 3bb7dfac-3a0b-4e04-842a-767bc560f471 --- src/xpra/x11/server_keyboard_config.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/xpra/x11/server_keyboard_config.py b/src/xpra/x11/server_keyboard_config.py index a7e6d66fea..bd5efe519f 100644 --- a/src/xpra/x11/server_keyboard_config.py +++ b/src/xpra/x11/server_keyboard_config.py @@ -496,9 +496,11 @@ def klog(msg, *args): keysyms = self.keycode_mappings.get(keycode) klog("=%i (level=%i, shift=%s, mode=%i, keysyms=%s)", keycode, level, shift, mode, keysyms) level0 = levels[0] - if len(keysyms)>level0 and keysyms[level0]=="": + uq_keysyms = set(keysyms) + if len(uq_keysyms)<=1 or (len(keysyms)>level0 and keysyms[level0]==""): #if the keysym we would match for this keycode is 'NoSymbol', #then we can probably ignore it ('NoSymbol' shows up as "") + #same if there's only one actual keysym for this keycode kmlog("not toggling any modifiers state for keysyms=%s", keysyms) break def toggle_modifier(mod):