@type key_set: list of integer
@param mask: Integer modifier mask or an iterable over multiple masks to
unapply all at once
- @type mask: integer or iterable
+ @type mask: integer, iterable, or None
@param kind: Kind of events to monitor
@type kind: integer
'''
@type key_set: list of integer
@param mask: Integer modifier mask or an iterable over multiple masks to
unapply all at once
- @type mask: integer or iterable
+ @type mask: integer, iterable, or None
@param kind: Kind of events to monitor
@type kind: integer
'''
iter(mask)
except TypeError:
# unregister a single integer if not
- dc.deregisterKeystrokeListener(self._this(), key_set, mask, kind,
- self.mode)
+ dc.deregisterKeystrokeListener(self._this(), key_set, mask, kind)
else:
for m in mask:
- dc.deregisterKeystrokeListener(self._this(), key_set, m, kind,
- self.mode)
+ dc.deregisterKeystrokeListener(self._this(), key_set, m, kind)
def queryInterface(self, repo_id):
'''
the mask are held. When the mask is an iterable over more than one
integer, keys in the key_set will be monitored when any of the modifier
combinations in the set are held.
- @type mask: integer
+ @type mask: integer, iterable, None
@param kind: Kind of events to watch, KEY_PRESSED_EVENT or
KEY_RELEASED_EVENT.
@type kind: list
# store the observer to client mapping, and the inverse
self.clients[ob] = client
self.clients[client] = ob
+ if mask is None:
+ # None means all modifier combinations
+ mask = utils.allModifiers()
# register for new keystrokes on the observer
ob.register(self.dev, key_set, mask, kind)
the mask are held. When the mask is an iterable over more than one
integer, keys in the key_set will be monitored when any of the modifier
combinations in the set are held.
- @type mask: integer
+ @type mask: integer, iterable, None
@param kind: Kind of events to stop watching, KEY_PRESSED_EVENT or
KEY_RELEASED_EVENT.
@type kind: list
'''
# see if we already have an observer for this client
ob = self.clients[client]
+ if mask is None:
+ # None means all modifier combinations
+ mask = utils.allModifiers()
# register for new keystrokes on the observer
ob.unregister(self.dev, key_set, mask, kind)
ob = self.observers[et.name]
ob.clientUnref()
if ob.getClientRefCount() == 0:
- ob.unregister(self.registry, name)
+ ob.unregister(self.reg, name)
del self.observers[et.name]