From 0e61797c03c26a8b004dff187a4e26fc6afb26e2 Mon Sep 17 00:00:00 2001 From: Felix Domke Date: Wed, 11 Jul 2007 13:51:02 +0000 Subject: [PATCH] show 'l' keypresses in helpscreen --- keymapparser.py | 2 +- lib/python/Components/HelpMenuList.py | 6 +++++- lib/python/Tools/KeyBindings.py | 7 ++++--- 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/keymapparser.py b/keymapparser.py index 21e9981..5c93092 100644 --- a/keymapparser.py +++ b/keymapparser.py @@ -62,7 +62,7 @@ def readKeymap(filename = "/usr/share/enigma2/keymap.xml"): # print context + "::" + mapto + " -> " + device + "." + hex(keyid) p.bindKey(filename, device, keyid, flags, context, mapto) - addKeyBinding(filename, keyid, context, mapto) + addKeyBinding(filename, keyid, context, mapto, flags) parseKeys("generic", cmap) diff --git a/lib/python/Components/HelpMenuList.py b/lib/python/Components/HelpMenuList.py index 0cd2fd2..e7806bd 100644 --- a/lib/python/Components/HelpMenuList.py +++ b/lib/python/Components/HelpMenuList.py @@ -22,12 +22,16 @@ class HelpMenuList(GUIComponent): buttons = queryKeyBinding(context, action) name = None + flags = 0 for n in buttons: - name = getKeyDescription(n) + (name, flags) = (getKeyDescription(n[0]), n[1]) if name is not None: break + if flags & 8: # for long keypresses, prepend l_ into the key name. + name = ("l_" + name[0], name[1], name[2]) + entry.append( (actionmap, context, action, name ) ) entry.append( (eListboxPythonMultiContent.TYPE_TEXT, 0, 0, 400, 28, 0, 0, help) ) diff --git a/lib/python/Tools/KeyBindings.py b/lib/python/Tools/KeyBindings.py index 293fee1..09dde74 100644 --- a/lib/python/Tools/KeyBindings.py +++ b/lib/python/Tools/KeyBindings.py @@ -38,12 +38,13 @@ keyDescriptions = { KEYIDS["KEY_RECORD"]: ("sh_radio", 585, 425) } -def addKeyBinding(domain, key, context, action): - keyBindings.setdefault((context, action), []).append((key, domain)) +def addKeyBinding(domain, key, context, action, flags): + keyBindings.setdefault((context, action), []).append((key, domain, flags)) +# returns a list of (key, flags) for a specified action def queryKeyBinding(context, action): if (context, action) in keyBindings: - return [x[0] for x in keyBindings[(context, action)]] + return [(x[0], x[2]) for x in keyBindings[(context, action)]] else: return [ ] -- 2.7.4