Zum Inhalt springen

Keycode

aus Wikipedia, der freien Enzyklopädie
Dies ist die aktuelle Version dieser Seite, zuletzt bearbeitet am 6. April 2026 um 12:48 Uhr durch imported>Ousw ("Aufgabenstelle für kaufmännische Abschluss- und Zwischenprüfungen" falsch => raus).
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

{{#if: beschreibt Keycodes in der Bedeutung als „Tastenkode“, zur Bedeutung als „Schlüsselkode“ siehe Schlüssel (Kryptologie).

 | Vorlage:Hinweisbaustein 
 | {{#ifeq: 0 | 0 |}}

}}

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 TastenkombinationStrg+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<ref name="VB">Key Code-Konstanten für Visual Basic 6.0-Benutzer. Microsoft MSDN</ref> und JavaScript.<ref name="JS"><templatestyles src="Webarchiv/styles.css" />{{#if:20150402095634

      | {{#ifeq: 20150402095634 | *
    | Vorlage:Webarchiv/Wartung/Stern{{#if: keyCode | {{#invoke:WLink|getEscapedTitle|keyCode}} | {{#invoke:Webarchiv|getdomain|http://wiki.selfhtml.org/wiki/JavaScript/Objekte/DOM/event/Tastaturabfragen#keyCode}} }} (Archivversionen)
    | {{#iferror: {{#time: j. F Y|20150402095634}}
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/DatumDer Wert des Parameters {{#if: wayback | wayback | Datum }} muss ein gültiger Zeitstempel der Form YYYYMMDDHHMMSS sein!
         | {{#if: keyCode | {{#invoke:WLink|getEscapedTitle|keyCode}} | {{#invoke:Webarchiv|getdomain|http://wiki.selfhtml.org/wiki/JavaScript/Objekte/DOM/event/Tastaturabfragen#keyCode}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if: 2025-12-02 02:48:09 InternetArchiveBot | 2025-12-02 02:48:09 InternetArchiveBot |  }} |  des Vorlage:Referrer }} vom {{#time: j. F Y|20150402095634}} im Internet Archive{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
      }}
  }}
      | {{#if:
          | {{#iferror: {{#time: j. F Y|{{{webciteID}}}}}
    | {{#switch: {{#invoke:Str|len|{{{webciteID}}}}}
       | 16= {{#if: keyCode | {{#invoke:WLink|getEscapedTitle|keyCode}} | {{#invoke:Webarchiv|getdomain|http://wiki.selfhtml.org/wiki/JavaScript/Objekte/DOM/event/Tastaturabfragen#keyCode}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if: 2025-12-02 02:48:09 InternetArchiveBot | 2025-12-02 02:48:09 InternetArchiveBot |  }} |  des Vorlage:Referrer }} vom {{#time: j. F Y| 19700101000000 + {{#expr: floor {{#expr: {{#invoke:Str|sub|{{{webciteID}}}|1|10}}/86400}} }} days}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
       | 9 = {{#if: keyCode | {{#invoke:WLink|getEscapedTitle|keyCode}} | {{#invoke:Webarchiv|getdomain|http://wiki.selfhtml.org/wiki/JavaScript/Objekte/DOM/event/Tastaturabfragen#keyCode}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if: 2025-12-02 02:48:09 InternetArchiveBot | 2025-12-02 02:48:09 InternetArchiveBot |  }} |  des Vorlage:Referrer}} vom {{#time: j. F Y| 19700101000000 + {{#expr: floor {{#expr: {{#invoke:Str|sub|{{#invoke:Expr|base62|{{{webciteID}}}}}|1|10}}/86400}} }} days}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
       | #default= Der Wert des Parameters {{#if: webciteID | webciteID | ID }} muss entweder ein Zeitstempel der Form YYYYMMDDHHMMSS oder ein Schüsselwert mit 9 Zeichen oder eine 16-stellige Zahl sein!Vorlage:Webarchiv/Wartung/webcitation{{#if:  || }}
      }}
    | c|{{{webciteID}}}}} {{#if: keyCode | {{#invoke:WLink|getEscapedTitle|keyCode}} | {{#invoke:Webarchiv|getdomain|http://wiki.selfhtml.org/wiki/JavaScript/Objekte/DOM/event/Tastaturabfragen#keyCode}} }} (Memento{{#if: {{#if: 2025-12-02 02:48:09 InternetArchiveBot | 2025-12-02 02:48:09 InternetArchiveBot |  }} |  des Vorlage:Referrer}} vom {{#time: j. F Y|{{{webciteID}}}}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
  }}
          | {{#if: 
              | Vorlage:Webarchiv/Today
              | {{#if:
                      | Vorlage:Webarchiv/Generisch
                      | {{#if: keyCode | {{#invoke:WLink|getEscapedTitle|keyCode}} | {{#invoke:Webarchiv|getdomain|http://wiki.selfhtml.org/wiki/JavaScript/Objekte/DOM/event/Tastaturabfragen#keyCode}} }}  
                 }}}}}}}}{{#if:2025-12-02 02:48:09 InternetArchiveBot
    | Vorlage:Webarchiv/archiv-bot
  }}{{#invoke:TemplatePar|check
     |all      = url=
     |opt      = text= wayback= webciteID= archive-is= archive-today= archiv-url= archiv-datum= ()= archiv-bot= format= original=
     |cat      = Wikipedia:Vorlagenfehler/Vorlage:Webarchiv
     |errNS    = 0
     |template = Vorlage:Webarchiv
     |format   = *
     |preview  = 1
  }}{{#ifexpr: {{#if:20150402095634|1|0}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}} <> 1
    | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Genau einer der Parameter 'wayback', 'webciteID', 'archive-today', 'archive-is' oder 'archiv-url' muss angegeben werden.|1}}
  }}{{#if: 
    | {{#switch: {{#invoke:Webarchiv|getdomain|{{{archiv-url}}}}}
        | web.archive.org = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von Internet Archive erkannt, bitte Parameter 'wayback' benutzen.|1}} 
        | webcitation.org = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von WebCite erkannt, bitte Parameter 'webciteID' benutzen.|1}} 
        | archive.today |archive.is |archive.ph |archive.fo |archive.li |archive.md |archive.vn = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von archive.today erkannt, bitte Parameter 'archive-today' benutzen.|1}}
      }}{{#if: 
         | {{#iferror: {{#iferror:{{#invoke:Vorlage:FormatDate|Execute}}|}}
             | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Wert des Parameter 'archiv-datum' ist ungültig oder hat ein ungültiges Format.|1}}
          |  }} 
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Pflichtparameter 'archiv-datum' wurde nicht angegeben.|1}}
      }}
    | {{#if: 
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Parameter 'archiv-datum' ist nur in Verbindung mit 'archiv-url' angebbar.|1}}
      }}
  }}{{#if:{{#invoke:URLutil|isHostPathResource|http://wiki.selfhtml.org/wiki/JavaScript/Objekte/DOM/event/Tastaturabfragen#keyCode}}
    || {{#if:  || }}
  }}{{#if: keyCode
    | {{#if: {{#invoke:WLink|isBracketedLink|keyCode}}
        | {{#if:  || }}
      }}
    | {{#if:  || }}Vorlage:Webarchiv/Wartung/Linktext_fehlt
  }}{{#switch: 
    |addlarchives|addlpages= {{#if:  || }}{{#if: 1 |Vorlage:Webarchiv/Wartung/Parameter}}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: enWP-Wert im Parameter 'format'.|1}}
  }}{{#ifeq: {{#invoke:Str|find|http://wiki.selfhtml.org/wiki/JavaScript/Objekte/DOM/event/Tastaturabfragen#keyCode%7Carchiv}} |-1
    || {{#ifeq: {{#invoke:Str|find|{{#invoke:Str|cropleft|http://wiki.selfhtml.org/wiki/JavaScript/Objekte/DOM/event/Tastaturabfragen#keyCode%7C4}}%7Chttp}} |-1
         || {{#switch: {{#invoke:Webarchiv|getdomain|http://wiki.selfhtml.org/wiki/JavaScript/Objekte/DOM/event/Tastaturabfragen#keyCode }}
              | abendblatt.de | daserste.ndr.de | inarchive.com | webcitation.org = 
              | #default = {{#if:  || }}{{#if: 1 |Vorlage:Webarchiv/Wartung/URL}}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Archiv-URL im Parameter 'url' anstatt URL der Originalquelle. Entferne den vor der Original-URL stehenden Mementobestandteil und setze den Archivierungszeitstempel in den Parameter 'wayback', 'webciteID', 'archive.today' oder 'archive-is' ein, sofern nicht bereits befüllt.|1}}
            }} 
       }}
  }} im SELFHTML-Wiki</ref>

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).<ref name="Palmer">Doug Palmer: <templatestyles src="Webarchiv/styles.css" />{{#if:20080225124906

      | {{#ifeq: 20080225124906 | *
    | Vorlage:Webarchiv/Wartung/Stern{{#if: An Unreliable Guide to XKB Configuration. | {{#invoke:WLink|getEscapedTitle|An Unreliable Guide to XKB Configuration.}} | {{#invoke:Webarchiv|getdomain|http://www.charvolant.org/~doug/xkb/html/node3.html#SECTION00033000000000000000}} }} (Archivversionen)
    | {{#iferror: {{#time: j. F Y|20080225124906}}
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/DatumDer Wert des Parameters {{#if: wayback | wayback | Datum }} muss ein gültiger Zeitstempel der Form YYYYMMDDHHMMSS sein!
         | {{#if: An Unreliable Guide to XKB Configuration. | {{#invoke:WLink|getEscapedTitle|An Unreliable Guide to XKB Configuration.}} | {{#invoke:Webarchiv|getdomain|http://www.charvolant.org/~doug/xkb/html/node3.html#SECTION00033000000000000000}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if: 2025-12-02 02:48:09 InternetArchiveBot | 2025-12-02 02:48:09 InternetArchiveBot |  }} |  des Vorlage:Referrer }} vom {{#time: j. F Y|20080225124906}} im Internet Archive{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
      }}
  }}
      | {{#if:
          | {{#iferror: {{#time: j. F Y|{{{webciteID}}}}}
    | {{#switch: {{#invoke:Str|len|{{{webciteID}}}}}
       | 16= {{#if: An Unreliable Guide to XKB Configuration. | {{#invoke:WLink|getEscapedTitle|An Unreliable Guide to XKB Configuration.}} | {{#invoke:Webarchiv|getdomain|http://www.charvolant.org/~doug/xkb/html/node3.html#SECTION00033000000000000000}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if: 2025-12-02 02:48:09 InternetArchiveBot | 2025-12-02 02:48:09 InternetArchiveBot |  }} |  des Vorlage:Referrer }} vom {{#time: j. F Y| 19700101000000 + {{#expr: floor {{#expr: {{#invoke:Str|sub|{{{webciteID}}}|1|10}}/86400}} }} days}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
       | 9 = {{#if: An Unreliable Guide to XKB Configuration. | {{#invoke:WLink|getEscapedTitle|An Unreliable Guide to XKB Configuration.}} | {{#invoke:Webarchiv|getdomain|http://www.charvolant.org/~doug/xkb/html/node3.html#SECTION00033000000000000000}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if: 2025-12-02 02:48:09 InternetArchiveBot | 2025-12-02 02:48:09 InternetArchiveBot |  }} |  des Vorlage:Referrer}} vom {{#time: j. F Y| 19700101000000 + {{#expr: floor {{#expr: {{#invoke:Str|sub|{{#invoke:Expr|base62|{{{webciteID}}}}}|1|10}}/86400}} }} days}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
       | #default= Der Wert des Parameters {{#if: webciteID | webciteID | ID }} muss entweder ein Zeitstempel der Form YYYYMMDDHHMMSS oder ein Schüsselwert mit 9 Zeichen oder eine 16-stellige Zahl sein!Vorlage:Webarchiv/Wartung/webcitation{{#if:  || }}
      }}
    | c|{{{webciteID}}}}} {{#if: An Unreliable Guide to XKB Configuration. | {{#invoke:WLink|getEscapedTitle|An Unreliable Guide to XKB Configuration.}} | {{#invoke:Webarchiv|getdomain|http://www.charvolant.org/~doug/xkb/html/node3.html#SECTION00033000000000000000}} }} (Memento{{#if: {{#if: 2025-12-02 02:48:09 InternetArchiveBot | 2025-12-02 02:48:09 InternetArchiveBot |  }} |  des Vorlage:Referrer}} vom {{#time: j. F Y|{{{webciteID}}}}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
  }}
          | {{#if: 
              | Vorlage:Webarchiv/Today
              | {{#if:
                      | Vorlage:Webarchiv/Generisch
                      | {{#if: An Unreliable Guide to XKB Configuration. | {{#invoke:WLink|getEscapedTitle|An Unreliable Guide to XKB Configuration.}} | {{#invoke:Webarchiv|getdomain|http://www.charvolant.org/~doug/xkb/html/node3.html#SECTION00033000000000000000}} }}  
                 }}}}}}}}{{#if:2025-12-02 02:48:09 InternetArchiveBot
    | Vorlage:Webarchiv/archiv-bot
  }}{{#invoke:TemplatePar|check
     |all      = url=
     |opt      = text= wayback= webciteID= archive-is= archive-today= archiv-url= archiv-datum= ()= archiv-bot= format= original=
     |cat      = Wikipedia:Vorlagenfehler/Vorlage:Webarchiv
     |errNS    = 0
     |template = Vorlage:Webarchiv
     |format   = *
     |preview  = 1
  }}{{#ifexpr: {{#if:20080225124906|1|0}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}} <> 1
    | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Genau einer der Parameter 'wayback', 'webciteID', 'archive-today', 'archive-is' oder 'archiv-url' muss angegeben werden.|1}}
  }}{{#if: 
    | {{#switch: {{#invoke:Webarchiv|getdomain|{{{archiv-url}}}}}
        | web.archive.org = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von Internet Archive erkannt, bitte Parameter 'wayback' benutzen.|1}} 
        | webcitation.org = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von WebCite erkannt, bitte Parameter 'webciteID' benutzen.|1}} 
        | archive.today |archive.is |archive.ph |archive.fo |archive.li |archive.md |archive.vn = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von archive.today erkannt, bitte Parameter 'archive-today' benutzen.|1}}
      }}{{#if: 
         | {{#iferror: {{#iferror:{{#invoke:Vorlage:FormatDate|Execute}}|}}
             | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Wert des Parameter 'archiv-datum' ist ungültig oder hat ein ungültiges Format.|1}}
          |  }} 
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Pflichtparameter 'archiv-datum' wurde nicht angegeben.|1}}
      }}
    | {{#if: 
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Parameter 'archiv-datum' ist nur in Verbindung mit 'archiv-url' angebbar.|1}}
      }}
  }}{{#if:{{#invoke:URLutil|isHostPathResource|http://www.charvolant.org/~doug/xkb/html/node3.html#SECTION00033000000000000000}}
    || {{#if:  || }}
  }}{{#if: An Unreliable Guide to XKB Configuration.
    | {{#if: {{#invoke:WLink|isBracketedLink|An Unreliable Guide to XKB Configuration.}}
        | {{#if:  || }}
      }}
    | {{#if:  || }}Vorlage:Webarchiv/Wartung/Linktext_fehlt
  }}{{#switch: 
    |addlarchives|addlpages= {{#if:  || }}{{#if: 1 |Vorlage:Webarchiv/Wartung/Parameter}}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: enWP-Wert im Parameter 'format'.|1}}
  }}{{#ifeq: {{#invoke:Str|find|http://www.charvolant.org/~doug/xkb/html/node3.html#SECTION00033000000000000000%7Carchiv}} |-1
    || {{#ifeq: {{#invoke:Str|find|{{#invoke:Str|cropleft|http://www.charvolant.org/~doug/xkb/html/node3.html#SECTION00033000000000000000%7C4}}%7Chttp}} |-1
         || {{#switch: {{#invoke:Webarchiv|getdomain|http://www.charvolant.org/~doug/xkb/html/node3.html#SECTION00033000000000000000 }}
              | abendblatt.de | daserste.ndr.de | inarchive.com | webcitation.org = 
              | #default = {{#if:  || }}{{#if: 1 |Vorlage:Webarchiv/Wartung/URL}}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Archiv-URL im Parameter 'url' anstatt URL der Originalquelle. Entferne den vor der Original-URL stehenden Mementobestandteil und setze den Archivierungszeitstempel in den Parameter 'wayback', 'webciteID', 'archive.today' oder 'archive-is' ein, sofern nicht bereits befüllt.|1}}
            }} 
       }}
  }} Stand Oktober 2004.</ref><ref name="Wesp">Ingomar Wesp: Eigene Tastaturbelegungen in X11 (X.Org / XFree86). Stand Januar 2008.</ref> 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

<references />