„Keycode“ – Versionsunterschied
[gesichtete Version] | [gesichtete Version] |
Link korrigiert: Die URL des Howtos von Ingomar Wesp hat sich geändert. |
TMg (Diskussion | Beiträge) K Weiterleitung aufgelöst; Abkürzungen ausgeschrieben (wir haben kein Platzproblem) |
||
Zeile 1: | Zeile 1: | ||
{{Dieser Artikel|beschreibt Keycodes in der Bedeutung als „Tastenkode“; zur Bedeutung als „Schlüsselkode“ siehe [[Schlüssel]].}} |
{{Dieser Artikel|beschreibt Keycodes in der Bedeutung als „Tastenkode“; zur Bedeutung als „Schlüsselkode“ siehe [[Schlüssel]].}} |
||
Als '''Keycode''' ( |
Als '''Keycode''' (englisch für „Tastenkode“) wird eine [[Code|Kodierung]] bezeichnet, die jeder einzelnen Buchstaben-, [[Funktionstaste|Funktions]]-, [[Pfeiltaste|Pfeil]]- und anderen Taste auf der [[Tastatur|Computertastatur]] eine Zahl zuordnet. Keycodes entbinden den [[Programmierer]] von der Aufgabe, die vergleichsweise komplizierten [[Scancode]]s der [[Tastatur#Übertragung zum PC|Tastatur]] zu interpretieren. Die konkrete Kodierung ist meist an die [[American Standard Code for Information Interchange|ASCII]]- oder die dazu kompatible [[Unicode]]-[[Zeichenkodierung]] angelehnt, letztendlich aber immer vom [[Betriebssystemkern]] und/oder der [[Programmbibliothek]] der jeweils verwendeten [[Programmiersprache]] abhängig. |
||
== Windows == |
== Windows == |
||
Drückt der Benutzer beispielsweise |
Drückt der Benutzer beispielsweise die [[Tastenkombination]] „[[Steuerung (Taste)|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 [[Ereignis (Programmierung)|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]]<ref name="VB">Microsoft: ''[http://msdn.microsoft.com/de-de/library/0z084th3(VS.80).aspx Key Code-Konstanten für Visual Basic 6.0-Benutzer]''.</ref> und [[JavaScript]]<ref name="JS">[[SELFHTML]]: ''[http://de.selfhtml.org/javascript/objekte/event.htm#key_code JavaScript / Objektreferenz / event / keyCode]''.</ref>. |
Funktionen für die Bereitstellung von Keycodes existieren beispielsweise in den Programmiersprachen [[Visual Basic]]<ref name="VB">Microsoft: ''[http://msdn.microsoft.com/de-de/library/0z084th3(VS.80).aspx Key Code-Konstanten für Visual Basic 6.0-Benutzer]''.</ref> und [[JavaScript]]<ref name="JS">[[SELFHTML]]: ''[http://de.selfhtml.org/javascript/objekte/event.htm#key_code JavaScript / Objektreferenz / event / keyCode]''.</ref>. |
||
Zeile 11: | Zeile 11: | ||
Der [[Linux (Kernel)|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 (<tt>setkeycodes</tt> etc.) modifiziert werden. Änderungen machen einen [[Neustart]] erforderlich. Tasten, denen kein Keycode zugeordnet wurde, bleiben vollständig funktionslos. |
Der [[Linux (Kernel)|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 (<tt>setkeycodes</tt> etc.) modifiziert werden. Änderungen machen einen [[Neustart]] erforderlich. Tasten, denen kein Keycode zugeordnet wurde, bleiben vollständig funktionslos. |
||
Bei Verwendung des [[X Window System]]s (X11) wird jedem Linux-Keycode in einem zweiten Schritt ein symbolischer Name zugeordnet ( |
Bei Verwendung des [[X Window System]]s (X11) wird jedem Linux-Keycode in einem zweiten Schritt ein symbolischer Name zugeordnet (englisch ''keysym'', kurz für „Tastensymbol“, umgangssprachlich auch „X11-Keycode“ genannt).<ref name="Palmer">Doug Palmer: ''[http://www.charvolant.org/~doug/xkb/html/node3.html#SECTION00033000000000000000 An Unreliable Guide to XKB Configuration]''. Stand Oktober 2004.</ref><ref name="Wesp">Ingomar Wesp: ''[http://ingomar.wesp.name/2007/06/eigene-tastaturbelegungen-in-x11-xorg.html Eigene Tastaturbelegungen in X11 (X.Org / XFree86)]''. Stand Januar 2008.</ref> Den numerischen Keycodes werden konkrete [[Symbol]]e zugewiesen, etwa Buchstaben oder andere [[Zeichen]] aus dem [[Unicode]]-Zeichenvorrat. Diese Zuweisung lässt sich ebenfalls modifizieren, etwa mit dem Kommandozeilenwerkzeug <tt>xmodmap</tt>. Änderungen werden ohne Neustart übernommen. |
||
== Einzelnachweise == |
== Einzelnachweise == |
Version vom 5. Juni 2010, 16:11 Uhr
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 Betriebssystemkern 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[1] und JavaScript[2].
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).[3][4] 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.
Einzelnachweise
- ↑ Microsoft: Key Code-Konstanten für Visual Basic 6.0-Benutzer.
- ↑ SELFHTML: JavaScript / Objektreferenz / event / keyCode.
- ↑ Doug Palmer: An Unreliable Guide to XKB Configuration. Stand Oktober 2004.
- ↑ Ingomar Wesp: Eigene Tastaturbelegungen in X11 (X.Org / XFree86). Stand Januar 2008.