Audio/AudioControl: Lots of fixes
[audiocontrol.git] / Keyboard.py
index 3f1ff24..f3a8b79 100644 (file)
@@ -13,9 +13,10 @@ class Source(Events.EventSource):
 
 class View(Views.View):
 
-    def __init__(self, context, label, x, y, dx, dy, size=9):
-        Views.View.__init__(self, context, label, x, y, dx, dy)
+    def __init__(self, context, label, x, y, dx, dy, size=9, ignore_keys = ()):
+        Views.View.__init__(self, context, label, x, y, dx, dy )
         self._size = size
+        self._ignore_keys = ignore_keys
 
     def updateView(self, bindings):
         self.win().clear()
@@ -32,6 +33,7 @@ class View(Views.View):
                 keyname = '%sC-%s' % (keyname[:-2],keyname[-1:].lower())
             if curses.ascii.isupper(ord(keyname[-1:])):
                 keyname = '%sS-%s' % (keyname[:-1],keyname[-1:].lower())
+            if keyname in self._ignore_keys : continue
             self.win().addstr(row, column, '%-6s %s'
                               % (keyname, bindings[key].label[:self._size]))
             row += 1
@@ -50,6 +52,7 @@ def register( viewmanager,
               y,
               dx,
               dy,
-              size=9):
-    viewmanager.registerView( View(context, label, x,y,dx,dy,size) )
+              size = 9,
+              ignore_keys = ()):
+    viewmanager.registerView( View(context, label, x,y,dx,dy,size,ignore_keys) )
     dispatcher.registerSource( Source(context, viewmanager.win()) )