示例#1
0
    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.")
示例#2
0
 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()
示例#3
0
文件: phone.py 项目: safl/hue
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
示例#4
0
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()
示例#5
0
文件: ui.py 项目: NeoIm/killsp
 def run(self):
     listener = KeyListener()
     listener.start()