def run(self): """Thread loop""" log.info('Waiting %ds...' % self.start_interval) time.sleep(self.start_interval) log.info('Starting playlist') if settings.inputlistener and KeyListener.device_available: background = KeyListener(self) background.start() while (app.running): log.debug("Current playlist: %s" % self.playlist) self.index = 0 self.size = len(self.playlist['screens']) while (self.index < self.size): # reset shared data try: server_item = beacon.queue.get_nowait() log.debug("Current server item: %s" % server_item) stay = self.handle_item(server_item) beacon.queue.task_done() if not stay: log.debug("Exiting loop") break except Empty: pass item = self.playlist['screens'][self.index] log.debug("Current item: %s" % self.index) if app.running: # state may have changed self.handle_item(item) self.index += 1 log.info("Exiting player thread.")
def launch_keylisten_thread(self): """ Launch a KeyListener thread to get key presses in the command line """ self.keylisten_thread = KeyListener(self.on_key_press) self.keylisten_thread.setDaemon(True) self.logger.info("starting keylistener") self.keylisten_thread.start()
def main(): bridge = "192.168.1.3" username = "******" # Mapping a numbering to whatever numerical # id the bridge has given to bulbs/lights. bulb2hue = {1: 10, 2: 12, 3: 11, 4: 9, 5: 7, 6: 8} # Mapping the numerical keys to keycodes keys = { "7": 74, "8": 78, "9": 96, "4": 73, "5": 77, "6": 81, "1": 72, "2": 76, "3": 80, "0": 71, "*": 75, "#": 79, } # Keyboard device dev = "/dev/input/by-id/usb-GASIA_USB_KB_V11-event-kbd" b = Bridge(bridge, username) # Construct Bridge object l = KeyListener(dev) # Contruct keyboard listener # Register callbacks l.register_keyPress(keys["0"], lambda event: b.toggle()) l.register_keyPress(keys["1"], lambda event: b.toggle(bulb2hue[1])) l.register_keyPress(keys["2"], lambda event: b.toggle(bulb2hue[2])) l.register_keyPress(keys["3"], lambda event: b.toggle(bulb2hue[3])) l.register_keyPress(keys["4"], lambda event: b.toggle(bulb2hue[4])) l.register_keyPress(keys["5"], lambda event: b.toggle(bulb2hue[5])) l.register_keyPress(keys["6"], lambda event: b.toggle(bulb2hue[6])) #l.register_keyPress(keys["6"], lambda event: b.set_state(states["Energize"])) l.register_keyPress(keys["7"], lambda event: b.set_state(states["Concentrate"])) l.register_keyPress(keys["8"], lambda event: b.set_state(states["Reading"])) l.register_keyPress(keys["9"], lambda event: b.set_state(states["Relax"])) l.register_keyPress( keys["*"], lambda event: b.set_bri({k: v - 51 for (k, v) in b.get_bri().items()})) l.register_keyPress( keys["#"], lambda event: b.set_bri({k: v + 51 for (k, v) in b.get_bri().items()})) l.listen() # Listen for events
from keylistener import KeyListener from sqliterecorder import SQLiteRecorder listener = KeyListener() recorder = SQLiteRecorder() listener.set_recorder(lambda x : recorder.record(x)) listener.setup() i = "" while i != "stop": i = raw_input()
def run(self): listener = KeyListener() listener.start()