Wie funktioniert der Prozess beim Drücken einer Taste auf der Tastatur ab dem Schritt wo er den SCAN-CODE hat bis zur anzeige auf dem Monitor?

2 Antworten

Das kommt stark darauf an.

Also erst einmal kommt per USB der SCAN-Code an und der Treiber, zusammen mit den regionalen Einstellungen ist dafür verantwortlich, den Tastaturcode zu ermitteln. Wohlgemerkt, nicht den ASCII-Code! Schon ein deutsches "Ü" kannst Du mit ASCII nicht mehr darstellen.

Unter Windows ist es dann so, dass der Tastaturtreiber eine Folge so genannter "Window-Messages" absetzt (WM_KEYDOWN, ... , WM_KEYUP), wo jeweils der entsprechende Tastaturcode übergeben wird. Der aktuelle Message-Loop des aktiven Programms fängt diese Nachricht ab und leitet sie an das gewünschte Fenster weiter. Diese definieren dann, was mit dem Tastendruck geschieht.

Im Falle eines Eingabefeldes wird z.B. das Zeichen zum Tastaturcode rausgesucht - ist es "druckbar", wird es in das Textfeld eingefügt.

Unter DOS lieft das noch ganz anders. Da hast Du per Interrupt den Scan-Code bekommen und musstest dann eben selber was damit anfangen.

Unter macOS dürfte der Ablauf ähnlich sein, ebenso wie bei GUI-Systemen unter Linux.


Das Keyboard sendet nur die codierte Nummer der gedrückten Taste an den Computer. Erst der Computer wandelt den Code in ein Zeichen aus dem jeweils eingestellten zeichensatz um.