keymapparser: handle generic key entries before device specific ones
authorpieterg <pieterg@users.sourceforge.net>
Thu, 7 Jan 2010 19:35:20 +0000 (20:35 +0100)
committerpieterg <pieterg@users.sourceforge.net>
Thu, 7 Jan 2010 19:35:20 +0000 (20:35 +0100)
This ensures we'll show the best match in the help screen.
Generic keys are usually keys with only a single function,
e.g. KEY_PAUSE for pause. If a remotecontrol has this key,
we prefer to show that one in the help screen, rather than
a yellow key for instance.

keymapparser.py

index 0e544e9..57044a3 100644 (file)
@@ -63,11 +63,11 @@ def readKeymap(filename):
                context = cmap.attrib.get("context")
                assert context, "map must have context"
 
+               parseKeys(context, filename, p, "generic", cmap)
+
                for device in cmap.findall("device"):
                        parseKeys(context, filename, p, device.attrib.get("name"), device)
 
-               parseKeys(context, filename, p, "generic", cmap)
-
 def removeKeymap(filename):
        p = enigma.eActionMap.getInstance()
        p.unbindKeyDomain(filename)