show 'l' keypresses in helpscreen
authorFelix Domke <tmbinc@elitedvb.net>
Wed, 11 Jul 2007 13:51:02 +0000 (13:51 +0000)
committerFelix Domke <tmbinc@elitedvb.net>
Wed, 11 Jul 2007 13:51:02 +0000 (13:51 +0000)
keymapparser.py
lib/python/Components/HelpMenuList.py
lib/python/Tools/KeyBindings.py

index 21e9981..5c93092 100644 (file)
@@ -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)
 
 #                              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)
 
 
                parseKeys("generic", cmap)
 
index 0cd2fd2..e7806bd 100644 (file)
@@ -22,12 +22,16 @@ class HelpMenuList(GUIComponent):
                                buttons = queryKeyBinding(context, action)
 
                                name = None
                                buttons = queryKeyBinding(context, action)
 
                                name = None
+                               flags = 0
 
                                for n in buttons:
 
                                for n in buttons:
-                                       name = getKeyDescription(n)
+                                       (name, flags) = (getKeyDescription(n[0]), n[1])
                                        if name is not None:
                                                break
 
                                        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) )
 
                                entry.append( (actionmap, context, action, name ) )
                                entry.append( (eListboxPythonMultiContent.TYPE_TEXT, 0, 0, 400, 28, 0, 0, help) )
 
index 293fee1..09dde74 100644 (file)
@@ -38,12 +38,13 @@ keyDescriptions = {
                KEYIDS["KEY_RECORD"]: ("sh_radio", 585, 425)
        }
 
                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:
 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 [ ]
 
        else:
                return [ ]