Keycode
# Keycode

Als Keycode (englisch für „Tastenkode“) wird eine Kodierung bezeichnet, die jeder einzelnen Buchstaben-, Funktions-, Pfeil- und anderen Taste auf der Computertastatur eine Zahl zuordnet. Keycodes entbinden den Programmierer von der Aufgabe, die vergleichsweise komplizierten Scancodes der Tastatur zu interpretieren. Die konkrete Kodierung ist meist an die ASCII- oder die dazu kompatible Unicode-Zeichenkodierung angelehnt, letztendlich aber immer vom Kernel und/oder der Programmbibliothek der jeweils verwendeten Programmiersprache abhängig.

## Windows

Drückt der Benutzer beispielsweise die Tastenkombination „Strg+S“ (in vielen Anwendungen für „Speichern“), werden diese Tastendrücke von der Programmbibliothek der Programmiersprache vorbereitend ausgewertet und meist als Keycode 115 (ASCII-Kodierung für den Kleinbuchstaben „s“) an die Ereignisbehandlung innerhalb des Programms weitergereicht. Dort kann der Keycode zusammen mit einer weiteren Information über den Status der Steuerungstaste ausgewertet und die vom Programmentwickler vorgesehene Aktion ausgelöst werden. In anderen Fällen werden die beiden Tasten „Strg“ und „S“ getrennt als Keycodes 17 und 83 (ASCII-Kodierung für den Großbuchstaben „S“) gemeldet.

Funktionen für die Bereitstellung von Keycodes existieren beispielsweise in den Programmiersprachen Visual Basic und JavaScript.

## Linux

Der Linux-Kernel ordnet jedem Scancode der Tastatur eine eindeutige Nummer zu, den sogenannten „Linux-Keycode“. Diese Zuordnung ist von der verwendeten Tastatur abhängig und kann mit Betriebssystemmitteln (setkeycodes etc.) modifiziert werden. Änderungen machen einen Neustart erforderlich. Tasten, denen kein Keycode zugeordnet wurde, bleiben vollständig funktionslos.

Bei Verwendung des X Window Systems (X11) wird jedem Linux-Keycode in einem zweiten Schritt ein symbolischer Name zugeordnet (englisch keysym, kurz für „Tastensymbol“, umgangssprachlich auch „X11-Keycode“ genannt). Den numerischen Keycodes werden konkrete Symbole zugewiesen, etwa Buchstaben oder andere Zeichen aus dem Unicode-Zeichenvorrat. Diese Zuweisung lässt sich ebenfalls modifizieren, etwa mit dem Kommandozeilenwerkzeug xmodmap. Änderungen werden ohne Neustart übernommen.

