def process_event(self, event): # Do the key handling for this Frame. if isinstance(event, KeyboardEvent): print(event.key_code, Screen.ctrl(event.key_code)) if event.key_code in [Screen.ctrl("c")]: raise StopApplication("User quit") if event.key_code == KEY_C: self.mandelbrot.reset_coords() if event.key_code == KEY_MINUS: self.mandelbrot.zoom(1.5) if event.key_code == KEY_PLUS: self.mandelbrot.zoom(-1.5) if event.key_code in KEY_VECTORS.keys(): self.mandelbrot.direction(KEY_VECTORS[event.key_code]) self.mandelbrot.set_dim_from_termsize() self.mandelbrot.generate_mandelbrot() self.update_status() elif isinstance(event, MouseEvent): pass # Now pass on to lower levels for normal handling of the event. return super(Mandel, self).process_event(event)
def process_event(self, event): # Look for events that will close the pop-up - e.g. clicking outside the Frame or Enter key. cancelled = False if event is not None: if isinstance(event, KeyboardEvent): if event.key_code in [Screen.ctrl("M"), Screen.ctrl("J"), ord(" ")]: event = None elif event.key_code == Screen.KEY_ESCAPE: event = None cancelled = True elif isinstance(event, MouseEvent) and event.buttons != 0: origin = self._canvas.origin if event.y < origin[1] or event.y >= origin[1] + self._canvas.height: event = None elif event.x < origin[0] or event.x >= origin[0] + self._canvas.width: event = None # Remove this pop-up if we're done; otherwise bubble up the event. if event is None: try: self.close(cancelled) except InvalidFields: # Nothing to do as we've already prevented the Effect from being removed. pass return super(_TempPopup, self).process_event(event)
def process_event(self, event: Optional[Event]) -> Optional[Event]: """Process either a keyboard or a mouse event. If the user pressed enter/space or double clicked on the widget, a popup will be shown to allow the user the make a selection among current options. Args: event: the event to be handled. Returns: The handled event, in case somebody else needs it. """ if event is not None: if isinstance(event, KeyboardEvent): if event.key_code in [ Screen.ctrl("M"), Screen.ctrl("J"), ord(" ") ]: event = None elif isinstance(event, MouseEvent): if event.buttons != 0: if self.is_mouse_over(event, include_label=False): event = None if event is None: self._child = FileBrowserDropdownPopup(self) self.frame.scene.add_effect(self._child) return event
def process_event(self, event): if isinstance(event, KeyboardEvent): if event.key_code == Screen.KEY_ESCAPE: self._cancel_button_click() elif event.key_code == Screen.ctrl("n"): self._next_button_click() elif event.key_code == Screen.ctrl("b"): self._back_button_click() return super(WizardFrame, self).process_event(event)
def global_shortcuts(event): if isinstance(event, KeyboardEvent): key = event.key_code if key == Screen.KEY_F1: raise NextScene("Main") elif key == Screen.KEY_F2: raise NextScene("Commits") elif key == Screen.KEY_F3: raise NextScene("Working Copy") elif key == Screen.ctrl("a"): raise NextScene("Shortcuts") elif key == Screen.ctrl("x"): raise StopApplication("User terminated app")
def process_event(self, event: Union[MouseEvent, KeyboardEvent]) -> None: """Process either a mouse or a keyboard event. Args: event : The event that triggered the function. """ if isinstance(event, KeyboardEvent): if event.key_code == Screen.ctrl("n"): self.move_next() elif event.key_code == Screen.ctrl( "b") and self.previous_form is not None: self.move_back() Frame.process_event(self, event)
def process_event(self, event): if event is not None: if isinstance(event, KeyboardEvent): if event.key_code in [Screen.ctrl("M"), Screen.ctrl("J"), ord(" ")]: event = None elif isinstance(event, MouseEvent): if event.buttons != 0: if self.is_mouse_over(event, include_label=False): event = None if event is None: self._child = _DropdownPopup(self) self.frame.scene.add_effect(self._child) return event
def process_event(self, event: Event) -> Optional[Event]: if isinstance(event, KeyboardEvent): if event.key_code == Screen.KEY_UP and self._selection > 0: self._selection -= 1 return None elif event.key_code == Screen.KEY_DOWN and self._selection < len(self._options) - 1: self._selection += 1 return None elif event.key_code in [Screen.ctrl("M"), Screen.ctrl("J"), ord(" ")]: self._value = self._options[self._selection][1] return None return event else: return RadioButtons.process_event(self, event)
def process_event(self, event): # Allow standard event processing first if super(PomodoroController, self).process_event(event) is None: return # check for my key handlers if isinstance(event, KeyboardEvent): key = event.key_code if key == Screen.ctrl("c"): raise StopApplication("User quit") elif key == config.keys['start_stop_timer']: if timer.is_running(): timer.stop() else: timer.start() elif key == ord(config.keys['reset_timer']): timer.reset() elif key == ord(config.keys['time_pomodoro']): timer.set_total_time(config.time['pomodoro']['m']) timer.reset() timer.start() elif key == ord(config.keys['time_short_break']): timer.set_total_time(config.time['short_break']['m']) timer.reset() timer.start() elif key == ord(config.keys['time_long_break']): timer.set_total_time(config.time['long_break']['m']) timer.reset() timer.start() elif key == ord(config.keys['show_hide_instructions']): self._toggle_instructions_visibility() else: return event
def process_event(self, event): # Key handling for the demo. if isinstance(event, KeyboardEvent): if event.key_code in [ord('q'), ord('Q'), Screen.ctrl("c")]: raise StopApplication("User quit") elif event.key_code == ord("+") and self._zoom <= 20: if self._desired_zoom < 20: self._desired_zoom += 1 elif event.key_code == ord("-") and self._zoom >= 0: if self._desired_zoom > 0: self._desired_zoom -= 1 elif event.key_code == ord("0"): self._desired_zoom = 0 elif event.key_code == ord("9"): self._desired_zoom = 20 elif event.key_code == Screen.KEY_LEFT: self._desired_longitude -= 360 / 2 ** self._zoom / self._size * 10 elif event.key_code == Screen.KEY_RIGHT: self._desired_longitude += 360 / 2 ** self._zoom / self._size * 10 elif event.key_code == Screen.KEY_UP: self._desired_latitude = self._inc_lat(self._desired_latitude, -self._size / 10) elif event.key_code == Screen.KEY_DOWN: self._desired_latitude = self._inc_lat(self._desired_latitude, self._size / 10) else: return # Trigger a reload of the tiles and redraw map self._updated.set() self._screen.force_update()
def process_event(self, event): # Do the key handling for this Frame. if isinstance(event, KeyboardEvent): if event.key_code in [ord('p'), ord('P')]: raise NextScene("Players") if event.key_code in [ord('q'), ord('Q'), Screen.ctrl("c")]: raise NextScene("Main")
def process_event(self, event): # Do the key handling for this Frame. if isinstance(event, KeyboardEvent) and not self.__searching: if self.__scene_keybinds: for keybind, scene in self.__scene_keybinds.items(): if event.key_code in [ ord(keybind.lower()), ord(keybind.upper()) ]: raise NextScene(scene) if event.key_code in [ord('q'), ord('Q'), Screen.ctrl('c')]: raise StopApplication("User quit") elif event.key_code in [ord('a'), ord('A')]: self._add() elif event.key_code in [ord('e'), ord('E')]: self._edit() elif event.key_code in [ord('d'), ord('D')]: self._delete() elif event.key_code in [ord("r"), ord("R")]: self.__reverse_sort = not self.__reverse_sort self._reload_list() elif event.key_code == ord("<"): self.__sort_index = max(0, self.__sort_index - 1) self._reload_list() elif event.key_code == ord(">"): self.__sort_index = min( self.table.get_num_columns() + len(self.table.runtime_columns) - 1, self.__sort_index + 1) self._reload_list() # Now pass on to lower levels for normal handling of the event. return super().process_event(event)
def process_event(self, event): # Do the key handling for this Frame. if isinstance(event, KeyboardEvent): if event.key_code in [ord('q'), ord('Q'), Screen.ctrl("c")]: self._quit() elif event.key_code in [ord("r"), ord("R")]: # st = self.battle.battlescreen._disp_statline() # 2 lines # ar = self.battle.battlescreen._disp_armies() # 18 lines # co = self.battle.battlescreen._disp_console() # 3 lines # fo = self.battle.battlescreen._disp_footerline("") # 1 line # assert len(st + ar + co) == self.battle.battlescreen.max_screen_len - 1 # for y, l in enumerate(st + ar + co): # self._scene.add_effect(Print(self._screen, # StaticRenderer(images=[self._render(l)]), x=0, y=y, colour=7)) # Force a refresh for improved responsiveness self.statline.value = [ self._prerender(l) for l in self.battle.battlescreen._disp_statline() ] self.armystats.value = [ self._prerender(l) for l in self.battle.battlescreen._disp_armies() ] self.console.value = [ self._prerender(l) for l in self.battle.battlescreen._disp_console() ] self._last_frame = 0 # Now pass on to lower levels for normal handling of the event. return super().process_event(event)
def process_event(self, event): # Do the key handling for this Frame. if isinstance(event, KeyboardEvent): if event.key_code in [ord('r'), ord('R')]: self._toggle_answer() if event.key_code in [ord('b'), ord('B')]: Clue.allow_buzzer() if event.key_code in [ord('y'), ord('Y')]: self.clue.text = "" self.question.text = "" self.add_points() Player.clear_buzzed_players() Clue.disallow_buzzer() raise NextScene("Main") if event.key_code in [ord('n'), ord('N')]: self.clue.text = "" self.question.text = "" self.remove_points() Player.clear_buzzed_players() Clue.disallow_buzzer() raise NextScene("Main") if event.key_code in [ord('p'), ord('P')]: raise NextScene("Clue") if event.key_code in [ord('q'), ord('Q'), Screen.ctrl("c")]: self.clue.text = "" self.question.text = "" raise NextScene("Main") # Now pass on to lower levels for normal handling of the event. return super(ClueFrame, self).process_event(event)
def process_event(self, event): # Do the key handling for this Frame. if isinstance(event, KeyboardEvent): if event.key_code >= 0 and event.key_code <= 255: self.cmd_string = self.cmd_string + chr(event.key_code) # print(f"{self.cmd_string}") if event.key_code in [ord("q"), ord("Q"), Screen.ctrl("c")]: self.cmd_string = "" console_mode.quickedit(1) raise StopApplication("User quit") elif self.cmd_string.lower() == "login": self.cmd_string = "" self.sf_login() elif event.key_code in (ord("\n"), ord("\r")): self.cmd_string = "" if self.focussed_widget.name == "radio": self.get_org_details() elif isinstance(event, MouseEvent): # MouseEvent !!! print("MouseEvent") return super(org_list_frame, self).process_event(event)
def process_event(self, event): # Do the key handling for this Frame. if isinstance(event, KeyboardEvent): if event.key_code in [ord('q'), ord('Q'), Screen.ctrl("c")]: raise StopApplication("User quit") # Now pass on to lower levels for normal handling of the event. return super(DemoFrame, self).process_event(event)
def process_event(self, event): if isinstance(event, KeyboardEvent): if event.key_code in [ord('q'), ord('Q'), Screen.ctrl('c')]: raise StopApplication("User quit") else: return event else: return event
def process_event(self, event): if event is not None: # Handle key or mouse selection events - e.g. click on widget or Enter. if isinstance(event, KeyboardEvent): if event.key_code in [Screen.ctrl("M"), Screen.ctrl("J"), ord(" ")]: event = None elif isinstance(event, MouseEvent): if event.buttons != 0: if self.is_mouse_over(event, include_label=False): event = None # Create the pop-up if needed if event is None: self._child = _TimePickerPopup(self) self.frame.scene.add_effect(self._child) return event
def test_ctrl(self): """ Check that ctrl returns the right values. """ # Check standard alphabetical range for i, char in enumerate(range(ord('@'), ord('Z'))): self.assertEqual(Screen.ctrl(char), i) self.assertEqual(Screen.ctrl(chr(char)), i) self.assertEqual(Screen.ctrl(chr(char).lower()), i) # Check last few options - which mostly aren't actually returned in # Linux and so probably only of limited value, but what the heck! for i, char in enumerate(["[", "\\", "]", "^", "_"]): self.assertEqual(Screen.ctrl(char), i + 27) # Check other things return None - pick boundaries for checks. for char in ["?", "`", "\x7f"]: self.assertIsNone(Screen.ctrl(char))
def process_event(self, event): # Do the key handling for this Frame. if isinstance(event, KeyboardEvent): DEL_KEY = -102 if event.key_code in [ord('q'), ord('Q'), Screen.ctrl("c")]: raise StopApplication("User quit") if event.key_code == DEL_KEY: self.prompt_delete() # Now pass on to lower levels for normal handling of the event. return super().process_event(event)
def process_event(self, event): """User input for the main map view.""" if not isinstance(event, KeyboardEvent): return if event.key_code in [Screen.ctrl("m"), Screen.ctrl("j")]: self._scene.add_effect( EnterLocation(self._screen, self._longitude, self._latitude, self._on_new_location)) elif event.key_code in [ord('q'), ord('Q'), Screen.ctrl("c")]: raise StopApplication("User quit") elif event.key_code in [ord('t'), ord('T')]: self._satellite = not self._satellite if self._satellite: self._size = _START_SIZE elif event.key_code == ord("?"): self._scene.add_effect(PopUpDialog(self._screen, _HELP, ["OK"])) elif event.key_code == ord("+") and self._zoom <= 20: if self._desired_zoom < 20: self._desired_zoom += 1 elif event.key_code == ord("-") and self._zoom >= 0: if self._desired_zoom > 0: self._desired_zoom -= 1 elif event.key_code == ord("0"): self._desired_zoom = 0 elif event.key_code == ord("9"): self._desired_zoom = 20 elif event.key_code == Screen.KEY_LEFT: self._desired_longitude -= 360 / 2**self._zoom / self._size * 10 elif event.key_code == Screen.KEY_RIGHT: self._desired_longitude += 360 / 2**self._zoom / self._size * 10 elif event.key_code == Screen.KEY_UP: self._desired_latitude = self._inc_lat(self._desired_latitude, -self._size / 10) elif event.key_code == Screen.KEY_DOWN: self._desired_latitude = self._inc_lat(self._desired_latitude, self._size / 10) else: return # Trigger a reload of the tiles and redraw map self._updated.set() self._screen.force_update()
def process_event(self, event): # Do the key handling for this Frame. if isinstance(event, KeyboardEvent): if event.key_code in [ord('q'), ord('Q'), Screen.ctrl("c")]: rospy.signal_shutdown('user key exit') raise StopApplication("User quit") if event.key_code in [ord('r'), ord('R')]: self.update_lists() # Now pass on to lower levels for normal handling of the event. return super(TopicFrame, self).process_event(event)
def process_event(self, event): if isinstance(event, KeyboardEvent): if self.__scene_keybinds: for keybind, scene in self.__scene_keybinds.items(): if event.key_code in [ ord(keybind.lower()), ord(keybind.upper()) ]: raise NextScene(scene) if event.key_code in [ord('q'), ord('Q'), Screen.ctrl("c")]: raise StopApplication("User quit") return super(GraphFrame, self).process_event(event)
def process_event(self, event): # Do the key handling for this Frame. if isinstance(event, KeyboardEvent): if event.key_code in [ord('q'), ord('Q'), Screen.ctrl("c")]: raise StopApplication("User quit") elif event.key_code in [ord("r"), ord("R")]: self._reverse = not self._reverse # Force a refresh for improved responsiveness self._last_frame = 0 # Now pass on to lower levels for normal handling of the event. return super(PlotJobFrame, self).process_event(event)
def process_event(self, event): # Do the key handling for this Frame. if isinstance(event, KeyboardEvent): if event.key_code in [ord('q'), ord('Q'), Screen.ctrl("c")]: raise StopApplication("User quit") if event.key_code in [ord('a'), ord('A')]: self._attach() if event.key_code in [ord('d'), ord('D')]: self._delete() if event.key_code in [ord('n'), ord('N')]: self._new() # Now pass on to lower levels for normal handling of the event. return super(ListView, self).process_event(event)
def process_event(self, event): # Do the key handling for this Frame. if isinstance(event, KeyboardEvent): if event.key_code in [ord('q'), ord('Q'), Screen.ctrl('c')]: raise StopApplication("User quit") elif event.key_code in [ord('a'), ord('A')]: self._add() elif event.key_code in [ord('e'), ord('E')]: self._edit() elif event.key_code in [ord('d'), ord('D')]: self._delete() # Now pass on to lower levels for normal handling of the event. return super().process_event(event)
def process_event(self, event: Any) -> Any: result = super(TopView, self).process_event(event) if isinstance(event, KeyboardEvent): # quit if event.key_code in [ord("q"), Screen.ctrl("c")]: raise StopApplication("") # toggle sort for current widget if event.key_code in [ord("r")]: if self.focussed_widget.name in self.onefuzz_reversed: self.onefuzz_reversed[ self.focussed_widget.name] = not self.onefuzz_reversed[ self.focussed_widget.name] return result
def process_event(self, event): # Do the key handling for this Frame. if isinstance(event, KeyboardEvent): if event.key_code in [ord('q'), ord('Q'), Screen.ctrl("c")]: self._quit() elif event.key_code in [ord('t'), ord('T')]: self._treceback() elif event.key_code in [ord('p'), ord('P')]: self._popup() # Force a refresh for improved responsiveness self._last_frame = 0 # Now pass on to lower levels for normal handling of the event. return super(GameFrame, self).process_event(event)
def process_event(self, event): # Do the key handling for this Frame. if isinstance(event, KeyboardEvent): if event.key_code in [ord('q'), ord('Q'), Screen.ctrl("c")]: raise StopApplication("User quit") elif event.key_code in [ord("r"), ord("R")]: self._reverse = not self._reverse elif event.key_code == ord("<"): self._sort = max(0, self._sort - 1) elif event.key_code == ord(">"): self._sort = min(7, self._sort + 1) # Force a refresh for improved responsiveness self._last_frame = 0 # Now pass on to lower levels for normal handling of the event. return super(DemoFrame, self).process_event(event)
def process_event(self, event): # Do the key handling for this Frame. if isinstance(event, KeyboardEvent): logger.debug("Keyboard event: {}".format(event.key_code)) if event.key_code in [Screen.ctrl("c")]: raise StopApplication("User quit") elif event.key_code == ord("+"): if self._occupation_list._has_focus and self._occupation_list.value: self._dh.command_handler.increment( CommandType.OCCUPATIONS, self._occupation_list.value, 1 ) elif self._under_construction._has_focus and self._under_construction.value: self._dh.command_handler.increment( CommandType.BUILDERS, self._under_construction.value, 1 ) elif event.key_code == ord("-"): if self._occupation_list._has_focus and self._occupation_list.value: self._dh.command_handler.increment( CommandType.OCCUPATIONS, self._occupation_list.value, -1 ) elif self._under_construction._has_focus and self._under_construction.value: self._dh.command_handler.increment( CommandType.BUILDERS, self._under_construction.value, -1 ) elif event.key_code in (ord("r"), ord("R")): if self._available_research.value: self._dh.command_handler.research( self._available_research.value, ) # Force a refresh for responsive UI self._last_frame = 0 # Now pass on to lower levels for normal handling of the event. return super(MainDisplay, self).process_event(event)
class Ctrl: HOME = Key(535, "Ctrl-HOME") END = Key(530, "Ctrl-END") LEFT = Key(545, "Ctrl-LEFT") UP = Key(566, "Ctrl-UP") RIGHT = Key(560, "Ctrl-RIGHT") DOWN = Key(525, "Ctrl-DOWN") A = Key(Screen.ctrl('a'), "Ctrl-A") B = Key(Screen.ctrl('b'), "Ctrl-B") C = Key(Screen.ctrl('c'), "Ctrl-C") D = Key(Screen.ctrl('d'), "Ctrl-D") E = Key(Screen.ctrl('e'), "Ctrl-E") F = Key(Screen.ctrl('f'), "Ctrl-F") G = Key(Screen.ctrl('g'), "Ctrl-G") H = Key(Screen.ctrl('h'), "Ctrl-H") I = Key(Screen.ctrl('i'), "Ctrl-I") # noqa: E741 J = Key(Screen.ctrl('j'), "Ctrl-J") K = Key(Screen.ctrl('k'), "Ctrl-K") L = Key(Screen.ctrl('l'), "Ctrl-L") M = Key(Screen.ctrl('m'), "Ctrl-M") N = Key(Screen.ctrl('n'), "Ctrl-N") O = Key(Screen.ctrl('o'), "Ctrl-O") # noqa: E741 P = Key(Screen.ctrl('p'), "Ctrl-P") Q = Key(Screen.ctrl('q'), "Ctrl-Q") R = Key(Screen.ctrl('r'), "Ctrl-R") S = Key(Screen.ctrl('s'), "Ctrl-S") T = Key(Screen.ctrl('t'), "Ctrl-T") U = Key(Screen.ctrl('u'), "Ctrl-U") V = Key(Screen.ctrl('v'), "Ctrl-V") W = Key(Screen.ctrl('w'), "Ctrl-W") X = Key(Screen.ctrl('x'), "Ctrl-X") Y = Key(Screen.ctrl('y'), "Ctrl-Y") Z = Key(Screen.ctrl('z'), "Ctrl-Z") Shift = CtrlShift