def run(self): print('Monitor on') if self.keyboardListener is None: self.keyboardListener = xinterface.Interface(self.key_press) self.keyboardListener.start() while self.work: try: new_event = self.cola.get(True, self.elapsed_time) if new_event.eventtype in [KEY_PRESSED, KEY_RELEASED]: if self.last_event is None or \ (self.last_event.eventtype == KEY_RELEASED and new_event.eventtype == KEY_PRESSED) or\ (self.last_event.instant + self.elapsed_time < new_event.instant): if self.keyboardListener is not None: if new_event.eventtype == KEY_PRESSED: self.emit('key_pressed') elif new_event.eventtype == KEY_RELEASED: self.emit('key_released') self.last_event = new_event except queue.Empty: if self.last_event is None or\ self.last_event.eventtype == KEY_RELEASED: self.cola.put_nowait(KeyEvent(KEY_NONE)) else: self.cola.put_nowait(KeyEvent(KEY_RELEASED))
def set_on(self, on): self.on = on if on is True: print('Monitor on') if self.keyboardListener is None: self.keyboardListener = xinterface.Interface(self.key_press) self.keyboardListener.start() else: self.keyboardListener.stop() self.keyboardListener = None self.keyboardListener = xinterface.Interface(self.key_press) self.keyboardListener.start() else: print('Monitor off') if self.keyboardListener is not None: self.keyboardListener.stop() self.keyboardListener = None
def main(): shared.service = service.Service() shared.interface = xinterface.Interface() shared.cmanager = manager.Config() shared.pmanager = manager.Phrases() shared.service.start() shared.interface.start() shared.service.grab_hotkeys() Indicator()
def __init__(self, elapsed_time): Thread.__init__(self) GObject.GObject.__init__(self) self.daemon = True self.keyboardListener = xinterface.Interface(self.key_press) self.elapsed_time = elapsed_time / 1000.0 self.cola = queue.Queue() self.last_event = None self.work = True self.on = False