Wobei PyGame erstmal raus ist... Also nochmal ein neuer Thread:
Also es geht um Tastatur eingaben zwischen Windows und Linux...
Bisher habe ich es so gemacht:
Code: Alles auswählen
char_or_code = event.char or event.keycode
Nun könnte ich event.keysym nehmen. Dort erhält man Wörter der Tasten, z.b.:
Code: Alles auswählen
event.char: 'a' event.keycode: 65 event.keysym: 'a' event.keysym_num: 97
event.char: 'b' event.keycode: 66 event.keysym: 'b' event.keysym_num: 98
event.char: 'c' event.keycode: 67 event.keysym: 'c' event.keysym_num: 99
event.char: '' event.keycode: 16 event.keysym: 'Shift_L' event.keysym_num: 65505
event.char: 'A' event.keycode: 65 event.keysym: 'A' event.keysym_num: 65
event.char: 'B' event.keycode: 66 event.keysym: 'B' event.keysym_num: 66
event.char: 'C' event.keycode: 67 event.keysym: 'C' event.keysym_num: 67
event.char: '' event.keycode: 37 event.keysym: 'Left' event.keysym_num: 65361
event.char: '' event.keycode: 38 event.keysym: 'Up' event.keysym_num: 65362
event.char: '' event.keycode: 39 event.keysym: 'Right' event.keysym_num: 65363
event.char: '' event.keycode: 40 event.keysym: 'Down' event.keysym_num: 65364
event.char: '' event.keycode: 16 event.keysym: 'Shift_R' event.keysym_num: 65506
event.char: '\r' event.keycode: 13 event.keysym: 'Return' event.keysym_num: 65293
event.char: '\x08' event.keycode: 8 event.keysym: 'BackSpace' event.keysym_num: 65288
event.char: '\x1b' event.keycode: 27 event.keysym: 'Escape' event.keysym_num: 65307
event.char: '' event.keycode: 16 event.keysym: 'Shift_L' event.keysym_num: 65505
event.char: '!' event.keycode: 49 event.keysym: 'exclam' event.keysym_num: 33
event.char: '"' event.keycode: 50 event.keysym: 'quotedbl' event.keysym_num: 34
event.char: '§' event.keycode: 51 event.keysym: 'section' event.keysym_num: 167
event.char: '' event.keycode: 112 event.keysym: 'F1' event.keysym_num: 65470
event.char: '' event.keycode: 113 event.keysym: 'F2' event.keysym_num: 65471
event.char: '' event.keycode: 114 event.keysym: 'F3' event.keysym_num: 65472
event.char: '' event.keycode: 36 event.keysym: 'Home' event.keysym_num: 65360
event.char: '' event.keycode: 35 event.keysym: 'End' event.keysym_num: 65367
event.char: '' event.keycode: 46 event.keysym: 'Delete' event.keysym_num: 65535
event.char: '' event.keycode: 45 event.keysym: 'Insert' event.keysym_num: 65379
event.char: '' event.keycode: 33 event.keysym: 'Prior' event.keysym_num: 65365
event.char: '' event.keycode: 34 event.keysym: 'Next' event.keysym_num: 65366
Mich stört allerdings, das darin auch normale ASCII Zeichen als Wörter ausgeschieben sind
Nun überlege ich das zu machen:
Code: Alles auswählen
if event.keysym_num>64000:
inkey=event.keysym
else:
inkey=event.char
Woher kommen eigentlich diese keysym Wörter? In tkinter.constants sind die ja nicht. Sind die wirklich überall gleich?