| Zeile 287: | Zeile 287: | ||
Der Rest des Bytes ist ein Scancode, | Der Rest des Bytes ist ein Scancode, | ||
| − | der uns | + | der uns angibt um welche Taste es sich handelt. Dieser Scancode hat überhaupt |
nichts mit irgendwelchen Zeichen zu tun, er gibt uns nur, an welche Taste | nichts mit irgendwelchen Zeichen zu tun, er gibt uns nur, an welche Taste | ||
gedrückt oder gelöst wurde, und muss von uns manuell mit einer Scancode-Tabelle | gedrückt oder gelöst wurde, und muss von uns manuell mit einer Scancode-Tabelle | ||
| Zeile 293: | Zeile 293: | ||
bewusst sein, dass für die Tastatur eine Steuertaste, wie zum Beispiel die | bewusst sein, dass für die Tastatur eine Steuertaste, wie zum Beispiel die | ||
Umschalttaste oder Capslock, genau das Selbe ist wie beispielsweise ein "a". | Umschalttaste oder Capslock, genau das Selbe ist wie beispielsweise ein "a". | ||
| − | Wird beispielsweise Umschalt+a gedrückt, um ein großes "a" zu erhalten, schickt | + | Wird beispielsweise [Umschalt]+[a] gedrückt, um ein großes "a" zu erhalten, schickt |
| − | uns der | + | uns der Tastaturcontroller 2 Bytes, eines Umschalttaste gedrückt und ein anderes |
"a" gedrückt. Es ist also Aufgabe des Treibers diese Tasten entsprechend zu | "a" gedrückt. Es ist also Aufgabe des Treibers diese Tasten entsprechend zu | ||
interpretieren. | interpretieren. | ||
| Zeile 301: | Zeile 301: | ||
Scancodes'', davon gibt es zwei verschiedene Sorten. Diese werden mit E0- und E1 | Scancodes'', davon gibt es zwei verschiedene Sorten. Diese werden mit E0- und E1 | ||
bezeichnet, und bestehen aus 2 (E0) und 3 (E1) Bytes. Das erste Byte eines | bezeichnet, und bestehen aus 2 (E0) und 3 (E1) Bytes. Das erste Byte eines | ||
| − | E0-Scancodes hat überraschenderweise den Wert 0xE0, während das zweite Byte | + | E0-Scancodes hat überraschenderweise den Wert 0xE0, während das zweite Byte beinhaltet, um |
welchen e0-Scancode es sich genau handelt. E1-Scancodes bestehen aus 3 Bytes, | welchen e0-Scancode es sich genau handelt. E1-Scancodes bestehen aus 3 Bytes, | ||
das Erste hat den Wert 0xE1 während die folgenden zwei Bytes zu einem | das Erste hat den Wert 0xE1 während die folgenden zwei Bytes zu einem | ||