Autor Thema: einfache Keycode-Tabelle  (Gelesen 2953 mal)

rizor

  • Beiträge: 521
    • Profil anzeigen
Gespeichert
« am: 22. March 2009, 01:10 »
Nabend zusammen,

ich bin gerade dabei, mir eine Keycode-Tabelle auszudenken.
Ich wollte eine 16-Bit-Zahl als Keycode verwenden.
Dazu habe ich mir überlegt, dass ich die oberen 8 Bit für die Sondertasten verwende und die unteren 8 Bit für "normale" Tasten.
Dabei überlege ich mir nur gerade, dass ich an sich eine Eindeutigkeit beibehalten sollte, oder?
Sprich wenn einer Str-Alt-Entf klickt, sind das für mich alles Sondertasten.
Wenn ich die alle auf die oberen acht Bit lege, weiß ich bei der Auswertung dieses Keycodes nicht mehr, welche Tasten jetzt gedrückt wurden.
Wie kann ich das am einfachsten machen?
Ich habe mir auch mal den Link mit der Tabelle angeschaut und den Code aus tyndur, das ist alles irgendwie verwirrend für mich.
Programmiertechnik:
Vermeide in Assembler zu programmieren wann immer es geht.

ehenkes

  • Gast
Gespeichert
« Antwort #1 am: 26. April 2009, 19:26 »
Zumeist werden zwei Arrays verwendet, eins für Non-Shift und eins für Shift. Schau Dir mal die Tabellen in meinOS an, die sind sehr ordentlich.

kevin

  • Administrator
  • Beiträge: 2 767
    • Profil anzeigen
Gespeichert
« Antwort #2 am: 26. April 2009, 19:43 »
Ob Modifier-Tasten (also Shift, Strg, Alt, evtl. Win und evtl. alle unterschieden nach linke/rechte Taste) gedrückt sind, willst du wahrscheinlich getrennt speichern. Das könnte ein Bitmaske geben, vielleicht in den oberen 8 Bit deines 16-Bit-Keycodes. Entf wird üblicherweise wie eine "normale" Taste behandelt, die könntest du in den unteren 8 Bit ablegen.
Thou shalt not follow the NULL pointer, for chaos and madness await thee at its end.

jgraef

  • Beiträge: 67
    • Profil anzeigen
Gespeichert
« Antwort #3 am: 26. April 2009, 19:44 »
Hier findest du meine Keycode-Tabellen:
http://repo.or.cz/w/meinos.git?a=tree;f=keyboard_layouts

Das sind eigentlich nur C-Programme, die die Keycode-Tabelle in Binär ausgeben. Damit werden dann Keylayout-Dateien erstellt, die dann später auf der CD liegen.

 

Einloggen