diff options
Diffstat (limited to 'lib/python/Components/ActionMap.py')
| -rw-r--r-- | lib/python/Components/ActionMap.py | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/lib/python/Components/ActionMap.py b/lib/python/Components/ActionMap.py new file mode 100644 index 00000000..2588421c --- /dev/null +++ b/lib/python/Components/ActionMap.py @@ -0,0 +1,25 @@ +from enigma import * + +class ActionMap: + def __init__(self, contexts = [ ], actions = { }, prio=0): + self.actions = actions + self.contexts = contexts + self.prio = prio + self.p = eActionMapPtr() + eActionMap.getInstance(self.p) + + def execBegin(self): + for ctx in self.contexts: + self.p.bindAction(ctx, self.prio, self.action) + + def execEnd(self): + for ctx in self.contexts: + self.p.unbindAction(ctx, self.action) + + def action(self, context, action): + print " ".join(("action -> ", context, action)) + if self.actions.has_key(action): + self.actions[action]() + else: + print "unknown action %s/%s! typo in keymap?" % (context, action) + |
