Tastaturgeräte

Android unterstützt eine Vielzahl von Tastaturgeräten, darunter Tastaturen mit Sonderfunktionen (Lautstärke- und Leistungssteuerung), kompakte integrierte QWERTZ-Tastaturen und voll ausgestattete externe Tastaturen im PC-Stil.

In diesem Dokument werden nur physische Tastaturen beschrieben. Informationen zu Softtastaturen (Eingabemethoden-Editoren) finden Sie im Android SDK.

Tastaturklassifizierung

Ein Eingabegerät wird als Tastatur klassifiziert, wenn eine der folgenden Bedingungen zutrifft:

  • Das Eingabegerät meldet das Vorhandensein aller auf Tastaturen verwendeten Linux-Tastencodes, einschließlich 0 bis 0xff oder KEY_OK bis KEY_MAX .

  • Das Eingabegerät meldet das Vorhandensein aller Linux-Tastencodes, die auf Joysticks und Gamepads verwendet werden, einschließlich BTN_0 bis BTN_9 , BTN_TRIGGER bis BTN_DEAD oder BTN_A bis BTN_THUMBR .

Joysticks werden derzeit als Tastaturen klassifiziert, da Joystick- und Gamepad-Tasten von EV_KEY Ereignissen auf die gleiche Weise gemeldet werden wie Tastaturtasten. So nutzen Joysticks und Gamepads auch Key-Map-Dateien zur Konfiguration.

Sobald ein Eingabegerät als Tastatur klassifiziert wurde, lädt das System die Konfigurationsdatei des Eingabegeräts und das Tastaturlayout für die Tastatur.

Das System versucht dann, weitere Eigenschaften des Geräts zu ermitteln.

  • Wenn das Eingabegerät über Tasten verfügt, die KEYCODE_Q zugeordnet sind, wird davon ausgegangen, dass das Gerät über eine alphabetische Tastatur (im Gegensatz zu einer numerischen) verfügt. Die alphabetische Tastaturfunktion wird im Configuration als KEYBOARD_QWERTY gemeldet.

  • Wenn das Eingabegerät über Tasten verfügt, die KEYCODE_DPAD_UP , KEYCODE_DPAD_DOWN , KEYCODE_DPAD_LEFT , KEYCODE_DPAD_RIGHT und KEYCODE_DPAD_CENTER zugeordnet sind (alle müssen vorhanden sein), wird davon ausgegangen, dass das Gerät über eine Richtungstastatur verfügt. Die Richtungstastaturfunktion wird im Configuration als NAVIGATION_DPAD gemeldet.

  • Wenn das Eingabegerät über Tasten verfügt, die KEYCODE_BUTTON_A oder anderen Gamepad-bezogenen Tasten zugeordnet sind, wird davon ausgegangen, dass das Gerät über ein Gamepad verfügt.

Anforderungen an den Tastaturtreiber

  1. Tastaturtreiber sollten nur Tastencodes für die Tasten registrieren, die sie tatsächlich unterstützen. Das Registrieren überschüssiger Tastencodes kann den Geräteklassifizierungsalgorithmus verwirren oder dazu führen, dass das System die unterstützten Tastaturfunktionen des Geräts falsch erkennt.

  2. Tastaturtreiber sollten EV_KEY verwenden, um Tastendrücke zu melden, wobei ein Wert von 0 verwendet wird, um anzuzeigen, dass eine Taste losgelassen wird, ein Wert von 1 , um anzuzeigen, dass eine Taste gedrückt wird, und ein Wert größer oder gleich 2 , um anzuzeigen, dass die Taste losgelassen wird automatisch wiederholt.

  3. Android führt eine eigene Tastaturwiederholung durch. Die automatische Wiederholungsfunktion sollte im Treiber deaktiviert sein.

  4. Tastaturtreiber können optional die HID-Nutzung oder den Low-Level-Scancode anzeigen, indem sie EV_MSC mit MSC_SCANCODE und einem Wert senden, der die Verwendung oder den Scancode angibt, wenn die Taste gedrückt wird. Diese Informationen werden derzeit nicht von Android verwendet.

  5. Tastaturtreiber sollten das Festlegen von LED-Zuständen unterstützen, wenn EV_LED auf das Gerät geschrieben wird. Der hid-input Treiber erledigt dies automatisch. Zum Zeitpunkt des Verfassens dieses Artikels verwendet Android LED_CAPSLOCK , LED_SCROLLLOCK und LED_NUMLOCK . Diese LEDs müssen nur dann unterstützt werden, wenn die Tastatur tatsächlich über die zugehörigen Anzeigeleuchten verfügt.

  6. Tastaturtreiber für eingebettete Tastaturen (z. B. mit einer GPIO-Matrix) sollten sicherstellen, dass EV_KEY Ereignisse mit dem Wert 0 für alle Tasten gesendet werden, die noch gedrückt werden, wenn das Gerät in den Ruhezustand wechselt. Andernfalls kann es passieren, dass die Tasten hängen bleiben und die automatische Wiederholung für immer erfolgt.

Tastaturbedienung

Im Folgenden finden Sie eine kurze Zusammenfassung der Tastaturbedienung unter Android.

  1. Der EventHub liest Rohereignisse vom evdev Treiber und ordnet Linux-Tastencodes (manchmal auch als Scan-Codes bezeichnet) anhand der Tastenbelegungszuordnung der Tastatur Android-Tastencodes zu.

  2. Der InputReader konsumiert die Rohereignisse und aktualisiert den Metaschlüsselstatus. Wenn beispielsweise die linke Umschalttaste gedrückt oder losgelassen wird, setzt oder setzt der Leser die Bits META_SHIFT_LEFT_ON und META_SHIFT_ON entsprechend.

  3. Der InputReader benachrichtigt den InputDispatcher über das Schlüsselereignis.

  4. Der InputDispatcher fragt die WindowManagerPolicy was mit dem Schlüsselereignis geschehen soll, indem er WindowManagerPolicy.interceptKeyBeforeQueueing aufruft. Diese Methode ist Teil eines kritischen Pfads, der dafür verantwortlich ist, das Gerät aufzuwecken, wenn bestimmte Tasten gedrückt werden. Der EventHub hält entlang dieses kritischen Pfads effektiv eine Wecksperre, um sicherzustellen, dass er vollständig ausgeführt wird.

  5. Wenn derzeit ein InputFilter verwendet wird, gibt ihm der InputDispatcher die Möglichkeit, den Schlüssel zu konsumieren oder umzuwandeln. Der InputFilter kann verwendet werden, um systemweite Barrierefreiheitsrichtlinien auf niedriger Ebene zu implementieren.

  6. Der InputDispatcher stellt den Schlüssel zur Verarbeitung im Dispatch-Thread in die Warteschlange.

  7. Wenn der InputDispatcher den Schlüssel aus der Warteschlange entfernt, gibt er der WindowManagerPolicy eine zweite Chance, das Schlüsselereignis abzufangen, indem er WindowManagerPolicy.interceptKeyBeforeDispatching aufruft. Diese Methode verarbeitet Systemverknüpfungen und andere Funktionen.

  8. Der InputDispatcher identifiziert dann das Schlüsselereignisziel (das fokussierte Fenster) und wartet darauf, dass es bereit ist. Anschließend übermittelt der InputDispatcher das Schlüsselereignis an die Anwendung.

  9. Innerhalb der Anwendung wird das Schlüsselereignis entlang der Ansichtshierarchie an die fokussierte Ansicht weitergegeben, um den Schlüsselversand vor dem IME zu ermöglichen.

  10. Wenn das Schlüsselereignis im Vor-IME-Versand nicht behandelt wird und ein IME verwendet wird, wird das Schlüsselereignis an den IME übermittelt.

  11. Wenn das Schlüsselereignis nicht vom IME genutzt wurde, wird das Schlüsselereignis in der Ansichtshierarchie nach unten an die fokussierte Ansicht für den Standardschlüsselversand weitergegeben.

  12. Die Anwendung meldet dem InputDispatcher zurück, ob das Schlüsselereignis verbraucht wurde. Wenn das Ereignis nicht verbraucht wurde, ruft der InputDispatcher WindowManagerPolicy.dispatchUnhandledKey auf, um ein „Fallback“-Verhalten anzuwenden. Abhängig von der Fallback-Aktion kann der Schlüsselereignis-Versandzyklus mit einem anderen Schlüsselcode neu gestartet werden. Wenn eine Anwendung beispielsweise KEYCODE_ESCAPE nicht verarbeitet, sendet das System das Schlüsselereignis möglicherweise stattdessen als KEYCODE_BACK weiter.

Tastaturkonfiguration

Das Tastaturverhalten wird durch das Tastenlayout der Tastatur, die Tastenbelegung und die Konfiguration des Eingabegeräts bestimmt.

Weitere Informationen zu den Dateien, die an der Tastaturkonfiguration beteiligt sind, finden Sie in den folgenden Abschnitten:

Eigenschaften

Die folgenden Konfigurationseigenschaften für Eingabegeräte werden für Tastaturen verwendet.

Tastaturbelegung

Definition: keyboard.layout = <Name>

Gibt den Namen der Tastenlayoutdatei an, die dem Eingabegerät zugeordnet ist, ohne die Erweiterung .kl . Wenn diese Datei nicht gefunden wird, verwendet das Eingabesystem stattdessen das Standardtastenlayout.

