Keylistener shift gedrück
Verfasst: Dienstag 15. Dezember 2020, 17:53
Hallo zusammen,
ich habe eine allgemein Frage. Ich will einen flexliblen Keylistener bauen, wo der Benutzer selbst
auswählen kann, wie er die Tasten belegt.
Mein erster Gedanke war, die Tastenkürzel in einer Textdatei zu speichern und die hex werte zu nehmen.
Aber mal ne ganz dumme Frage:
Wie wandle ich den String:
0x41 in den Wert um, dass ich dann im Code vergleichen kann.
Ich habe es als Beispiel mit den Buchstaben a versucht:
def keyPressEvent(self, event):
tmp = "0x41"
tmp_int = int(tmp, 16)
value = hex(tmp_int)
print("The value " + value)
modifiers = QApplication.keyboardModifiers()
if event.key() == Qt.Key_R:
self.rotieren(self.pos1, self.pos2, self.pos3, self.pos4, self.pos5, self.pos6)
self.showCurrentLineup(self.currentLineUp)
elif (modifiers & Qt.ShiftModifier) and (event.key() == value):
print("shift a")
elif event.key() == value:
print('a')
else:
None
PS: Wenn es eine bessere Möglichkeit gibt als eine Textdatei um die Daten zu speichern bin ich natürlich offen.
Aber so Sachen wie eine Datenbank wäre dafür schon ein wenig op finde ich.
ich habe eine allgemein Frage. Ich will einen flexliblen Keylistener bauen, wo der Benutzer selbst
auswählen kann, wie er die Tasten belegt.
Mein erster Gedanke war, die Tastenkürzel in einer Textdatei zu speichern und die hex werte zu nehmen.
Aber mal ne ganz dumme Frage:
Wie wandle ich den String:
0x41 in den Wert um, dass ich dann im Code vergleichen kann.
Ich habe es als Beispiel mit den Buchstaben a versucht:
def keyPressEvent(self, event):
tmp = "0x41"
tmp_int = int(tmp, 16)
value = hex(tmp_int)
print("The value " + value)
modifiers = QApplication.keyboardModifiers()
if event.key() == Qt.Key_R:
self.rotieren(self.pos1, self.pos2, self.pos3, self.pos4, self.pos5, self.pos6)
self.showCurrentLineup(self.currentLineUp)
elif (modifiers & Qt.ShiftModifier) and (event.key() == value):
print("shift a")
elif event.key() == value:
print('a')
else:
None
PS: Wenn es eine bessere Möglichkeit gibt als eine Textdatei um die Daten zu speichern bin ich natürlich offen.
Aber so Sachen wie eine Datenbank wäre dafür schon ein wenig op finde ich.