def check_input(self): for event in pygame.event.get(): if event.type == pygame.QUIT: self.quit() elif event.type == pygame.KEYDOWN: if event.key == pygame.K_ESCAPE: self.quit() elif event.key == pygame.K_0: if self.loc == 'lab': self.daq.set_volts_zero() elif self.loc == 'scanner': self.scanner_daq.set_volts_zero() elif event.key == pygame.K_m: if self.input_mode == 'mouse': self.input_mode = 'sensor' elif self.input_mode == 'sensor': self.input_mode = 'mouse' elif event.key == pygame.K_d: self.debug_bool = not self.debug_bool elif event.key == pygame.K_s: self.nfb_info_bool = not self.nfb_info_bool elif event.key == pygame.K_SPACE: self.run_type = 's_p' gr.reset_for_next_run(self) self.run_mode = 'trials' elif event.key == pygame.K_7: self.run_mode = 'mvc' elif event.key == pygame.K_8: gn.set_mode('loc', self.SERVER_TARGET) self.run_type = 'loc' self.next_run_msg = 'Ready for Localizer' elif event.key == pygame.K_9: gn.set_mode('nfb', self.SERVER_TARGET) self.run_type = 'nfb' self.next_run_msg = ('Ready for Run ' + str(game.nfb_run_count + 1) + ' of 4') elif event.key == pygame.K_5: if ((self.run_type == 'loc' or self.run_type == 'nfb') and self.run_mode == 'idle'): self.run_mode = 'trials' self.next_run_msg = '' gr.reset_for_next_run(self) # control of insta_server elif event.key == pygame.K_g: gn.set_mode('idle', self.SERVER_TARGET) elif event.key == pygame.K_h: gn.set_mode('rai', self.SERVER_TARGET) elif event.key == pygame.K_j: gn.set_mode('rfi', self.SERVER_TARGET) elif event.key == pygame.K_k: gn.set_mode('loc', self.SERVER_TARGET) elif event.key == pygame.K_l: gn.set_mode('nfb', self.SERVER_TARGET)
def check_input(self): for event in pygame.event.get(): if event.type == pygame.QUIT: self.quit() elif event.type == pygame.KEYDOWN: if event.key == pygame.K_ESCAPE: self.quit() elif event.key == pygame.K_0: self.daq.set_volts_zero() elif event.key == pygame.K_m: if self.input_mode == 'keyboard': self.input_mode = 'sensor' elif self.input_mode == 'sensor': self.input_mode = 'keyboard' elif event.key == pygame.K_n: self.show_keyboard = not(self.show_keyboard) elif ((event.key == pygame.K_SPACE or event.key == pygame.K_5) and not(self.run_trials)): self.run_trials = True if SENSOR_ACTIVE: self.daq.set_digital_out(1) gr.reset_for_next_run(game) elif event.key == pygame.K_p: self.run_trials = False elif event.key == pygame.K_d: self.debug_bool = not(self.debug_bool) elif event.key == pygame.K_LEFT: self.set_run('debug') elif event.key == pygame.K_RIGHT: self.set_run('test') elif event.key == pygame.K_UP: self.set_run('train') elif event.key == pygame.K_DOWN: self.set_run('scan') if self.input_mode == 'keyboard': if event.key == self.key_codes[0]: self.keydown[0] = True elif event.key == self.key_codes[1]: self.keydown[1] = True elif event.key == self.key_codes[2]: self.keydown[2] = True elif event.key == self.key_codes[3]: self.keydown[3] = True elif event.key == self.key_codes[4]: self.keydown[4] = True elif event.type == pygame.KEYUP: if self.input_mode == 'keyboard': if event.key == self.key_codes[0]: self.keydown[0] = False elif event.key == self.key_codes[1]: self.keydown[1] = False elif event.key == self.key_codes[2]: self.keydown[2] = False elif event.key == self.key_codes[3]: self.keydown[3] = False elif event.key == self.key_codes[4]: self.keydown[4] = False if self.input_mode == 'sensor': self.force_array[:] = self.daq.get_force() self.keydown[:] = self.force_array > self.KEYPRESS_FORCE self.keepunder[:] = self.force_array < self.KEEP_UNDER_FORCE
def check_input(self): for event in pygame.event.get(): if event.type == pygame.QUIT: self.quit() elif event.type == pygame.KEYDOWN: if event.key == pygame.K_ESCAPE: self.quit() elif ((event.key == pygame.K_SPACE or event.key == pygame.K_5) and not(self.run_trials)): self.run_trials = True gr.reset_for_next_run(game) elif event.key == pygame.K_p: self.run_trials = False elif event.key == pygame.K_q: if not(SENSOR_ACTIVE): self.force_array[0] = self.PRESS_FORCE_THRESHOLD elif event.key == pygame.K_w: if not(SENSOR_ACTIVE): self.force_array[1] = self.PRESS_FORCE_THRESHOLD elif event.key == pygame.K_e: if not(SENSOR_ACTIVE): self.force_array[2] = self.PRESS_FORCE_THRESHOLD elif event.key == pygame.K_r: if not(SENSOR_ACTIVE): self.force_array[3] = self.PRESS_FORCE_THRESHOLD elif event.key == pygame.K_m: self.show_thermometer_keyboard_bool = not( self.show_thermometer_keyboard_bool) elif event.key == pygame.K_LEFT: self.set_run('debug') elif event.key == pygame.K_RIGHT: self.set_run('test') elif event.key == pygame.K_UP: self.set_run('train') elif event.key == pygame.K_DOWN: self.set_run('scan') elif event.type == pygame.KEYUP: if event.key == pygame.K_q: if not(SENSOR_ACTIVE): self.force_array[0] = self.MIN_KEY_FORCE elif event.key == pygame.K_w: if not(SENSOR_ACTIVE): self.force_array[1] = self.MIN_KEY_FORCE elif event.key == pygame.K_e: if not(SENSOR_ACTIVE): self.force_array[2] = self.MIN_KEY_FORCE elif event.key == pygame.K_r: if not(SENSOR_ACTIVE): self.force_array[3] = self.MIN_KEY_FORCE if SENSOR_ACTIVE: self.check_keys()
def check_input(self): for event in pygame.event.get(): if event.type == pygame.QUIT: self.quit() elif event.type == pygame.KEYDOWN: if event.key == pygame.K_ESCAPE: self.quit() elif event.key == pygame.K_m: if self.input_mode == 'keyboard': self.input_mode = 'sensor' elif self.input_mode == 'sensor': self.input_mode = 'keyboard' elif event.key == pygame.K_n: self.show_keyboard = not(self.show_keyboard) elif ((event.key == pygame.K_SPACE or event.key == pygame.K_5) and not(self.run_trials)): self.run_trials = True gr.reset_for_next_run(game) elif event.key == pygame.K_p: self.run_trials = False elif event.key == pygame.K_d: self.debug_bool = not(self.debug_bool) elif event.key == pygame.K_LEFT: self.set_run('debug') elif event.key == pygame.K_RIGHT: self.set_run('test') elif event.key == pygame.K_UP: self.set_run('train') elif event.key == pygame.K_DOWN: self.set_run('scan') if self.input_mode == 'keyboard': if event.key == self.key_codes[0]: self.keydown[0] = True elif event.key == self.key_codes[1]: self.keydown[1] = True elif event.key == self.key_codes[2]: self.keydown[2] = True elif event.key == self.key_codes[3]: self.keydown[3] = True elif event.key == self.key_codes[4]: self.keydown[4] = True elif event.type == pygame.KEYUP: if self.input_mode == 'keyboard': if event.key == self.key_codes[0]: self.keydown[0] = False elif event.key == self.key_codes[1]: self.keydown[1] = False elif event.key == self.key_codes[2]: self.keydown[2] = False elif event.key == self.key_codes[3]: self.keydown[3] = False elif event.key == self.key_codes[4]: self.keydown[4] = False if self.input_mode == 'sensor': # add sensor logic here # - keypress recognized if force > 2.5N in one finger # and less than 2.2N in rest of fingers pass