Skip to content

Commit

Permalink
#2301 when mapping a pure translation table using set_default_keymap(…
Browse files Browse the repository at this point in the history
…), make sure that we also record the key level so that we can find the most appropriate key to press - including shift and mode state

git-svn-id: https://xpra.org/svn/Xpra/trunk@25529 3bb7dfac-3a0b-4e04-842a-767bc560f471
  • Loading branch information
totaam committed Mar 6, 2020
1 parent cc12a6f commit 84b05a7
Showing 1 changed file with 14 additions and 2 deletions.
16 changes: 14 additions & 2 deletions src/xpra/x11/server_keyboard_config.py
Original file line number Diff line number Diff line change
Expand Up @@ -388,9 +388,21 @@ def set_default_keymap(self):
#keycodes:
keycode_to_keynames = X11Keyboard.get_keycode_mappings()
self.keycode_translation = {}
#prefer keycodes that don't use the lowest level+mode:
default_for_keyname = {}
for keycode, keynames in keycode_to_keynames.items():
for keyname in keynames:
self.keycode_translation[keyname] = keycode
for i, keyname in enumerate(keynames):
self.keycode_translation[(keyname, i)] = keycode
if keyname in DEBUG_KEYSYMS:
log.info("set_default_keymap: %s=%s", (keyname, i), keycode)
kd = default_for_keyname.get(keyname)
if kd is None or kd[1]>i:
default_for_keyname[keyname] = (keycode, i)
for keyname, kd in default_for_keyname.items():
keycode = kd[0]
self.keycode_translation[keyname] = keycode
if keyname in DEBUG_KEYSYMS:
log.info("set_default_keymap: %s=%s", keyname, keycode)
self.add_gtk_keynames()
log("set_default_keymap: keycode_translation=%s", self.keycode_translation)
#modifiers:
Expand Down

0 comments on commit 84b05a7

Please sign in to comment.