示例#1
0
    def run(self):
        events = XEvents()
        events.start()
        while not events.listening():
            # Wait for init
            time.sleep(1)

        try:
            while events.listening():
                evt = events.next_event()
                if not evt:
                    time.sleep(0.5)
                    continue

                if evt.type != "EV_MOV" and  # Only track key movement or
                    (evt.type != "EV_KEY" or evt.value != 1): # Only count key down, not up.
                    continue

                if evt.type == "EV_MOV":
                    self.thishour_distance += distance(evt.value, self.lastmove)
                    self.lastmove = evt.value
                
                if evt.type == "EV_KEY":
                    self.thishour_count+=1
            
                if time.time() > self.nextsave:
                    self.save()
            
                    if datetime.now().hour != self.thishour.hour:
                        self.set_thishour()
            
        except KeyboardInterrupt:
            events.stop_listening()
            self.save()
示例#2
0
    def run(self):
        events = XEvents()
        events.start()
        while not events.listening():
            # Wait for init
            time.sleep(1)

        try:
            while events.listening():
                evt = events.next_event()
                if not evt:
                    time.sleep(0.5)
                    continue

                if evt.type != "EV_KEY" or evt.value != 1:  # Only count key down, not up.
                    continue

                self.thishour_count += 1

                if time.time() > self.nextsave:
                    self.save()

        except KeyboardInterrupt:
            events.stop_listening()
            self.save()

        except:
            print "Caught exception, probably not connected to the interwebs..."
示例#3
0
 def run(self):
     self.events = XEvents()
     event_ready = threading.Event()
     self.events.set_event(event_ready)
     self.events.start()
     while not self.events.listening():
         # Wait for init
         time.sleep(1)
     try:
         while True:
             self.event_handler()
             event_ready.clear()
             event_ready.wait()
     except KeyboardInterrupt:
         self.events.stop_listening()
         self.save()
示例#4
0
    def run(self):
        events = XEvents()
        events.start()

        lastkeyat = time.time()
        
        while not events.listening():
            # Wait for init
            time.sleep(1)

        try:
            while events.listening():
                evt = events.next_event()

                if time.time() - lastkeyat > 0.75 and self.muted:
                    self.togglemute()
                    self.muted = False

                if not evt:
                    time.sleep(0.5)
                    continue
                
                if evt.type != "EV_KEY" or evt.value != 1: # Only count key down, not up.
                    continue

                if not self.muted and not "BTN_" in evt.code:
                    self.togglemute()
                    self.muted = True
                    
                lastkeyat = time.time()
                    
                self.thishour_count+=1
            
                if time.time() > self.nextsave:
                    self.save()
            
                    if datetime.now().hour != self.thishour.hour:
                        self.set_thishour()
            
        except KeyboardInterrupt:
            events.stop_listening()
            self.save()