def __init__(self, bufferSize, kb_id): self.bufferSize = bufferSize self._evts = deque() # create the PTB keyboard object and corresponding queue allInds, names, keyboards = hid.get_keyboard_indices() self._keys = deque() self._keysStillDown = deque() if kb_id == -1: self.dev = hid.Keyboard() # a PTB keyboard object else: self.dev = hid.Keyboard(kb_id) # a PTB keyboard object self.dev._create_queue(bufferSize)
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()