| Zeile 329: | Zeile 329: | ||
// Status-Variablen fuer das Behandeln von e0- und e1-Scancodes | // Status-Variablen fuer das Behandeln von e0- und e1-Scancodes | ||
| − | static int e0_code = | + | static int e0_code = 0; |
// Wird auf 1 gesetzt, sobald e1 gelesen wurde, und auf 2, sobald das erste | // Wird auf 1 gesetzt, sobald e1 gelesen wurde, und auf 2, sobald das erste | ||
// Datenbyte gelesen wurde | // Datenbyte gelesen wurde | ||
| Zeile 345: | Zeile 345: | ||
break_code = 0; | break_code = 0; | ||
scancode &= ~0x80; | scancode &= ~0x80; | ||
| − | |||
} | } | ||
| Zeile 351: | Zeile 350: | ||
// Fake shift abfangen und ignorieren | // Fake shift abfangen und ignorieren | ||
if ((scancode == 0x2A) || (scancode == 0x36)) { | if ((scancode == 0x2A) || (scancode == 0x36)) { | ||
| − | e0_code = | + | e0_code = 0; |
return; | return; | ||
} | } | ||
keycode = translate_scancode(1, scancode); | keycode = translate_scancode(1, scancode); | ||
| − | e0_code = | + | e0_code = 0; |
} else if (e1_code == 2) { | } else if (e1_code == 2) { | ||
// Fertiger e1-Scancode | // Fertiger e1-Scancode | ||
| Zeile 369: | Zeile 368: | ||
} else if (scancode == 0xE0) { | } else if (scancode == 0xE0) { | ||
// Anfang eines e0-Codes | // Anfang eines e0-Codes | ||
| − | e0_code = | + | e0_code = 1; |
} else if (scancode == 0xE1) { | } else if (scancode == 0xE1) { | ||
// Anfang eines e1-Codes | // Anfang eines e1-Codes | ||