003
18.07.2006, 14:28 Uhr
0xdeadbeef
Gott (Operator)
|
Grob (etwas vereinfacht) gesagt: Sobald du ne Taste auf der Tastatur drückst, schickt die nen Scancode an das Betriebssystem. Das Betriebssystem seinerseits kann dann darauf reagieren oder es auch sein lassen.
Ein ASCII-Code dagegen ist eine Zahl zwischen 0 und 127, die nach dem ASCII-Standard ein bestimmtes Zeichen bedeutet.
Am Beispiel von Linux (Ich nehme an, dass windows es ähnlich macht), angenommen, du drückst die 'a'-Taste, dann passiert folgendes:
1. Tastatur schickt scancode für Taste 'a' an Betriebssystem 2. Betriebssystem setzt scancode um in keycode (z.B. Taste 'a' wurde grad runtergedrückt) 3. Betriebssystem jagt keycode durch keymap. In der steht z.B. drin "Wenn Taste 'a' runtergedrückt wird, schreib ASCII-Zeichen 97 nach stdin", und das tut das Betriebssystem dann.
Auf diese Art kannst du auf einer Tastatur verschiedene Layouts umsetzen oder überhaupt irgendwelche Tasten irgendwelchen Mist machen lassen.
Normalerweise genügt es, sich nach Schritt 3 einzuklinken und die Buchstaben aus den designierten Streams zu lesen, aber in deinem Fall willst du etwas direkter ans System und musst dich nach Schritt 2 einhängen. Wie das genau geht, hängt vom System ab, in aller Regel empfiehlt sich aber die Benutzung einer direct media layer-Bibliothek wie der SDL. -- Einfachheit ist Voraussetzung für Zuverlässigkeit. -- Edsger Wybe Dijkstra |