X-Git-Url: http://code.vuplus.com/gitweb/?p=vuplus_dvbapp;a=blobdiff_plain;f=lib%2Fpython%2FTools%2FKeyBindings.py;h=cfd177e6a23c25b6518e594dd15ba8b7f758a9f1;hp=00e0b4c7c92b9665bbfd641d8b75f19ec4f0675d;hb=3471f51d97a519560b8b01428085076fd041bd68;hpb=7da3c6b5bc7f55569e214a02645ea69fd6662dad diff --git a/lib/python/Tools/KeyBindings.py b/lib/python/Tools/KeyBindings.py index 00e0b4c..cfd177e 100755 --- a/lib/python/Tools/KeyBindings.py +++ b/lib/python/Tools/KeyBindings.py @@ -4,6 +4,8 @@ keyBindings = { } from keyids import KEYIDS from Components.config import config +deviceName = None + keyDescriptions = [{ KEYIDS["BTN_0"]: ("UP", "fp"), KEYIDS["BTN_1"]: ("DOWN", "fp"), @@ -26,10 +28,10 @@ keyDescriptions = [{ KEYIDS["KEY_TEXT"]: ("TEXT",), KEYIDS["KEY_NEXT"]: ("ARROWRIGHT",), KEYIDS["KEY_PREVIOUS"]: ("ARROWLEFT",), - KEYIDS["KEY_PREVIOUSSONG"]: ("BLUE", "SHIFT"), + KEYIDS["KEY_PREVIOUSSONG"]: ("REWIND",), KEYIDS["KEY_PLAYPAUSE"]: ("PLAYPAUSE",), - KEYIDS["KEY_PLAY"]: ("PLAYPAUSE",), - KEYIDS["KEY_NEXTSONG"]: ("RED", "SHIFT"), + KEYIDS["KEY_PLAY"]: ("PLAY",), + KEYIDS["KEY_NEXTSONG"]: ("FORWARD",), KEYIDS["KEY_CHANNELUP"]: ("BOUQUET+",), KEYIDS["KEY_CHANNELDOWN"]: ("BOUQUET-",), KEYIDS["KEY_0"]: ("0",), @@ -43,9 +45,8 @@ keyDescriptions = [{ KEYIDS["KEY_8"]: ("8",), KEYIDS["KEY_9"]: ("9",), KEYIDS["KEY_EXIT"]: ("EXIT",), - KEYIDS["KEY_STOP"]: ("TV", "SHIFT"), + KEYIDS["KEY_STOP"]: ("STOP",), KEYIDS["KEY_RECORD"]: ("RECORD",), -# ikseong for subtitle hotkey KEYIDS["KEY_SUBTITLE"]: ("SUBTITLE",) }, { @@ -72,7 +73,7 @@ keyDescriptions = [{ KEYIDS["KEY_PREVIOUS"]: ("ARROWLEFT",), KEYIDS["KEY_PREVIOUSSONG"]: ("BLUE", "SHIFT"), KEYIDS["KEY_PLAYPAUSE"]: ("YELLOW", "SHIFT"), - KEYIDS["KEY_PLAY"]: ("GREEN", "SHIFT"), + KEYIDS["KEY_PLAY"]: ("PLAY",), KEYIDS["KEY_NEXTSONG"]: ("RED", "SHIFT"), KEYIDS["KEY_CHANNELUP"]: ("BOUQUET+",), KEYIDS["KEY_CHANNELDOWN"]: ("BOUQUET-",), @@ -88,21 +89,40 @@ keyDescriptions = [{ KEYIDS["KEY_9"]: ("9",), KEYIDS["KEY_EXIT"]: ("EXIT",), KEYIDS["KEY_STOP"]: ("TV", "SHIFT"), -# ikseong -# KEYIDS["KEY_RECORD"]: ("RADIO", "SHIFT"), KEYIDS["KEY_RECORD"]: ("RECORD",), -# ikseong for subtitle hotkey KEYIDS["KEY_SUBTITLE"]: ("SUBTITLE",) } ] +def getRCUName(): + rcu_name = None + f = open("/proc/bus/input/devices") + for line in f: + if line.startswith("N: Name="): + try: + line = line.strip() + name = line.split("=")[1][1:-1] + if name.find("remote control (native)"): + rcu_name = name + except: + rcu_name = None + return rcu_name -def addKeyBinding(domain, key, context, action, flags): - keyBindings.setdefault((context, action), []).append((key, domain, flags)) +def addKeyBinding(domain, key, context, action, flags, device): + keyBindings.setdefault((context, action), []).append((key, domain, flags, device)) # returns a list of (key, flags) for a specified action def queryKeyBinding(context, action): + global deviceName + + if deviceName == None: + deviceName = getRCUName() + + buttons = [] if (context, action) in keyBindings: - return [(x[0], x[2]) for x in keyBindings[(context, action)]] + for x in keyBindings[(context, action)]: + if x[3] == deviceName or x[3] == "generic": + buttons.append((x[0],x[2])) + return buttons else: return [ ]