def keyPressEvent(self, event): def modifier(): if macosx: # This should correspond to the Cmd key(s) on OS X return int(event.modifiers()) & Qt.ControlModifier else: return int(event.modifiers()) & Qt.AltModifier assert isinstance(event, QKeyEvent) # print(event.isAutoRepeat(), event.type()) if event.isAutoRepeat(): return if modifier(): if event.key() == Qt.Key_Return: self.window().set_fullscreen(not self.window().is_fullscreen()) return if event.key() == Qt.Key_Q: self.window().close() return InputHandler.add_event(Event.create_key_event(event)) text = event.text() if text and text in TEXT_WHITE_LIST: # We don't want special characters such as return, backspace # and escape (etc) to be sent as text events. For now, we use # a simple white list. InputHandler.add_event({"type": "text", "text": event.text()})
def keyReleaseEvent(self, event): assert isinstance(event, QKeyEvent) # print(QKeyEvent, event.isAutoRepeat(), event.type()) if event.isAutoRepeat(): return InputHandler.add_event(Event.create_key_event(event))