# 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)
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) )
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 [ ]