def keyPressEvent(self, event: QKeyEvent): if event.key() == QtCore.Qt.Key_Escape: self.clearFocus() return modifier_code = event.nativeModifiers() key_code = event.nativeVirtualKey() hotkey = None if modifier_code not in self.modifiers and key_code not in self.keys: self.valid_input = False return if modifier_code not in self.modifiers and key_code in self.keys: self.valid_input = True key = self.keys[key_code] hotkey = '{}'.format(key) elif modifier_code in self.modifiers and key_code not in self.keys: self.valid_input = False modifier = self.modifiers[modifier_code] hotkey = '{} + '.format(modifier) elif modifier_code in self.modifiers and key_code in self.keys: self.valid_input = True modifier = self.modifiers[modifier_code] key = self.keys[key_code] hotkey = '{} + {}'.format(modifier, key) self.hotkey_event.hotkey_changed.emit(hotkey) self.current_hotkey = hotkey self.setText(hotkey)
def __makeKeyEvent(self, measure_editor: BaseMeasureEditor, evt: QtGui.QKeyEvent) -> QtGui.QKeyEvent: measure_evt = QtGui.QKeyEvent(evt.type(), evt.key(), evt.modifiers(), evt.nativeScanCode(), evt.nativeVirtualKey(), evt.nativeModifiers(), evt.text(), evt.isAutoRepeat(), evt.count()) measure_evt.setAccepted(False) return measure_evt
def scroll(self, event: QtGui.QKeyEvent): key_map = { QtCore.Qt.Key_Left: (0, -1), QtCore.Qt.Key_Right: (0, 1), QtCore.Qt.Key_Down: (1, -1), QtCore.Qt.Key_Up: (1, 1), } delta = key_map.get(event.key()) if event.nativeModifiers() & 1: # shift key delta = (delta[0], delta[1] * 5) if event.nativeModifiers() & 2: # shift key delta = (delta[0], delta[1] * 20) if delta is not None and self.app is not None: self.app.scroll(delta)
def onKeyPress(self, event: QKeyEvent): try: event = dict(event="gui", type="keyPress", key=event.key(), modifiers=event.modifiers(), nativeModifiers=event.nativeModifiers(), nativeScanCode=event.nativeScanCode(), nativeVirtualKey=event.nativeVirtualKey()) except Exception as err: print(f"HCApplication.keyPressEvent error: {err}") self.submitEvent(event, EventMode.Gui)