예제 #1
0
 def _flushEvts(self):
     ptb.WaitSecs('YieldSecs', 0.00001)
     while self.dev.flush():
         evt, remaining = self.dev.queue_get_event()
         key = {}
         key['keycode'] = int(evt['Keycode'])
         key['down'] = bool(evt['Pressed'])
         key['time'] = evt['Time']
         self._evts.append(key)
예제 #2
0
def run():

    dev = kbDevices[0]
    # KbQueueTest
    ptb.WaitSecs('YieldSecs', 1)
    keyboard = hid.Keyboard(dev['index'])

    # keyboard.queue_create(num_slots=10000)  # done implicitly but can redo

    # keyboard.start_trapping() # stops keys going to stdout but sketchy!

    keyboard.queue_start()
    t0 = ptb.GetSecs()
    while ptb.GetSecs() < t0+5:
        ptb.WaitSecs('YieldSecs', 0.00001)
        if keyboard.flush():
            evt = keyboard.queue_get_event()
            print(evt)
    keyboard.queue_stop()
예제 #3
0
 def _flushEvts(self):
     # SS: sleep is only needed on Windows, but test further before
     # committing to this.
     #if sys.platform == 'win32':
     ptb.WaitSecs('YieldSecs', 0.00001)
     while self.dev.flush():
         evt, remaining = self.dev.queue_get_event()
         key = {}
         key['keycode'] = int(evt['Keycode'])
         key['down'] = bool(evt['Pressed'])
         key['time'] = evt['Time']
         self._evts.append(key)