Leerzeichen im Namen werden bei der Suche in Unterstriche umgewandelt.

Weitere Einzelheiten finden Sie in der Dokumentation zur Schlüssellayoutdatei.

keyboard.characterMap

Definition: keyboard.characterMap = <name>

Gibt den Namen der Tastenzeichentabellendatei an, die dem Eingabegerät zugeordnet ist, mit Ausnahme der Erweiterung .kcm . Wenn diese Datei nicht gefunden wird, verwendet das Eingabesystem stattdessen die Standard-Tastenzeichentabelle.

Leerzeichen im Namen werden bei der Suche in Unterstriche umgewandelt.

Weitere Einzelheiten finden Sie in der Dokumentation zur Tastenzuordnungsdatei.

keyboard.orientationAware

Definition: keyboard.orientationAware = 0 | 1

Gibt an, ob die Tastatur auf Änderungen der Anzeigeausrichtung reagieren soll.

  • Wenn der Wert 1 ist, werden die Richtungstasten des Tastenfelds gedreht, wenn sich die zugehörige Anzeigeausrichtung ändert.

  • Wenn der Wert 0 ist, ist die Tastatur immun gegen Änderungen der Anzeigeausrichtung.

Der Standardwert ist 0 .

Die Orientierungserkennung wird verwendet, um die Drehung der Richtungstasten des Tastenfelds zu unterstützen, beispielsweise beim Motorola Droid. Wenn das Gerät beispielsweise um 90 Grad von seiner natürlichen Ausrichtung im Uhrzeigersinn gedreht wird, wird KEYCODE_DPAD_UP neu zugeordnet, um KEYCODE_DPAD_RIGHT zu erzeugen, da die Aufwärtstaste letztendlich nach „rechts“ zeigt, wenn das Gerät in dieser Ausrichtung gehalten wird.

keyboard.builtIn

Definition: keyboard.builtIn = 0 | 1

Gibt an, ob es sich bei der Tastatur um die integrierte (physisch angeschlossene) Tastatur handelt.

Der Standardwert ist 1 , wenn der Gerätename mit -keypad endet, andernfalls 0 .

Der integrierten Tastatur wird immer die Geräte-ID 0 zugewiesen. Anderen Tastaturen, die nicht integriert sind, werden eindeutige Geräte-IDs ungleich Null zugewiesen.

Die Verwendung einer ID von 0 für die integrierte Tastatur ist wichtig, um die Kompatibilität mit dem Feld KeyCharacterMap.BUILT_IN_KEYBOARD aufrechtzuerhalten, das die ID der integrierten Tastatur angibt und den Wert 0 hat. Dieses Feld ist in der API veraltet, wird aber möglicherweise noch von älteren Anwendungen verwendet.

Eine Sonderfunktionstastatur (eine, deren Tastenbelegung einen Typ von SPECIAL_FUNCTION angibt) wird unabhängig von der Einstellung dieser Eigenschaft niemals als integrierte Tastatur registriert. Dies liegt daran, dass eine Tastatur mit Sonderfunktionen per Definition nicht für die Verwendung zum allgemeinen Tippen gedacht ist.

Beispielkonfigurationen

# This is an example input device configuration file for a built-in
# keyboard that has a DPad.

# The keyboard is internal because it is part of the device.
device.internal = 1

# The keyboard is the default built-in keyboard so it should be assigned
# an id of 0.
keyboard.builtIn = 1

# The keyboard includes a DPad which is mounted on the device.  As the device
# is rotated the orientation of the DPad rotates along with it, so the DPad must
# be aware of the display orientation.  This ensures that pressing 'up' on the
# DPad always means 'up' from the perspective of the user, even when the entire
# device has been rotated.
keyboard.orientationAware = 1

Kompatibilitätshinweise

Vor Honeycomb verwendete der Tastatureingabe-Mapper keine Konfigurationseigenschaften. Es wurde davon ausgegangen, dass alle Tastaturen physisch befestigt sind und ihre Ausrichtung erkennen kann. Das Standard-Tastenlayout und die Tastenzeichentabelle wurden qwerty anstelle von Generic genannt. Auch das Format der Tastenzuordnung war sehr unterschiedlich und das Framework unterstützte weder PC-ähnliche Volltastaturen noch externe Tastaturen.

Stellen Sie beim Upgrade von Geräten auf Honeycomb sicher, dass Sie die erforderlichen Konfigurations- und Tastenzuordnungsdateien erstellen oder aktualisieren.

HID-Verwendungen, Linux-Schlüsselcodes und Android-Schlüsselcodes

Das System bezieht sich auf Schlüssel, die je nach Abstraktionsebene mehrere unterschiedliche Bezeichner verwenden.

Bei HID-Geräten ist jedem Schlüssel eine HID-Nutzung zugeordnet. Der Linux- hid-input Treiber und zugehörige hersteller- und gerätespezifische HID-Treiber sind für die Analyse von HID-Berichten und die Zuordnung von HID-Verwendungen zu Linux-Schlüsselcodes verantwortlich.

Während Android EV_KEY Ereignisse vom Linux-Kernel liest, übersetzt es jeden Linux-Tastencode entsprechend der Tastenlayoutdatei des Geräts in den entsprechenden Android-Tastencode.

Wenn das Schlüsselereignis an eine Anwendung gesendet wird, meldet die Instanz android.view.KeyEvent den Linux-Schlüsselcode als Wert von getScanCode() und den Android-Schlüsselcode als Wert von getKeyCode() . Für die Zwecke des Frameworks ist nur der Wert von getKeyCode() wichtig.

Beachten Sie, dass die HID-Nutzungsinformationen nicht von Android selbst verwendet oder an Anwendungen weitergegeben werden.

Codetabellen

Die folgenden Tabellen zeigen, wie HID-Nutzungen, Linux-Tastencodes und Android-Tastencodes miteinander zusammenhängen.

Die Spalte LKC gibt den Linux-Schlüsselcode im Hexadezimalformat an.

Die AKC-Spalte gibt den Android-Schlüsselcode im Hexadezimalformat an.

Die Spalte „Notizen“ bezieht sich auf Notizen, die nach der Tabelle gepostet werden.

Die Spalte „Version“ gibt die erste Version der Android-Plattform an, die diesen Schlüssel in ihre Standardschlüsselzuordnung aufgenommen hat. In Fällen, in denen sich die Standard-Tastenzuordnung zwischen den Versionen geändert hat, werden mehrere Zeilen angezeigt. Die älteste angegebene Version ist 1.6.

  • In Gingerbread (2.3) und früheren Versionen war die Standardtastenzuordnung qwerty.kl . Diese Tastenbelegung war nur für die Verwendung mit dem Android-Emulator gedacht und nicht zur Unterstützung beliebiger externer Tastaturen. Dennoch haben einige OEMs der Plattform Bluetooth-Tastaturunterstützung hinzugefügt und sich auf qwerty.kl verlassen, um die erforderlichen Tastaturzuordnungen bereitzustellen. Daher könnten diese älteren Zuordnungen für OEMs von Interesse sein, die Peripheriegeräte für diese speziellen Geräte bauen. Beachten Sie, dass sich die Zuordnungen erheblich von den aktuellen unterscheiden, insbesondere im Hinblick auf die Behandlung der HOME Taste. Es wird empfohlen, alle neuen Peripheriegeräte gemäß Honeycomb oder neueren Schlüsselkarten (d. h. Standard-HID) zu entwickeln.

  • Ab Honeycomb (3.0) ist die Standardschlüsselzuordnung Generic.kl . Diese Tastenbelegung wurde für die Unterstützung vollständiger PC-Tastaturen entwickelt. Die meisten Funktionen von Standard-HID-Tastaturen sollten sofort funktionieren.

Die Tastencodezuordnung kann je nach Linux-Kernel- und Android-Version variieren. Wenn bekannt ist, dass an den Android-Standardtastenzuordnungen Änderungen vorgenommen wurden, werden diese in der Versionsspalte angezeigt.

Gerätespezifische HID-Treiber und Tastenzuordnungen können andere Zuordnungen als die hier angegebenen anwenden.

HID-Tastatur- und Tastaturseite (0x07)

