From a8408a1ce409e6c522ddd00e44c308ba595ef7a4 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Thu, 12 Jan 2017 13:56:56 +0530 Subject: [PATCH] Fix keyboard shortcuts not being mapped correctly On systems that remap their keys, for example, to use a DVORAK keyboard layout. Fixes #29 --- kitty/boss.py | 2 +- kitty/keys.py | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/kitty/boss.py b/kitty/boss.py index 7184a21ab..1e0a64965 100644 --- a/kitty/boss.py +++ b/kitty/boss.py @@ -259,7 +259,7 @@ def on_key(self, window, key, scancode, action, mods): self.start_cursor_blink() self.cursor_blink_zero_time = monotonic() if action == GLFW_PRESS or action == GLFW_REPEAT: - func = get_shortcut(self.opts.keymap, mods, key) + func = get_shortcut(self.opts.keymap, mods, key, scancode) if func is not None: f = getattr(self, func, None) if f is not None: diff --git a/kitty/keys.py b/kitty/keys.py index 2dba8c73b..40b901cd6 100644 --- a/kitty/keys.py +++ b/kitty/keys.py @@ -84,5 +84,6 @@ def interpret_text_event(codepoint, mods): return data -def get_shortcut(keymap, mods, key): +def get_shortcut(keymap, mods, key, scancode): + key = get_localized_key(key, scancode) return keymap.get((mods & 0b1111, key))