X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=Keyboard.py;h=f3a8b79b67c9d6ab0201dd735f8009bef8009ea4;hb=6be10909dd3b8ffd5f9c0f069ca745e364834293;hp=4c2a03bf778c588509c0150f767b41966db43ea2;hpb=8aab1c96c67b95d25fb175495894c38f82143cc9;p=audiocontrol.git diff --git a/Keyboard.py b/Keyboard.py index 4c2a03b..f3a8b79 100644 --- a/Keyboard.py +++ b/Keyboard.py @@ -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() @@ -23,7 +24,7 @@ class View(Views.View): keys = bindings.keys() keys.sort() column = 2 - row = 2 + row = 1 for key in keys: keyname = curses.keyname(key.code) if keyname.startswith('KEY_'): @@ -32,11 +33,12 @@ 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 - if row >= self.dy-2: - row = 2 + if row >= self.dy-1: + row = 1 column += self._size+10 if column+self._size+7 >= self.dx : break self.win().vline(1,column-2,curses.ACS_VLINE,self.dy-2) @@ -49,6 +51,8 @@ def register( viewmanager, x, y, dx, - dy ): - viewmanager.registerView( View(context, label, x,y,dx,dy) ) + dy, + size = 9, + ignore_keys = ()): + viewmanager.registerView( View(context, label, x,y,dx,dy,size,ignore_keys) ) dispatcher.registerSource( Source(context, viewmanager.win()) )