HID-Nutzung HID-Nutzungsname LKC Name des Linux-Schlüsselcodes Ausführung AKC Name des Android-Schlüsselcodes Anmerkungen
0x07 0x0001 Tastaturfehler-Rollover
0x07 0x0002 Tastatur-POST-Fehler
0x07 0x0003 Tastaturfehler undefiniert
0x07 0x0004 Tastatur a und A 0x001e KEY_A 1.6 0x001d KEYCODE_A 1
0x07 0x0005 Tastatur b und B 0x0030 KEY_B 1.6 0x001e KEYCODE_B 1
0x07 0x0006 Tastatur c und C 0x002e KEY_C 1.6 0x001f KEYCODE_C 1
0x07 0x0007 Tastatur d und D 0x0020 KEY_D 1.6 0x0020 KEYCODE_D 1
0x07 0x0008 Tastatur e und E 0x0012 KEY_E 1.6 0x0021 KEYCODE_E 1
0x07 0x0009 Tastatur f und F 0x0021 KEY_F 1.6 0x0022 KEYCODE_F 1
0x07 0x000a Tastatur g und G 0x0022 KEY_G 1.6 0x0023 KEYCODE_G 1
0x07 0x000b Tastatur h und H 0x0023 KEY_H 1.6 0x0024 KEYCODE_H 1
0x07 0x000c Tastatur i und ich 0x0017 KEY_I 1.6 0x0025 KEYCODE_I 1
0x07 0x000d Tastatur j und J 0x0024 KEY_J 1.6 0x0026 KEYCODE_J 1
0x07 0x000e Tastatur k und K 0x0025 KEY_K 1.6 0x0027 KEYCODE_K 1
0x07 0x000f Tastatur l und L 0x0026 KEY_L 1.6 0x0028 KEYCODE_L 1
0x07 0x0010 Tastatur m und M 0x0032 KEY_M 1.6 0x0029 KEYCODE_M 1
0x07 0x0011 Tastatur n und N 0x0031 KEY_N 1.6 0x002a KEYCODE_N 1
0x07 0x0012 Tastatur o und O 0x0018 KEY_O 1.6 0x002b KEYCODE_O 1
0x07 0x0013 Tastatur p und P 0x0019 KEY_P 1.6 0x002c KEYCODE_P 1
0x07 0x0014 Tastatur q und Q 0x0010 KEY_Q 1.6 0x002d KEYCODE_Q 1
0x07 0x0015 Tastatur r und R 0x0013 KEY_R 1.6 0x002e KEYCODE_R 1
0x07 0x0016 Tastatur s und S 0x001f SCHLÜSSEL 1.6 0x002f KEYCODE_S 1
0x07 0x0017 Tastatur t und T 0x0014 KEY_T 1.6 0x0030 KEYCODE_T 1
0x07 0x0018 Tastatur u und U 0x0016 KEY_U 1.6 0x0031 KEYCODE_U 1
0x07 0x0019 Tastatur v und V 0x002f KEY_V 1.6 0x0032 KEYCODE_V 1
0x07 0x001a Tastatur w und W 0x0011 KEY_W 1.6 0x0033 KEYCODE_W 1
0x07 0x001b Tastatur x und X 0x002d KEY_X 1.6 0x0034 KEYCODE_X 1
0x07 0x001c Tastatur y und Y 0x0015 KEY_Y 1.6 0x0035 KEYCODE_Y 1
0x07 0x001d Tastatur z und Z 0x002c KEY_Z 1.6 0x0036 KEYCODE_Z 1
0x07 0x001e Tastatur 1 und ! 0x0002 SCHLÜSSEL_1 1.6 0x0008 SCHLÜSSELCODE_1 1
0x07 0x001f Tastatur 2 und @ 0x0003 SCHLÜSSEL_2 1.6 0x0009 SCHLÜSSELCODE_2 1
0x07 0x0020 Tastatur 3 und # 0x0004 SCHLÜSSEL_3 1.6 0x000a SCHLÜSSELCODE_3 1
0x07 0x0021 Tastatur 4 und $ 0x0005 SCHLÜSSEL_4 1.6 0x000b SCHLÜSSELCODE_4 1
0x07 0x0022 Tastatur 5 und % 0x0006 SCHLÜSSEL_5 1.6 0x000c KEYCODE_5 1
0x07 0x0023 Tastatur 6 und ^ 0x0007 SCHLÜSSEL_6 1.6 0x000d SCHLÜSSELCODE_6 1
0x07 0x0024 Tastatur 7 und & 0x0008 SCHLÜSSEL_7 1.6 0x000e SCHLÜSSELCODE_7 1
0x07 0x0025 Tastatur 8 und * 0x0009 SCHLÜSSEL_8 1.6 0x000f SCHLÜSSELCODE_8 1
0x07 0x0026 Tastatur 9 und ( 0x000a SCHLÜSSEL_9 1.6 0x0010 SCHLÜSSELCODE_9 1
0x07 0x0027 Tastatur 0 und ) 0x000b KEY_0 1.6 0x0007 KEYCODE_0 1
0x07 0x0028 Tastatur-Return (ENTER) 0x001c KEY_ENTER 1.6 0x0042 KEYCODE_ENTER 1
0x07 0x0029 Tastatur ESCAPE 0x0001 KEY_ESC 3,0 0x006f KEYCODE_ESCAPE
„“ „“ „“ „“ 2.3 0x0004 KEYCODE_BACK
0x07 0x002a Tastatur LÖSCHEN (Rücktaste) 0x000e KEY_BACKSPACE 1.6 0x0043 KEYCODE_DEL
0x07 0x002b Registerkarte „Tastatur“. 0x000f KEY_TAB 1.6 0x003d KEYCODE_TAB
0x07 0x002c Leertaste der Tastatur 0x0039 KEY_SPACE 1.6 0x003e KEYCODE_SPACE
0x07 0x002d Tastatur - und _ 0x000c KEY_MINUS 1.6 0x0045 KEYCODE_MINUS 1
0x07 0x002e Tastatur = und + 0x000d KEY_EQUAL 1.6 0x0046 KEYCODE_EQUALS 1
0x07 0x002f Tastatur [ und { 0x001a KEY_LEFTBRACE 1.6 0x0047 KEYCODE_LEFT_BRACKET 1
0x07 0x0030 Tastatur ] und } 0x001b KEY_RIGHTBRACE 1.6 0x0048 KEYCODE_RIGHT_BRACKET 1
0x07 0x0031 Tastatur \ und | 0x002b KEY_BACKSLASH 1.6 0x0049 KEYCODE_BACKSLASH 1
0x07 0x0032 Tastatur Nicht-US # und ~ 0x002b KEY_BACKSLASH 1.6 0x0049 KEYCODE_BACKSLASH 1
0x07 0x0033 Tastatur ; Und : 0x0027 KEY_SEMICOLON 1.6 0x004a KEYCODE_SEMICOLON 1
0x07 0x0034 Tastatur ' und " 0x0028 KEY_APOSTROPHE 1.6 0x004b KEYCODE_APOSTROPHE 1
0x07 0x0035 Tastatur ` und ~ 0x0029 KEY_GRAVE 3,0 0x0044 KEYCODE_GRAVE 1
0x07 0x0036 Tastatur und < 0x0033 KEY_COMMA 1.6 0x0037 KEYCODE_COMMA 1
0x07 0x0037 Tastatur . und > 0x0034 KEY_DOT 1.6 0x0038 KEYCODE_PERIOD 1
0x07 0x0038 Tastatur / und ? 0x0035 KEY_SLASH 1.6 0x004c KEYCODE_SLASH 1
0x07 0x0039 Feststelltaste der Tastatur 0x003a KEY_CAPSLOCK 3,0 0x0073 KEYCODE_CAPS_LOCK
0x07 0x003a Tastatur F1 0x003b TASTE_F1 3,0 0x0083 SCHLÜSSELCODE_F1
„“ „“ „“ „“ 1.6 0x0052 KEYCODE_MENU
0x07 0x003b Tastatur F2 0x003c SCHLÜSSEL_F2 3,0 0x0084 SCHLÜSSELCODE_F2
„“ „“ „“ „“ 1.6 0x0002 KEYCODE_SOFT_RIGHT
0x07 0x003c Tastatur F3 0x003d TASTE_F3 3,0 0x0085 SCHLÜSSELCODE_F3
„“ „“ „“ „“ 1.6 0x0005 KEYCODE_CALL
0x07 0x003d Tastatur F4 0x003e TASTE_F4 3,0 0x0086 SCHLÜSSELCODE_F4
„“ „“ „“ „“ 1.6 0x0006 KEYCODE_ENDCALL
0x07 0x003e Tastatur F5 0x003f TASTE_F5 3,0 0x0087 SCHLÜSSELCODE_F5
0x07 0x003f Tastatur F6 0x0040 TASTE_F6 3,0 0x0088 SCHLÜSSELCODE_F6
0x07 0x0040 Tastatur F7 0x0041 TASTE_F7 3,0 0x0089 SCHLÜSSELCODE_F7
0x07 0x0041 Tastatur F8 0x0042 TASTE_F8 3,0 0x008a SCHLÜSSELCODE_F8
0x07 0x0042 Tastatur F9 0x0043 TASTE_F9 3,0 0x008b SCHLÜSSELCODE_F9
0x07 0x0043 Tastatur F10 0x0044 TASTE_F10 3,0 0x008c SCHLÜSSELCODE_F10
„“ „“ „“ „“ 2.3 0x0052 KEYCODE_MENU
0x07 0x0044 Tastatur F11 0x0057 TASTE_F11 3,0 0x008d SCHLÜSSELCODE_F11
0x07 0x0045 Tastatur F12 0x0058 TASTE_F12 3,0 0x008e SCHLÜSSELCODE_F12
0x07 0x0046 Tastatur-Druckbildschirm 0x0063 KEY_SYSRQ 3,0 0x0078 KEYCODE_SYSRQ
0x07 0x0047 Scroll-Sperre der Tastatur 0x0046 KEY_SCROLLLOCK 3,0 0x0074 KEYCODE_SCROLL_LOCK
0x07 0x0048 Tastaturpause 0x0077 KEY_PAUSE 3,0 0x0079 KEYCODE_BREAK
0x07 0x0049 Tastatureinsatz 0x006e KEY_INSERT 3,0 0x007c KEYCODE_INSERT
0x07 0x004a Startseite der Tastatur 0x0066 KEY_HOME 3,0 0x007a KEYCODE_MOVE_HOME
„“ „“ „“ „“ 1.6 0x0003 KEYCODE_HOME
0x07 0x004b Seite nach oben auf der Tastatur 0x0068 KEY_PAGEUP 3,0 0x005c KEYCODE_PAGE_UP
0x07 0x004c Tastatur löschen Vorwärts 0x006f KEY_DELETE 3,0 0x0070 KEYCODE_FORWARD_DEL
0x07 0x004d Tastaturende 0x006b KEY_END 3,0 0x007b KEYCODE_MOVE_END
„“ „“ „“ „“ 1.6 0x0006 KEYCODE_ENDCALL
0x07 0x004e Seite nach unten auf der Tastatur 0x006d KEY_PAGEDOWN 3,0 0x005d KEYCODE_PAGE_DOWN
0x07 0x004f Rechtspfeil der Tastatur 0x006a KEY_RIGHT 1.6 0x0016 KEYCODE_DPAD_RIGHT
0x07 0x0050 Linkspfeil der Tastatur 0x0069 KEY_LEFT 1.6 0x0015 KEYCODE_DPAD_LEFT
0x07 0x0051 Abwärtspfeil der Tastatur 0x006c TASTE NACH UNTEN 1.6 0x0014 KEYCODE_DPAD_DOWN
0x07 0x0052 Aufwärtspfeil der Tastatur 0x0067 KEY_UP 1.6 0x0013 KEYCODE_DPAD_UP
0x07 0x0053 Num Lock und Clear der Tastatur 0x0045 KEY_NUMLOCK 3,0 0x008f KEYCODE_NUM_LOCK
0x07 0x0054 Tastatur / 0x0062 KEY_KPSLASH 3,0 0x009a KEYCODE_NUMPAD_DIVIDE
0x07 0x0055 Tastatur * 0x0037 KEY_KPASTERISK 3,0 0x009b KEYCODE_NUMPAD_MULTIPLY
0x07 0x0056 Tastatur - 0x004a KEY_KPMINUS 3,0 0x009c KEYCODE_NUMPAD_SUBTRACT
0x07 0x0057 Tastatur + 0x004e KEY_KPPLUS 3,0 0x009d KEYCODE_NUMPAD_ADD
0x07 0x0058 Tastatur ENTER 0x0060 KEY_KPENTER 3,0 0x00a0 KEYCODE_NUMPAD_ENTER
0x07 0x0059 Tastatur 1 und Ende 0x004f KEY_KP1 3,0 0x0091 KEYCODE_NUMPAD_1
0x07 0x005a Tastatur 2 und Abwärtspfeil 0x0050 KEY_KP2 3,0 0x0092 KEYCODE_NUMPAD_2
0x07 0x005b Tastatur 3 und PageDn 0x0051 KEY_KP3 3,0 0x0093 KEYCODE_NUMPAD_3
0x07 0x005c Tastatur 4 und Pfeil nach links 0x004b KEY_KP4 3,0 0x0094 KEYCODE_NUMPAD_4
0x07 0x005d Tastatur 5 0x004c KEY_KP5 3,0 0x0095 KEYCODE_NUMPAD_5
0x07 0x005e Tastatur 6 und Rechtspfeil 0x004d KEY_KP6 3,0 0x0096 KEYCODE_NUMPAD_6
0x07 0x005f Tastatur 7 und Home 0x0047 KEY_KP7 3,0 0x0097 KEYCODE_NUMPAD_7
0x07 0x0060 Tastatur 8 und Aufwärtspfeil 0x0048 KEY_KP8 3,0 0x0098 KEYCODE_NUMPAD_8
0x07 0x0061 Tastatur 9 und Seite nach oben 0x0049 KEY_KP9 3,0 0x0099 KEYCODE_NUMPAD_9
0x07 0x0062 Tastatur 0 und Einfügen 0x0052 KEY_KP0 3,0 0x0090 KEYCODE_NUMPAD_0
0x07 0x0063 Tastatur. und Löschen 0x0053 KEY_KPDOT 3,0 0x009e KEYCODE_NUMPAD_DOT
0x07 0x0064 Tastatur Nicht-US \ und | 0x0056 KEY_102ND 4,0 0x0049 KEYCODE_BACKSLASH 1
0x07 0x0065 Tastaturanwendung 0x007f KEY_COMPOSE 3,0 0x0052 KEYCODE_MENU
„“ „“ „“ „“ 1.6 0x0054 KEYCODE_SEARCH
0x07 0x0066 Tastaturleistung 0x0074 KEY_POWER 1.6 0x001a KEYCODE_POWER
0x07 0x0067 Tastatur = 0x0075 KEY_KPEQUAL 3,0 0x00a1 KEYCODE_NUMPAD_EQUALS
0x07 0x0068 Tastatur F13 0x00b7 TASTE_F13
0x07 0x0069 Tastatur F14 0x00b8 SCHLÜSSEL_F14
0x07 0x006a Tastatur F15 0x00b9 TASTE_F15
0x07 0x006b Tastatur F16 0x00ba TASTE_F16
0x07 0x006c Tastatur F17 0x00bb TASTE_F17
0x07 0x006d Tastatur F18 0x00bc TASTE_F18
0x07 0x006e Tastatur F19 0x00bd TASTE_F19
0x07 0x006f Tastatur F20 0x00be SCHLÜSSEL_F20
0x07 0x0070 Tastatur F21 0x00bf SCHLÜSSEL_F21
0x07 0x0071 Tastatur F22 0x00c0 SCHLÜSSEL_F22
0x07 0x0072 Tastatur F23 0x00c1 SCHLÜSSEL_F23
0x07 0x0073 Tastatur F24 0x00c2 SCHLÜSSEL_F24
0x07 0x0074 Tastaturausführung 0x0086 KEY_OPEN
0x07 0x0075 Tastaturhilfe 0x008a KEY_HELP
0x07 0x0076 Tastaturmenü 0x0082 KEY_PROPS
0x07 0x0077 Tastaturauswahl 0x0084 KEY_FRONT
0x07 0x0078 Tastaturstopp 0x0080 KEY_STOP 3,0 0x0056 KEYCODE_MEDIA_STOP
0x07 0x0079 Wieder Tastatur 0x0081 KEY_AGAIN
0x07 0x007a Tastatur rückgängig machen 0x0083 KEY_UNDO
0x07 0x007b Tastaturschnitt 0x0089 KEY_CUT
0x07 0x007c Tastaturkopie 0x0085 KEY_COPY
0x07 0x007d Tastatur einfügen 0x0087 KEY_PASTE
0x07 0x007e Tastatursuche 0x0088 KEY_FIND
0x07 0x007f Stummschaltung der Tastatur 0x0071 KEY_MUTE 3,0 0x00a4 KEYCODE_VOLUME_MUTE
0x07 0x0080 Tastaturlautstärke erhöhen 0x0073 KEY_VOLUMEUP 1.6 0x0018 KEYCODE_VOLUME_UP
0x07 0x0081 Lautstärke der Tastatur verringern 0x0072 KEY_VOLUMEDOWN 1.6 0x0019 KEYCODE_VOLUME_DOWN
0x07 0x0082 Tastaturverriegelung, Feststelltaste
0x07 0x0083 Tastatursperre Num Lock
0x07 0x0084 Tastatursperre Scroll-Sperre
0x07 0x0085 Tastaturkomma 0x0079 KEY_KPCOMMA 3,0 0x009f KEYCODE_NUMPAD_COMMA
0x07 0x0086 Tastatur-Gleichheitszeichen
0x07 0x0087 Tastatur International1 0x0059 KEY_RO
0x07 0x0088 Tastatur International2 0x005d KEY_KATAKANAHIRAGANA
0x07 0x0089 Tastatur International3 0x007c KEY_YEN
0x07 0x008a Tastatur International4 0x005c KEY_HENKAN
0x07 0x008b Tastatur International5 0x005e KEY_MUHENKAN
0x07 0x008c Tastatur International6 0x005f KEY_KPJPCOMMA
0x07 0x008d Tastatur International7
0x07 0x008e Tastatur International8
0x07 0x008f Tastatur International9
0x07 0x0090 Tastatur LANG1 0x007a KEY_HANGEUL
0x07 0x0091 Tastatur LANG2 0x007b KEY_HANJA
0x07 0x0092 Tastatur LANG3 0x005a KEY_KATAKANA
0x07 0x0093 Tastatur LANG4 0x005b KEY_HIRAGANA
0x07 0x0094 Tastatur LANG5 0x0055 KEY_ZENKAKUHANKAKU
0x07 0x0095 Tastatur LANG6
0x07 0x0096 Tastatur LANG7
0x07 0x0097 Tastatur LANG8
0x07 0x0098 Tastatur LANG9
0x07 0x0099 Alternatives Löschen über die Tastatur
0x07 0x009a Tastatur SysReq/Attention
0x07 0x009b Tastaturabbruch
0x07 0x009c Tastatur klar
0x07 0x009d Tastatur Prior
0x07 0x009e Tastaturrückgabe
0x07 0x009f Tastaturtrenner
0x07 0x00a0 Tastaturausgang
0x07 0x00a1 Tastenoper
0x07 0x00a2 Tastatur löschen/erneut
0x07 0x00a3 Tastatur CrSel/Props
0x07 0x00a4 Tastatur ExSel
0x07 0x00b0 Tastatur 00
0x07 0x00b1 Tastatur 000
0x07 0x00b2 Tausendertrennzeichen
0x07 0x00b3 Dezimaltrennzeichen
0x07 0x00b4 Währungseinheit
0x07 0x00b5 Währungsuntereinheit
0x07 0x00b6 Tastatur ( 0x00b3 KEY_KPLEFTPAREN 3,0 0x00a2 KEYCODE_NUMPAD_LEFT_PAREN
0x07 0x00b7 Tastatur) 0x00b4 KEY_KPRIGHTPAREN 3,0 0x00a3 KEYCODE_NUMPAD_RIGHT_PAREN
0x07 0x00b8 Tastatur {
0x07 0x00b9 Tastatur }
0x07 0x00ba Registerkarte „Tastatur“.
0x07 0x00bb Tastatur-Rücktaste
0x07 0x00bc Tastatur A
0x07 0x00bd Tastatur B
0x07 0x00be Tastatur C
0x07 0x00bf Tastatur D
0x07 0x00c0 Tastatur E
0x07 0x00c1 Tastatur F
0x07 0x00c2 Tastatur XOR
0x07 0x00c3 Tastatur ^
0x07 0x00c4 Tastatur %
0x07 0x00c5 Tastatur <
0x07 0x00c6 Tastatur >
0x07 0x00c7 Tastatur &
0x07 0x00c8 Tastatur &&
0x07 0x00c9 Tastatur |
0x07 0x00ca Tastatur ||
0x07 0x00cb Tastatur:
0x07 0x00cc Tastatur #
0x07 0x00cd Tastaturbereich
0x07 0x00ce Tastatur @
0x07 0x00cf Tastatur!
0x07 0x00d0 Tastaturspeicher
0x07 0x00d1 Abruf des Tastaturspeichers
0x07 0x00d2 Tastaturspeicher löschen
0x07 0x00d3 Tastaturspeicher hinzufügen
0x07 0x00d4 Tastaturspeicher subtrahieren
0x07 0x00d5 Tastaturspeicher multiplizieren
0x07 0x00d6 Tastaturspeicher teilen
0x07 0x00d7 Tastatur +/-
0x07 0x00d8 Tastatur frei
0x07 0x00d9 Tastatureingabe löschen
0x07 0x00da Tastatur binär
0x07 0x00db Tastatur Oktal
0x07 0x00dc Dezimaltastatur
0x07 0x00dd Tastatur hexadezimal
0x07 0x00e0 Linke Tastatursteuerung 0x001d KEY_LEFTCTRL 3,0 0x0071 KEYCODE_CTRL_LEFT
0x07 0x00e1 Tastatur-Linksverschiebung 0x002a KEY_LEFTSHIFT 1.6 0x003b KEYCODE_SHIFT_LEFT
0x07 0x00e2 Tastatur links Alt 0x0038 KEY_LEFTALT 1.6 0x0039 KEYCODE_ALT_LEFT
0x07 0x00e3 Linke Benutzeroberfläche der Tastatur 0x007d KEY_LEFTMETA 3,0 0x0075 KEYCODE_META_LEFT
0x07 0x00e4 Rechte Tastatursteuerung 0x0061 KEY_RIGHTCTRL 3,0 0x0072 KEYCODE_CTRL_RIGHT
0x07 0x00e5 Rechtsverschiebung der Tastatur 0x0036 KEY_RIGHTSHIFT 1.6 0x003c KEYCODE_SHIFT_RIGHT
0x07 0x00e6 Tastatur rechts Alt 0x0064 KEY_RIGHTALT 1.6 0x003a KEYCODE_ALT_RIGHT
0x07 0x00e7 Rechte Benutzeroberfläche der Tastatur 0x007e KEY_RIGHTMETA 3,0 0x0076 KEYCODE_META_RIGHT
0x07 0x00e8 0x00a4 KEY_PLAYPAUSE 3,0 0x0055 KEYCODE_MEDIA_PLAY_PAUSE
0x07 0x00e9 0x00a6 KEY_STOPCD 3,0 0x0056 KEYCODE_MEDIA_STOP
0x07 0x00ea 0x00a5 KEY_PREVIOUSSONG 3,0 0x0058 KEYCODE_MEDIA_PREVIOUS
0x07 0x00eb 0x00a3 KEY_NEXTSONG 3,0 0x0057 KEYCODE_MEDIA_NEXT
0x07 0x00ec 0x00a1 KEY_EJECTCD 3,0 0x0081 KEYCODE_MEDIA_EJECT
0x07 0x00ed 0x0073 KEY_VOLUMEUP 1.6 0x0018 KEYCODE_VOLUME_UP
0x07 0x00ee 0x0072 KEY_VOLUMEDOWN 1.6 0x0019 KEYCODE_VOLUME_DOWN
0x07 0x00ef 0x0071 KEY_MUTE 3,0 0x00a4 KEYCODE_VOLUME_MUTE
0x07 0x00f0 0x0096 KEY_WWW 1.6 0x0040 KEYCODE_EXPLORER
0x07 0x00f1 0x009e KEY_BACK 1.6 0x0004 KEYCODE_BACK
0x07 0x00f2 0x009f KEY_FORWARD 3,0 0x007d KEYCODE_FORWARD
0x07 0x00f3 0x0080 KEY_STOP 3,0 0x0056 KEYCODE_MEDIA_STOP
0x07 0x00f4 0x0088 KEY_FIND
0x07 0x00f5 0x00b1 KEY_SCROLLUP 3,0 0x005c KEYCODE_PAGE_UP
0x07 0x00f6 0x00b2 KEY_SCROLLDOWN 3,0 0x005d KEYCODE_PAGE_DOWN
0x07 0x00f7 0x00b0 KEY_EDIT
0x07 0x00f8 0x008e KEY_SLEEP
0x07 0x00f9 0x0098 KEY_COFFEE 4,0 0x001a KEYCODE_POWER
0x07 0x00fa 0x00ad KEY_REFRESH
0x07 0x00fb 0x008c KEY_CALC 4.0.3 0x00d2 KEYCODE_CALCULATOR

HID generische Desktop-Seite (0x01)

HID-Nutzung HID-Nutzungsname LKC Name des Linux-Schlüsselcodes Ausführung AKC Name des Android-Schlüsselcodes Anmerkungen
0x01 0x0081 Systemabschaltung 0x0074 KEY_POWER 1.6 0x001a KEYCODE_POWER
0x01 0x0082 Systemschlaf 0x008e KEY_SLEEP 4,0 0x001a KEYCODE_POWER
0x01 0x0083 System-Wakeup 0x008f KEY_WAKEUP 4,0 0x001a KEYCODE_POWER
0x01 0x0084 Systemkontextmenü
0x01 0x0085 System-Hauptmenü
0x01 0x0086 System-App-Menü
0x01 0x0087 Hilfe zum Systemmenü
0x01 0x0088 Beenden des Systemmenüs
0x01 0x0089 Systemmenü auswählen
0x01 0x008a Systemmenü rechts
0x01 0x008b Systemmenü links
0x01 0x008c Systemmenü nach oben
0x01 0x008d Systemmenü nach unten
0x01 0x008e Systemkaltneustart
0x01 0x008f Warmstart des Systems
0x01 0x00a0 Systemdock
0x01 0x00a1 System abdocken
0x01 0x00a2 Systemkonfiguration
0x01 0x00a3 Systembruch
0x01 0x00a4 System-Debugger-Unterbrechung
0x01 0x00a5 Bewerbungspause
0x01 0x00a6 Unterbrechung des Anwendungsdebuggers
0x01 0x00a7 Stummschaltung des Systemlautsprechers
0x01 0x00a8 System-Ruhezustand
0x01 0x00b0 Systemanzeige umkehren
0x01 0x00b1 Systemanzeige intern
0x01 0x00b2 Systemanzeige extern
0x01 0x00b3 Systemanzeige Beides
0x01 0x00b4 Systemanzeige Dual
0x01 0x00b5 Systemanzeige umschalten Int/Ext
0x01 0x00b6 Systemanzeige Swap Prim./Sek.
0x01 0x00b7 Systemanzeige LCD-Autoscale

HID-Verbraucherseite (0x0c)

HID-Nutzung HID-Nutzungsname LKC Name des Linux-Schlüsselcodes Ausführung AKC Name des Android-Schlüsselcodes Anmerkungen
0x0c 0x0030 Leistung
0x0c 0x0031 Zurücksetzen
0x0c 0x0032 Schlafen
0x0c 0x0033 Schlafen Sie danach
0x0c 0x0034 Schlafmodus 0x008e KEY_SLEEP 4,0 0x001a KEYCODE_POWER
0x0c 0x0040 Speisekarte 0x008b KEY_MENU 1.6 0x0052 KEYCODE_MENU
0x0c 0x0041 Menüauswahl
0x0c 0x0042 Menü nach oben
0x0c 0x0043 Menü nach unten
0x0c 0x0044 Menü links
0x0c 0x0045 Menü rechts 0x0181 KEY_RIGHT
0x0c 0x0046 Menü-Escape
0x0c 0x0047 Menüwerterhöhung
0x0c 0x0048 Menüwert verringern
0x0c 0x0067 Bild-in-Bild-Umschaltung 0x00ab KEYCODE_WINDOW Hinzugefügt in aosp/1365553
0x0c 0x0069 Rote Menütaste 0x18e KEY_RED 0x00b7 KEYCODE_PROG_RED Hinzugefügt in aosp/1388616
0x0c 0x006a Grüne Menütaste 0x18f SCHLÜSSEL_GRÜN 0x00b8 KEYCODE_PROG_GREEN Hinzugefügt in aosp/1388616
0x0c 0x006b Blaue Menütaste 0x191 KEY_BLUE 0x00ba KEYCODE_PROG_BLUE Hinzugefügt in aosp/1388616
0x0c 0x006c Gelbe Menütaste 0x190 KEY_YELLOW 0x00b9 KEYCODE_PROG_YELLOW Hinzugefügt in aosp/1388616
0x0c 0x0081 Auswahl zuweisen
0x0c 0x0082 Modusschritt
0x0c 0x0083 Letzte Erinnerung 0x0195 KEY_LAST 0xe5 KEYCODE_LAST_CHANNEL Hinzugefügt in aosp/1365551
0x0c 0x0084 Geben Sie den Kanal ein
0x0c 0x0085 Film bestellen
0x0c 0x0088 Medien Wählen Sie Computer aus 0x0178 KEY_PC
0x0c 0x0089 Medien Wählen Sie TV 0x0179 KEY_TV 3,0 0x00aa KEYCODE_TV
0x0c 0x008a Medien Wählen Sie WWW 0x0096 KEY_WWW 1.6 0x0040 KEYCODE_EXPLORER
0x0c 0x008b Medien Wählen Sie DVD 0x0185 KEY_DVD
0x0c 0x008c Medien Wählen Sie Telefon 0x00a9 KEY_PHONE 3,0 0x0005 KEYCODE_CALL
0x0c 0x008d Media Select-Programmführer 0x016a KEY_PROGRAM 3,0 0x00ac KEYCODE_GUIDE
0x0c 0x008e Medien Wählen Sie Videotelefon 0x01a0 KEY_VIDEOPHONE
0x0c 0x008f Medien Wählen Sie Spiele aus 0x01a1 KEY_GAMES
0x0c 0x0090 Medien Wählen Sie Nachrichten aus 0x018c KEY_MEMO
0x0c 0x0091 Medien Wählen Sie CD 0x017f KEY_CD
0x0c 0x0092 Medien Wählen Sie Videorecorder 0x017b KEY_VCR
0x0c 0x0093 Medienauswahl-Tuner 0x0182 KEY_TUNER
0x0c 0x0094 Aufhören 0x00ae KEY_EXIT
0x0c 0x0095 Helfen 0x008a KEY_HELP
0x0c 0x0096 Wählen Sie „Medienband“ aus 0x0180 KEY_TAPE
0x0c 0x0097 Medienauswahlkabel 0x017a KEY_TV2
0x0c 0x0098 Medien Wählen Sie Satellit 0x017d KEY_SAT
0x0c 0x0099 Medien Wählen Sie Sicherheit aus
0x0c 0x009a Medien Wählen Sie „Startseite“. 0x016e KEY_PVR 3,0 0x00ad KEYCODE_DVR
0x0c 0x0061 Untertitel 0x0172 KEY_SUBTITLE 0x00af KEYCODE_CAPTIONS Hinzugefügt in aosp/1365552
0x0c 0x009c Kanalerhöhung 0x0192 KEY_CHANNELUP 3,0 0x00a6 KEYCODE_CHANNEL_UP
0x0c 0x009d Kanaldekrement 0x0193 KEY_CHANNELDOWN 3,0 0x00a7 KEYCODE_CHANNEL_DOWN
0x0c 0x009e Medien Wählen Sie SAP
0x0c 0x00a0 VCR Plus 0x017c KEY_VCR2
0x0c 0x00a1 Einmal
0x0c 0x00a2 Täglich
0x0c 0x00a3 Wöchentlich
0x0c 0x00a4 Monatlich
0x0c 0x00b0 Spielen 0x00cf KEY_PLAY 3,0 0x007e KEYCODE_MEDIA_PLAY
0x0c 0x00b1 Pause 0x0077 KEY_PAUSE 3,0 0x0079 KEYCODE_BREAK
0x0c 0x00b2 Aufzeichnen 0x00a7 KEY_RECORD 3,0 0x0082 KEYCODE_MEDIA_RECORD
0x0c 0x00b3 Schneller Vorlauf 0x00d0 KEY_FASTFORWARD 3,0 0x005a KEYCODE_MEDIA_FAST_FORWARD
0x0c 0x00b4 Zurückspulen 0x00a8 KEY_REWIND 3,0 0x0059 KEYCODE_MEDIA_REWIND
0x0c 0x00b5 Nächsten Titel scannen 0x00a3 KEY_NEXTSONG 3,0 0x0057 KEYCODE_MEDIA_NEXT
0x0c 0x00b6 Vorherigen Titel durchsuchen 0x00a5 KEY_PREVIOUSSONG 3,0 0x0058 KEYCODE_MEDIA_PREVIOUS
0x0c 0x00b7 Stoppen 0x00a6 KEY_STOPCD 3,0 0x0056 KEYCODE_MEDIA_STOP
0x0c 0x00b8 Auswerfen 0x00a1 KEY_EJECTCD 3,0 0x0081 KEYCODE_MEDIA_EJECT
0x0c 0x00b9 Zufälliges Spiel
0x0c 0x00ba Wählen Sie „Disc“.
0x0c 0x00bb Geben Sie Disc ein
0x0c 0x00bc Wiederholen 0x01b7 KEY_MEDIA_REPEAT
0x0c 0x00be Spur Normal
0x0c 0x00c0 Bild vorwärts
0x0c 0x00c1 Rahmenrückseite
0x0c 0x00c2 Markieren
0x0c 0x00c3 Klare Markierung
0x0c 0x00c4 Wiederholen Sie dies von Mark
0x0c 0x00c5 Zurück zu Mark
0x0c 0x00c6 Suche Vorwärts markieren
0x0c 0x00c7 Suche rückwärts markieren
0x0c 0x00c8 Zähler zurücksetzen
0x0c 0x00c9 Zähler anzeigen
0x0c 0x00ca Tracking-Inkrement
0x0c 0x00cb Dekrementierung verfolgen
0x0c 0x00cc Stopp / Auswerfen
0x0c 0x00cd Spielpause 0x00a4 KEY_PLAYPAUSE 3,0 0x0055 KEYCODE_MEDIA_PLAY_PAUSE
0x0c 0x00ce Abspielen / Überspringen
0x0c 0x00e2 Stumm 0x0071 KEY_MUTE 3,0 0x00a4 KEYCODE_VOLUME_MUTE
0x0c 0x00e5 Bass-Boost 0x00d1 KEY_BASSBOOST
0x0c 0x00e6 Surround-Modus
0x0c 0x00e7 Lautstärke
0x0c 0x00e8 MPX
0x0c 0x00e9 Lautstärkeerhöhung 0x0073 KEY_VOLUMEUP 1.6 0x0018 KEYCODE_VOLUME_UP
0x0c 0x00ea Lautstärke verringern 0x0072 KEY_VOLUMEDOWN 1.6 0x0019 KEYCODE_VOLUME_DOWN
0x0c 0x0173 Alternatives Audio-Inkrement 0x00de KEYCODE_MEDIA_AUDIO_TRACK Hinzugefügt in aosp/1365554
0x0c 0x0181 Konfiguration der AL-Startschaltfläche. Werkzeug
0x0c 0x0182 AL Programmierbare Tastenkonfiguration. 0x009c KEY_BOOKMARKS 3,0 0x00ae KEYCODE_BOOKMARK
0x0c 0x0183 AL Consumer Control-Konfiguration. 0x00ab KEY_CONFIG 4.0.3 0x00d1 KEYCODE_MUSIC
0x0c 0x0184 AL-Textverarbeitungsprogramm 0x01a5 KEY_WORDPROCESSOR
0x0c 0x0185 AL-Texteditor 0x01a6 KEY_EDITOR
0x0c 0x0186 AL-Tabelle 0x01a7 KEY_SPREADSHEET
0x0c 0x0187 AL-Grafikeditor 0x01a8 KEY_GRAPHICSEDITOR
0x0c 0x0188 AL-Präsentations-App 0x01a9 KEY_PRÄSENTATION
0x0c 0x0189 AL-Datenbank-App 0x01aa KEY_DATABASE
0x0c 0x018a AL E-Mail-Reader 0x009b KEY_MAIL 1.6 0x0041 KEYCODE_ENVELOPE
0x0c 0x018b AL-Nachrichtensprecher 0x01ab KEY_NEWS
0x0c 0x018c AL-Voicemail 0x01ac KEY_VOICEMAIL
0x0c 0x018d AL-Kontakte / Adressbuch 0x01ad KEY_ADDRESSBOOK 4.0.3 0x00cf KEYCODE_CONTACTS
0x0c 0x018e AL Kalender / Zeitplan 0x018d KEY_CALENDAR 4.0.3 0x00d0 KEYCODE_CALENDAR
0x0c 0x018f AL Aufgaben-/Projektmanager
0x0c 0x0190 AL-Protokoll / Journal / Zeitkarte
0x0c 0x0191 AL Scheckbuch / Finanzen 0x00db KEY_FINANCE
0x0c 0x0192 AL-Rechner 0x008c KEY_CALC 4.0.3 0x00d2 KEYCODE_CALCULATOR
0x0c 0x0193 AL A/V-Aufnahme/Wiedergabe
0x0c 0x0194 AL Lokaler Maschinenbrowser 0x0090 KEY_FILE
0x0c 0x0195 AL LAN/WAN-Browser
0x0c 0x0196 AL Internetbrowser 0x0096 KEY_WWW 1.6 0x0040 KEYCODE_EXPLORER
0x0c 0x0197 AL Remote Networking/ISP Connect
0x0c 0x0198 AL-Netzwerkkonferenz
0x0c 0x0199 AL-Netzwerk-Chat 0x00d8 KEY_CHAT
0x0c 0x019a AL Telefonie / Dialer
0x0c 0x019b AL-Anmeldung
0x0c 0x019c AL-Abmeldung 0x01b1 KEY_LOGOFF
0x0c 0x019d AL-Anmeldung/Abmeldung
0x0c 0x019e AL Terminalsperre / Bildschirmschoner 0x0098 KEY_COFFEE 4,0 0x001a KEYCODE_POWER
0x0c 0x019f AL-Systemsteuerung
0x0c 0x01a0 AL-Befehlszeilenprozessor / Ausführen
0x0c 0x01a1 AL-Prozess-/Task-Manager
0x0c 0x01a2 AL Wählen Sie Aufgabe/Anwendung
0x0c 0x01a3 AL Nächste Aufgabe/Anwendung
0x0c 0x01a4 AL Vorherige Aufgabe/Anwendung
0x0c 0x01a5 AL Preemptive Halt Task/App.
0x0c 0x01a6 AL Integrated Help Center 0x008a KEY_HELP
0x0c 0x01a7 AL-Dokumente 0x00eb SCHLÜSSEL_DOKUMENTE
0x0c 0x01a8 AL-Thesaurus
0x0c 0x01a9 AL-Wörterbuch
0x0c 0x01aa AL-Desktop
0x0c 0x01ab AL-Rechtschreibprüfung 0x01b0 KEY_SPELLCHECK
0x0c 0x01ac AL-Grammatikprüfung
0x0c 0x01ad AL-Wireless-Status
0x0c 0x01ae AL-Tastaturlayout
0x0c 0x01af AL-Virenschutz
0x0c 0x01b0 AL-Verschlüsselung
0x0c 0x01b1 AL-Bildschirmschoner
0x0c 0x01b2 AL-Alarme
0x0c 0x01b3 AL-Uhr
0x0c 0x01b4 AL-Dateibrowser
0x0c 0x01b5 AL-Stromversorgungsstatus
0x0c 0x01b6 AL-Bildbrowser 0x00e2 KEY_MEDIA 3,0 0x004f KEYCODE_HEADSETHOOK
0x0c 0x01b7 AL Audio-Browser 0x00d5 KEY_SOUND 4.0.3 0x00d1 KEYCODE_MUSIC
0x0c 0x01b8 AL-Filmbrowser
0x0c 0x01b9 AL Digital Rights Manager
0x0c 0x01ba AL Digitale Geldbörse
0x0c 0x01bc AL Instant Messaging 0x01ae KEY_MESSENGER
0x0c 0x01bd AL OEM-Funktionen/Tipps-Browser 0x0166 KEY_INFO
0x0c 0x01be AL OEM-Hilfe
0x0c 0x01bf AL Online-Community
0x0c 0x01c0 AL Entertainment-Inhaltsbrowser
0x0c 0x01c1 AL Online-Shopping-Browser
0x0c 0x01c2 AL SmartCard-Informationen / Hilfe
0x0c 0x01c3 AL Markt-/Finanzbrowser
0x0c 0x01c4 AL Customized Corp. Nachrichtenbrowser
0x0c 0x01c5 AL Online-Aktivitätsbrowser
0x0c 0x01c6 AL-Recherche-/Suchbrowser
0x0c 0x01c7 AL Audio-Player
0x0c 0x0201 Klimaanlage Neu 0x00b5 SCHLÜSSEL_NEU
0x0c 0x0202 AC offen 0x0086 KEY_OPEN
0x0c 0x0203 AC schließen 0x00ce KEY_CLOSE
0x0c 0x0204 AC-Ausgang 0x00ae Key_exit
0x0c 0x0205 AC maximieren
0x0c 0x0206 AC minimieren
0x0c 0x0207 AC Save 0x00ea Key_save
0x0c 0x0208 AC -Druck 0x00d2 Key_print
0x0c 0x0209 AC -Eigenschaften 0x0082 Key_props
0x0c 0x021a AC rückgängig 0x0083 Key_undo
0x0c 0x021b AC -Kopie 0x0085 Key_copy
0x0c 0x021c AC Schnitt 0x0089 Key_cut
0x0c 0x021d Wechselstrompaste 0x0087 Key_paste
0x0c 0x021e AC Wählen Sie alle aus
0x0c 0x021f AC Find 0x0088 Key_find
0x0c 0x0220 AC finden und ersetzen
0x0c 0x0221 AC -Suche 0x00d9 Key_search 1.6 0x0054 KeyCode_Search
0x0c 0x0222 AC gehen zu 0x0162 KEY_GOTO
0x0c 0x0223 AC Home 0x00ac Key_homepage 3,0 0x0003 KeyCode_Home
0x0c 0x0224 AC Back 0x009e Key_back 1.6 0x0004 Keycode_back
0x0c 0x0225 Wechselstrom vorwärts 0x009f Key_forward 3,0 0x007d KeyCode_forward
0x0c 0x0226 AC Stop 0x0080 Key_Stop 3,0 0x0056 KeyCode_Media_Stop
0x0c 0x0227 AC -Aktualisierung 0x00ad Key_refresh
0x0c 0x0228 AC Vorheriger Link
0x0c 0x0229 AC Nächster Link
0x0c 0x022a AC -Lesezeichen 0x009c KEY_BOOKMARKS 3,0 0x00ae KeyCode_Bookmark
0x0c 0x022b Wechselstromgeschichte
0x0c 0x022c AC -Abonnements
0x0c 0x022d AC Zoom in 0x01a2 Key_zoomin
0x0c 0x022e AC Zoom aus 0x01a3 Key_zoomout
0x0c 0x022f AC Zoom 0x01a4 Key_zoomreset 2
0x0c 0x0230 AC Vollbildansicht
0x0c 0x0231 AC Normale Ansicht
0x0c 0x0232 Wechselstromansicht umschalten
0x0c 0x0233 AC Scrollen nach oben 0x00b1 Key_Scrollup 3,0 0x005c KEYCODE_PAGE_UP
0x0c 0x0234 AC Scroll nach unten 0x00b2 KEY_SCROLLLDOWN 3,0 0x005d KEYCODE_PAGE_DOWN
0x0c 0x0236 AC Pan nach links
0x0c 0x0237 AC Pan Right
0x0c 0x0239 AC New Fenster
0x0c 0x023a AC Fliesen horizontal
0x0c 0x023b AC Fliesen vertikal
0x0c 0x023c Wechselstromformat
0x0c 0x023d AC Edit
0x0c 0x023e AC Fett
0x0c 0x023f Akzente
0x0c 0x0240 AC unterstreichen
0x0c 0x0241 Ac striftensthrough
0x0c 0x0242 AC -Index
0x0c 0x0243 AC -Superscript
0x0c 0x0244 AC Alle Kappen
0x0c 0x0245 AC drehen sich
0x0c 0x0246 AC -Größen
0x0c 0x0247 AC Flip Horizontal
0x0c 0x0248 AC Flip vertikal
0x0c 0x0249 AC -Spiegel horizontal
0x0c 0x024a AC -Spiegel vertikal
0x0c 0x024b AC -Schriftart auswählen
0x0c 0x024c AC -Schriftfarbe
0x0c 0x024d AC -Schriftgröße
0x0c 0x024e AC Justify links
0x0c 0x024f AC Justify Center h
0x0c 0x0250 AC rechtfertigen richtig
0x0c 0x0251 AC Justify Block H
0x0c 0x0252 AC Justify Top
0x0c 0x0253 AC Justify Center v
0x0c 0x0254 AC rechtfertigen unten
0x0c 0x0255 AC Justify Block V
0x0c 0x0256 Wechselstromanschluss abnehmen
0x0c 0x0257 Wechselstromantrieb
0x0c 0x0258 Wechselstromnummerierte Liste
0x0c 0x0259 AC -Neustartnummerierung
0x0c 0x025a AC Bulleted List
0x0c 0x025b AC Promote
0x0c 0x025c AC -Herabstufe
0x0c 0x025d AC Ja
0x0c 0x025e AC Nr
0x0c 0x025f Wechselstromabbrechen 0x00df Key_cancel
0x0c 0x0260 AC -Katalog
0x0c 0x0261 AC Buy / Checkout
0x0c 0x0262 AC zum Warenkorb hinzufügen
0x0c 0x0263 AC erweitern
0x0c 0x0264 AC erweitert alle
0x0c 0x0265 AC -Zusammenbruch
0x0c 0x0266 AC Collapse ALL
0x0c 0x0267 AC -Druckvorschau
0x0c 0x0268 Wechselstrompaste Besonders
0x0c 0x0269 Wechselstromeinsatzmodus
0x0c 0x026a Wechselstrom löschen
0x0c 0x026b Eine Uhr
0x0c 0x026c AC -Entsperren
0x0c 0x026d AC schützen
0x0c 0x026e Wechselstromunschutz
0x0c 0x026f AC Anhängen Kommentar
0x0c 0x0270 AC -Kommentar löschen
0x0c 0x0271 AC View Kommentar
0x0c 0x0272 AC Wählen Sie Word
0x0c 0x0273 AC -Satz auswählen
0x0c 0x0274 AC Wählen Sie Absatz aus
0x0c 0x0275 Wechselstromspalte
0x0c 0x0276 AC Wählen Sie Zeile aus
0x0c 0x0277 Wechselstromwählen Sie Tabelle
0x0c 0x0278 AC Wählen Sie Objekt aus
0x0c 0x0279 AC Redo / Wiederholung 0x00b6 Key_redo
0x0c 0x027a Wechselstromart
0x0c 0x027b AC -Sortierung aufsteigend
0x0c 0x027c AC -Sortierung absteigend
0x0c 0x027d Wechselstromfilter
0x0c 0x027e Wechselstrom -Set -Uhr
0x0c 0x027f AC View Clock
0x0c 0x0280 AC Wählen Sie Zeitzone aus
0x0c 0x0281 AC -Bearbeitungszeitzonen
0x0c 0x0282 Wechselstrom Alarm einstellen
0x0c 0x0283 AC Clear Alarm
0x0c 0x0284 AC Snooze Alarm
0x0c 0x0285 AC Reset Alarm
0x0c 0x0286 AC Synchronize
0x0c 0x0287 AC Senden/Empfangen
0x0c 0x0288 AC Senden an
0x0c 0x0289 AC -Antwort 0x00e8 Key_reply
0x0c 0x028a AC Antwort alle
0x0c 0x028b AC Forward MSG 0x00e9 Key_forwardmail
0x0c 0x028c AC senden 0x00e7 Key_send
0x0c 0x028d AC -Anhangdatei
0x0c 0x028e AC -Upload
0x0c 0x028f AC Download (Ziel speichern als)
0x0c 0x0290 Wechselstromgrenzen
0x0c 0x0291 Wechselstromzeile
0x0c 0x0292 Wechselstromspalte
0x0c 0x0293 AC -Einfügendatei
0x0c 0x0294 AC -Einsatzbild
0x0c 0x0295 Wechselstromeinfügeobjekt
0x0c 0x0296 AC -Einsatzsymbol
0x0c 0x0297 AC Save and Close
0x0c 0x0298 AC umbenennen
0x0c 0x0299 Wechselstrom verschmelzen
0x0c 0x029a AC Split
0x0c 0x029b AC verteilt horizontal
0x0c 0x029c AC verteilt vertikal

Zusätzliche nicht versteckte Zuordnungen

Diese Zuordnungen beschreiben Funktionen, die nicht in HID erscheinen, sondern für die Linux -Schlüsselcodes existieren.

Lkc Linux -Schlüsselcodenname Ausführung AKC Android -Schlüsselname Anmerkungen
0x01d0 Key_fn 3,0 0x0077 KeyCode_Function
0x01d1 KEY_FN_ESC 3,0 0x006f Keycode_escape 3
0x01d2 KEY_FN_F1 3,0 0x0083 KeyCode_F1 3
0x01d3 KEY_FN_F2 3,0 0x0084 KeyCode_F2 3
0x01d4 KEY_FN_F3 3,0 0x0085 KeyCode_F3 3
0x01d5 KEY_FN_F4 3,0 0x0086 Keycode_f4 3
0x01d6 KEY_FN_F5 3,0 0x0087 Keycode_f5 3
0x01d7 KEY_FN_F6 3,0 0x0088 KeyCode_F6 3
0x01d8 KEY_FN_F7 3,0 0x0089 Keycode_f7 3
0x01d9 KEY_FN_F8 3,0 0x008a Keycode_f8 3
0x01da KEY_FN_F9 3,0 0x008b KeyCode_F9 3
0x01db KEY_FN_F10 3,0 0x008c Keycode_f10 3
0x01dc KEY_FN_F11 3,0 0x008d Keycode_f11 3
0x01dd KEY_FN_F12 3,0 0x008e KeyCode_F12 3
0x01de KEY_FN_1 3,0 0x0008 KeyCode_1 3
0x01df KEY_FN_2 3,0 0x0009 KeyCode_2 3
0x01e0 KEY_FN_D 3,0 0x0020 KeyCode_D 3
0x01e1 KEY_FN_E 3,0 0x0021 Keycode_e 3
0x01e2 KEY_FN_F 3,0 0x0022 KeyCode_f 3
0x01e3 KEY_FN_S 3,0 0x002f Keycode_s 3
0x01e4 KEY_FN_B 3,0 0x001e KeyCode_B 3

Legacy nicht unterstützte Schlüssel

Diese Zuordnungen traten in früheren Android-Versionen auf, standen jedoch nicht mit HID oder verwendeten nicht standardmäßigen Linux-Schlüsselcodes wider. Sie werden nicht mehr unterstützt.

Lkc Linux -Schlüsselcodenname Ausführung AKC Android -Schlüsselname Anmerkungen
0x00db Key_email 1.6 0x004d KeyCode_at 4
„“ „“ 4,0 4
0x00e3 Key_Star 1.6 0x0011 KeyCode_Star 4
„“ „“ 4,0 4
0x00e4 KEY_SHARP 1.6 0x0012 Keycode_pound 4
„“ „“ 4,0 4
0x00e5 Key_soft1 1.6 0x0052 KeyCode_Menu 4
„“ „“ 4,0 4
0x00e6 Key_soft2 1.6 0x0002 KEYCODE_SOFT_RIGHT 4
„“ „“ 4,0 4
0x00e7 Key_send 1.6 0x0005 Keycode_call 4
„“ „“ 4,0 4
0x00e8 Key_Center 1.6 0x0017 KEYCODE_DPAD_CENTER 4
„“ „“ 4,0 4
0x00e9 Key_headsethook 1.6 0x004f KEYCODE_HEADSETHOOK 4
„“ „“ 4,0 4
0x00ea Key_0_5 1.6 4
0x00eb KEY_2_5 1.6 4

Anmerkungen

  1. Der Android -Schlüsselcode, der mit gemeinsamen alphanumerischen und symbolischen Tasten zugeordnet ist, kann je nach Tastaturlayout und Sprache variieren. Aus historischen Gründen werden die mit Tasten auf einer Tastatur verbundenen physischen Scancodes und versteckten Verwendungen häufig positionell definiert, obwohl die auf diesen Tasten gedruckten Etiketten von einer Sprache zu einer anderen variieren können.

    Auf einer US-amerikanischen englischen (QWERTY) -Tastatur ist die obere links alphabetische Taste mit der Bezeichnung von Q. Auf einer französischen (asery) Tastatur ist die Taste in derselben Position mit A. trotz des Etikett Es wird auf die HID -Nutzung verwiesen 0x07 0x0014, die dem Linux -Key -Code -Key_Q zugeordnet ist.

    Wenn Android mit einem US -amerikanischen Englisch -Tastatur -Layout konfiguriert wird, wird der LINUX -Tastaturcode -Key_Q dem Android -Tastatur -Code -KeyCode_Q zugeordnet und produziert die Zeichen 'Q' und 'Q'. Wenn Android jedoch mit einem französischen Tastaturlayout konfiguriert ist, wird der Linux -Taste -Code -Key_Q dem Android -Tastencode -KeyCode_A zugeordnet und produziert die Zeichen 'a' und 'a'.

    Der Android-Schlüsselcode spiegelt typischerweise die sprachspezifische Interpretation des Schlüssels wider, sodass für verschiedene Sprachen ein anderer Android-Schlüsselcode verwendet werden kann.

  2. 0x0c 0x022f AC Zoom wird in der HID als lineare Steuerung definiert, aber der Kernel kartiert ihn als Schlüssel, was wahrscheinlich falsch ist.

  3. Die Linux -Funktionstasten KEY_FN_* werden auf einfachere Schlüsselcodes abgebildet, aber mit dem auf true eingestellten Meta -Status -Bit META_FUNCTION versandt.

  4. Vor Android Ice Cream Sandwich 4.0 enthielt das Standard -Schlüssellayout Zuordnungen für einige zusätzliche Schlüsselcodes, die in den Hauptkern -Kernel -Headern der Hauptlinie nicht definiert waren. Diese Zuordnungen wurden seitdem entfernt, da diesen zuvor undefinierten Schlüsselcodes seitdem unterschiedliche Bedeutungen in neueren Versionen des Linux -Kernels zugewiesen wurden.

Quellen

  1. USB -HID -Nutzungstabellen v1.12
  2. Linux 2.6.39 Kernel: Include/Linux/input.h, Treiber/HID/HID-Input.c
  3. Android ICS: QWERTY.KL, Generic.kl, KeyEvent.java