From 7835b145ac7d808178df6044653a03821fd8250d Mon Sep 17 00:00:00 2001 From: chrys Date: Mon, 19 Aug 2019 17:10:54 +0200 Subject: [PATCH] Update commandManager.py --- src/fenrirscreenreader/core/commandManager.py | 24 ++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/src/fenrirscreenreader/core/commandManager.py b/src/fenrirscreenreader/core/commandManager.py index cce6bbac..631ca4ce 100644 --- a/src/fenrirscreenreader/core/commandManager.py +++ b/src/fenrirscreenreader/core/commandManager.py @@ -245,10 +245,28 @@ class commandManager(): return( command in self.env['commands'][section]) except: return False - def getShortcutForCommand(self, command): - shortcut = '' + def getShortcutForCommand(self, command, formatKeys = False): + shortcut = [] try: - shortcut = list(self.env['bindings'].keys())[list(self.env['bindings'].values()).index(command)] + rawShortcut = list(self.env['bindings'].keys())[list(self.env['bindings'].values()).index(command)] + # prefer metha keys + for k in ['KEY_FENRIR', 'KEY_SCRIPT', 'KEY_CTRL', 'KEY_SHIFT', 'KEY_ALT', 'KEY_META']: + if k in rawShortcut: + formattedKey = k + if formatKeys: + formattedKey = formattedKey.lower() + formattedKey = formattedKey.replace('key_kp', 'kp ') + formattedKey = formattedKey.replace('key_', '') + shortcut.append(formattedKey) + rawShortcut.remove(k) + # handle other keys + for k in rawShortcut: + formattedKey = k + if formatKeys: + formattedKey = formattedKey.lower() + formattedKey = formattedKey.replace('key_kp', 'kp ') + formattedKey = formattedKey.replace('key_', '') + shortcut.append(formattedKey) except: pass return shortcut