Klawiatury

Android obsługuje różne rodzaje klawiatur, w tym funkcje specjalne klawiatura (sterowanie głośnością i zasilaniem), kompaktowe klawiatury QWERTY, i w pełni funkcjonalne klawiatury zewnętrzne.

W tym dokumencie opisujemy tylko klawiatury fizyczne. Zapoznaj się z pakietem Android SDK .

Klasyfikacja klawiatury

Urządzenie wejściowe jest klasyfikowane jako klawiatura, jeśli: spełnione są warunki:

  • Urządzenie wejściowe zgłasza obecność wszelkich kodów klawiszy w Linuksie używanych na klawiaturze. w tym 0 za 0xff lub KEY_OK do KEY_MAX.

  • Urządzenie wejściowe zgłasza obecność wszelkich kodów klawiszy Linuksa używanych na joystickach. i pady do gier, w tym od BTN_0 do BTN_9, BTN_TRIGGER do BTN_DEAD, lub od BTN_A do BTN_THUMBR.

Joysticki są obecnie klasyfikowane jako klawiatury, ponieważ przyciski joysticka i pada do gier są zgłaszane przez zdarzenia EV_KEY w taki sam sposób, w jaki są raportowane klawisze na klawiaturze. Zatem joysticki i kontrolery do gier również wykorzystują do konfiguracji kluczowe pliki mapy.

Po sklasyfikowaniu urządzenia wejściowego jako klawiatury system wczytuje plik konfiguracji urządzenia i układ klawiatury.

System próbuje następnie określić dodatkowe cechy urządzenia.

  • Jeśli urządzenie wejściowe ma klawisze zmapowane na KEYCODE_Q, urządzenie ma klawiaturę alfabetyczną (a nie cyfrową). Możliwości klawiatury alfabetycznej są zgłaszane w zasobie Configuration jako KEYBOARD_QWERTY.

  • Jeśli urządzenie wejściowe ma klucze zmapowane na KEYCODE_DPAD_UP, KEYCODE_DPAD_DOWN, KEYCODE_DPAD_LEFT, KEYCODE_DPAD_RIGHT i KEYCODE_DPAD_CENTER (wszystkie muszą być obecne), urządzenie jest uznawane za urządzenie mieć klawiaturę kierunkową. Działanie klawiatury kierunkowej jest zgłaszane w zasobie Configuration jako NAVIGATION_DPAD.

  • Jeśli urządzenie wejściowe ma klucze zmapowane na KEYCODE_BUTTON_A lub innych klawiszy związanych z padem do gier, uznaje się, że urządzenie ma pada do gier.

Wymagania dotyczące sterownika klawiatury

  1. Sterowniki klawiatur powinny rejestrować tylko kody klawiszy, które są używane są obsługiwane. Zarejestrowanie nadmiarowych kodów kluczy może dezorientować urządzenie algorytmu klasyfikacji lub powodują nieprawidłowe wykrycie przez system obsługiwane funkcje klawiatury urządzenia.

  2. Sterowniki klawiatur powinny używać identyfikatora EV_KEY do raportowania naciśnięć klawiszy wraz z wartością 0 oznacza, że klucz został zwolniony; wartość 1 oznacza, że po naciśnięciu klawisza i przy użyciu wartości większej lub równej 2 wskazującej przycisk jest powtarzany automatycznie.

  3. Android ma własne powtarzanie klawiatury. Funkcja automatycznego powtarzania powinna być wyłączona w sterowniku.

  4. Sterowniki klawiatury mogą opcjonalnie wskazywać użycie HID lub skanowanie niskopoziomowe wysyłając kod EV_MSC z parametrem MSC_SCANCODE i wartość wskazującą wykorzystanie lub skanuj kod po naciśnięciu klawisza. Ta informacja nie jest obecnie używane przez Androida.

  5. Sterowniki klawiatury powinny obsługiwać ustawianie stanów diody LED po zapisaniu znaków EV_LED do urządzenia. Sterownik hid-input zrobi to automatycznie. W momencie pisania tych wiadomości Android używa: LED_CAPSLOCK, LED_SCROLLLOCK, i LED_NUMLOCK. Te diody LED muszą być obsługiwane tylko wtedy, gdy mają przypisane diody.

  6. Sterowniki klawiatur dla wbudowanych klawiatur (np. macierzy GPIO) powinien wysyłać zdarzenia EV_KEY z wartością 0 dla wszystkich kluczy, które nadal są wciśnięte, gdy urządzenie przechodzi w tryb uśpienia. W przeciwnym razie klucze mogą utkną i będą się powtarzać w nieskończoność.

Obsługa klawiatury

Poniżej znajduje się krótkie podsumowanie działania klawiatury w systemie Android.

  1. EventHub odczytuje nieprzetworzone zdarzenia ze sterownika evdev i mapuje kody kluczy Linuksa (czasami nazywane kodami skanowania) na kody klawiszy Androida za pomocą mapy układu klawiszy.

  2. InputReader przetwarza nieprzetworzone zdarzenia i aktualizuje stan klucza meta. Na przykład jeśli naciśniesz lub zwolnisz lewy klawisz Shift, czytnik odpowiednio ustaw lub zresetuj bity META_SHIFT_LEFT_ON i META_SHIFT_ON.

  3. Element InputReader powiadamia usługę InputDispatcher o kluczowym zdarzeniu.

  4. InputDispatcher pyta WindowManagerPolicy, co zrobić z kluczem wydarzenia, wywołując WindowManagerPolicy.interceptKeyBeforeQueueing. Ta metoda to część ścieżki krytycznej, która odpowiada za wybudzanie urządzenia, niektóre klawisze. Urządzenie EventHub skutecznie utrzymuje blokadę uśpienia na tej ścieżce krytycznej, aby zapewnić jej pełną realizację.

  5. Jeśli InputFilter jest obecnie używany, InputDispatcher nadaje mu na wykorzystanie lub przekształcenie klucza. Interfejs InputFilter może być używany do implementacji niskopoziomowych zasad ułatwień dostępu w całym systemie.

  6. InputDispatcher dodaje klucz do kolejki przetwarzania w wątku wysyłki.

  7. Gdy InputDispatcher usunie klucz z kolejki, otrzyma WindowManagerPolicy drugą szansę na przechwycenie kluczowego zdarzenia, wywołując WindowManagerPolicy.interceptKeyBeforeDispatching Ta metoda obsługuje system skrótów i innych funkcji.

  8. Następnie InputDispatcher identyfikuje cel kluczowego zdarzenia (zaznaczone okno). i czeka, aż będą gotowe. Następnie InputDispatcher przesyła kluczowe zdarzenie do aplikacji.

  9. W aplikacji kluczowe zdarzenie jest przekazywane dalej w hierarchii widoku do: aktywny widok wysyłki klucza przed IME.

  10. Jeśli kluczowe zdarzenie nie jest obsługiwane w wysyłaniu przed IME i używany jest IME, makro kluczowe zdarzenie jest przekazywane do IME.

  11. Jeśli kluczowe zdarzenie nie zostało przetworzone przez edytor IME, zostanie ono przekazane po pełnej hierarchii widoków do widoku ograniczonego do standardowego wysyłania kluczy.

  12. Aplikacja przesyła w raportach InputDispatcher informacje, czy klucz zostało wykorzystane. Jeśli zdarzenie nie zostało wykorzystane, InputDispatcher wywołuje funkcję WindowManagerPolicy.dispatchUnhandledKey, aby zastosować „wartość zastępczą” zachowanie użytkownika. W zależności od działania kreacji zastępczej cykl wysyłania kluczowego zdarzenia może zostać ponownie uruchomiony. za pomocą innego kodu. Jeśli na przykład aplikacja nie obsługuje KEYCODE_ESCAPE, system może ponownie wysłać kluczowe zdarzenie jako KEYCODE_BACK.

Konfiguracja klawiatury

Działanie klawiatury zależy od układu klawiszy oraz jej znaku i konfigurację urządzeń wejściowych.

W kolejnych sekcjach znajdziesz więcej informacji o plikach, które uczestniczyć w konfiguracji klawiatury:

Właściwości

W przypadku klawiatur używane są poniższe właściwości konfiguracji urządzenia wejściowego.

klawiatura.układ

Definicja: keyboard.layout = <name>

Określa nazwę pliku układu klucza powiązanego z urządzeniem wejściowym. wykluczając rozszerzenie .kl. Jeśli plik nie zostanie znaleziony, system wejściowy będzie używać domyślnego układu klawiszy.

Podczas wyszukiwania spacje w nazwie są konwertowane na podkreślenia.

Więcej informacji znajdziesz w dokumentacji pliku układu klucza.

klawiatura.characterMap

Definicja: keyboard.characterMap = <name>

Określa nazwę pliku mapy znaków kluczowych powiązanego z urządzeniem wejściowym. wykluczając rozszerzenie .kcm. Jeśli plik nie zostanie znaleziony, system wejściowy będzie używać domyślnej mapy znaków klawiszy.

Podczas wyszukiwania spacje w nazwie są konwertowane na podkreślenia.

Więcej informacji znajdziesz w dokumentacji pliku mapy klawiszy.

klawiatura.orientationAware

Definicja: keyboard.orientationAware = 0 | 1

Określa, czy klawiatura ma reagować na zmiany orientacji wyświetlacza.

  • Jeśli wartość to 1, klawisze kierunkowe na klawiaturze są obrócone, gdy powiązanych zmian orientacji wyświetlacza.

  • Jeśli wartością jest 0, klawiatura nie jest odporna na zmiany orientacji wyświetlacza.

Wartość domyślna to 0.

Rozpoznawanie orientacji służy do obsługi obracania klawiszy na klawiaturze kierunkowej. takich jak Motorola Droid. Na przykład podczas obracania urządzenia w prawo o 90 stopni od swojej naturalnej orientacji, KEYCODE_DPAD_UP jest do produkowania KEYCODE_DPAD_RIGHT wykorzystano nowe kończy się na wskazówkę „prawo” gdy urządzenie jest trzymane w tej orientacji.

klawiatura.wbudowana

Definicja: keyboard.builtIn = 0 | 1

Określa, czy klawiatura jest wbudowana (podłączona fizycznie) klawiatury.

Wartość domyślna to 1, jeśli nazwa urządzenia kończy się na -keypad. W przeciwnym razie wartość wynosi 0.

Wbudowana klawiatura zawsze ma przypisany identyfikator urządzenia 0. Inne klawiatury które nie są wbudowane, mają unikalne, niezerowe identyfikatory urządzeń.

W przypadku klawiatury wbudowanej identyfikator 0 jest ważny, ponieważ pozwala uniknąć zgodność z polem KeyCharacterMap.BUILT_IN_KEYBOARD, które określa identyfikator wbudowanej klawiatury o wartości 0. To pole zostało wycofane w interfejsie API, ale starsze aplikacje mogą go nadal używać.

Klawiatura ze specjalnymi funkcjami (np. której mapa klawiszy ze znakami towarowymi określa typu SPECIAL_FUNCTION) nigdy nie zostaną zarejestrowane jako klawiatura wbudowana, niezależnie od ustawień tej właściwości. Dzieje się tak, ponieważ funkcja specjalna klawiatura z definicji nie jest przeznaczona do pisania ogólnego.

Przykładowe konfiguracje

# 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

Uwagi dotyczące zgodności

Przed wersją Honeycomb kreator map wprowadzania tekstu z klawiatury nie używał żadnych właściwości konfiguracji. Zakładamy, że wszystkie klawiatury są fizycznie podłączone i rozpoznają orientację. Domyślny układ klawiszy i mapa klawiszy zostały nazwane qwerty, a nie Generic. Klucz format mapy znaków był również zupełnie inny. Pełnoekranowe klawiatury w stylu PC lub klawiatury zewnętrzne.

Przy uaktualnianiu urządzeń do wersji Honeycomb pamiętaj o utworzeniu lub plików konfiguracji i map kluczy.

Zastosowania HID, kody kluczy w systemie Linux i kody kluczy na Androidzie

System odnosi się do kluczy za pomocą kilku różnych identyfikatorów, do warstwy abstrakcji.

W przypadku urządzeń HID z każdym kluczem jest powiązane użycie HID. Linux hid-input za sterownik oraz powiązane sterowniki HID i producenta urządzenia do analizy raportów HID i mapowania zastosowań HID na kody kluczy w systemie Linux.

Android odczytuje zdarzenia EV_KEY z jądra systemu Linux, do odpowiedniego kodu klucza na Androidzie zgodnie z pliku układu klucza urządzenia.

Po wysłaniu kluczowego zdarzenia do aplikacji parametr android.view.KeyEvent zgłasza kod klucza Linuksa jako wartość getScanCode(), a metoda Kod klucza Androida jako wartość getKeyCode(). Na potrzeby platformy, ważna jest tylko wartość getKeyCode().

Pamiętaj, że dane o korzystaniu z HID nie są używane przez sam system Android ani i przekazywane do aplikacji.

Tabele kodu

W tabelach poniżej znajdziesz informacje o zastosowaniach urządzeń HID, kodach kluczy w systemie Linux i Androidzie kody klawiszy są ze sobą powiązane.

Kolumna LKC określa kod klucza systemu Linux w postaci szesnastkowej.

Kolumna AKC określa kod klucza Androida w postaci szesnastkowej.

Kolumna Notatki odnosi się do notatek opublikowanych po tabeli.

Kolumna „Wersja” podaje pierwszą wersję platformy Androida. , aby uwzględnić ten klucz w domyślnej mapie kluczy. Zastosowanie wielu wierszy wyświetlane w przypadkach, gdy domyślna mapa kluczy zmieniła się w kolejnych wersjach. Najstarsza wskazana wersja to 1.6.

  • W wersji Gingerbread (2.3) i wcześniejszych domyślną mapą klawiszy było qwerty.kl Ta mapa klawiszy była przeznaczona do użytku wyłącznie z Androidem Emulator nie powinien być używany do obsługi dowolnych zewnętrznych klawiatur. Niektórzy producenci OEM dodali jednak Bluetooth obsługi klawiatury przez platformę qwerty.kl i zobaczyć potrzebne mapowania klawiatury. W związku z tym te zasady starsze mapowania mogą być interesujące dla producentów OEM, urządzeń peryferyjnych do tych konkretnych urządzeń. Pamiętaj, że mapowania znacznie różnią się od bieżących, zwłaszcza w odniesieniu do przetwarzania klucza HOME. Zalecane wszystkie nowe urządzenia peryferyjne są zgodne ze standardem Honeycomb lub najnowsze mapy klawiszy (np. standardowy HID).

  • Od wersji Honeycomb (3.0) domyślna mapa klawiszy to Generic.kl. Ta mapa klawiszy została opracowana z myślą o obsłudze klawiatur w stylu PC. Większość funkcji standardowych klawiatur HID powinna po prostu działać. z pudełka.

Mapowanie kodu klucza może się różnić w zależności od wersji jądra systemu Linux i Androida. Jeśli wiadomo, że wprowadzono zmiany w domyślnych mapach klawiszy Androida, są one podawane w kolumnie wersji.

Sterowniki HID i mapy klawiszy powiązane z urządzeniami mogą stosować różne mapowania niż podano tutaj.

Strona klawiatury i klawiatury HID (0x07)

Wykorzystanie HID Nazwa użycia HID LKC Nazwa kodu klucza Linuksa Wersja AKC Nazwa kodu klucza na Androidzie Uwagi
0x07 0x0001 Przeniesienie błędu klawiatury
0x07 0x0002 Błąd POST klawiatury
0x07 0x0003 Niezdefiniowany błąd klawiatury
0x07 0x0004 Klawiatura a i A 0x001e KEY_A 1,6 0x001d KEYCODE_A 1
0x07 0x0005 Klawiatura B i B 0x0030 KEY_B 1,6 0x001e KEYCODE_B 1
0x07 0x0006 Klawiatura C i C 0x002e KEY_C 1,6 0x001f KEYCODE_C 1
0x07 0x0007 Klawiatura D i D 0x0020 KEY_D 1,6 0x0020 KEYCODE_D 1
0x07 0x0008 Klawiatura E i E 0x0012 KEY_E 1,6 0x0021 KEYCODE_E 1
0x07 0x0009 Klawiatura F i F 0x0021 KEY_F 1,6 0x0022 KEYCODE_F 1
0x07 0x000a Klawiatura g i G 0x0022 KEY_G 1,6 0x0023 KOD_G 1
0x07 0x000b Klawiatura H i H 0x0023 KEY_H 1,6 0x0024 KOD_H 1
0x07 0x000c Klawiatura i I 0x0017 KEY_I 1,6 0x0025 KEYCODE_I 1
0x07 0x000d Klawiatura J i J 0x0024 KEY_J 1,6 0x0026 KOD_J 1
0x07 0x000e Klawiatura K i K 0x0025 KEY_K 1,6 0x0027 KEYCODE_K 1
0x07 0x000f Klawiatura L i L 0x0026 KEY_L 1,6 0x0028 KEYCODE_L 1
0x07 0x0010 Klawiatura M i M 0x0032 KEY_M 1,6 0x0029 KEYCODE_M 1
0x07 0x0011 Klawiatura N i N 0x0031 KEY_N 1,6 0x002a KEYCODE_N 1
0x07 0x0012 Klawiatura O i O 0x0018 KEY_O 1,6 0x002b KEYCODE_O 1
0x07 0x0013 Klawiatura P i P 0x0019 KEY_P 1,6 0x002c KOD_P 1
0x07 0x0014 Klawiatura Q i Q 0x0010 KEY_Q 1,6 0x002d KEYCODE_Q 1
0x07 0x0015 Klawiatura R i R 0x0013 KEY_R 1,6 0x002e KEYCODE_R 1
0x07 0x0016 Klawiatura S i S 0x001f KEY_S 1,6 0x002f KOD_KLUCZOWY 1
0x07 0x0017 Klawiatura T i T 0x0014 KEY_T 1,6 0x0030 KEYCODE_T 1
0x07 0x0018 Klawiatura u i U 0x0016 KEY_U 1,6 0x0031 KEYCODE_U 1
0x07 0x0019 Klawiatura V i V 0x002f KEY_V 1,6 0x0032 KEYCODE_V 1
0x07 0x001a Klawiatura z W i W 0x0011 KEY_W 1,6 0x0033 KEYCODE_W 1
0x07 0x001b Klawiatura X i X 0x002d KEY_X 1,6 0x0034 KOD_KLUCZOWY_X 1
0x07 0x001c Klawiatura Y i Y 0x0015 KEY_Y 1,6 0x0035 KOD_Y 1
0x07 0x001d Klawiatura Z i Z 0x002c KEY_Z 1,6 0x0036 KEYCODE_Z 1
0x07 0x001e Klawiatura 1 i ! 0x0002 KEY_1 1,6 0x0008 KEYCODE_1 1
0x07 0x001f Klawiatura 2 i @ 0x0003 KEY_2 1,6 0x0009 KEYCODE_2 1
0x07 0x0020 Klawiatura 3 i # 0x0004 KEY_3 1,6 0x000a KEYCODE_3 1
0x07 0x0021 Klawiatura 4 i $ 0x0005 KEY_4 1,6 0x000b KEYCODE_4 1
0x07 0x0022 Klawiatura 5 i % 0x0006 KEY_5 1,6 0x000c KEYCODE_5 1
0x07 0x0023 Klawiatura 6 i ^ 0x0007 KEY_6 1,6 0x000d KOD_6 1
0x07 0x0024 Klawiatura 7 oraz i 0x0008 KEY_7 1,6 0x000e KEYCODE_7 1
0x07 0x0025 Klawiatura 8 i * 0x0009 KEY_8 1,6 0x000f KEYCODE_8 1
0x07 0x0026 Klawiatura 9 i ( 0x000a KEY_9 1,6 0x0010 KEYCODE_9 1
0x07 0x0027 Klawiatura 0 i ) 0x000b KEY_0 1,6 0x0007 KEYCODE_0 1
0x07 0x0028 Powrót klawiatury (ENTER) 0x001c KEY_ENTER 1,6 0x0042 KEYCODE_ENTER 1
0x07 0x0029 Klawiatura ESCAPE 0x0001 KEY_ESC 3,0 0x006f KEYCODE_ESCAPE
"" "" "" "" 2.3 0x0004 KEYCODE_BACK
0x07 0x002a Klawiatura DELETE (Backspace) 0x000e KEY_BACKSPACE 1,6 0x0043 KEYCODE_DEL
0x07 0x002b Karta klawiatury 0x000f KARTA_KLUCZ 1,6 0x003d KARTA KOD_KLUCZOWY
0x07 0x002c Spacja na klawiaturze 0x0039 KEY_SPACE 1,6 0x003e KEYCODE_SPACE
0x07 0x002d Klawiatura – i _ 0x000c KEY_MINUS 1,6 0x0045 KEYCODE_MINUS 1
0x07 0x002e Klawiatura = i + 0x000d KEY_EQUAL 1,6 0x0046 KEYCODE_EQUALS 1
0x07 0x002f Klawiatura [ i { 0x001a KEY_LEFTBRACE 1,6 0x0047 KEYCODE_LEFT_BRACKET 1
0x07 0x0030 Klawiatura ] i } 0x001b KEY_RIGHTBRACE 1,6 0x0048 KEYCODE_RIGHT_BRACKET 1
0x07 0x0031 Klawiatura \ i | 0x002b KEY_BACKSLASH 1,6 0x0049 KEYCODE_BACKSLASH 1
0x07 0x0032 Klawiatura spoza USA – # i ~ 0x002b KEY_BACKSLASH 1,6 0x0049 KEYCODE_BACKSLASH 1
0x07 0x0033 Klawiatura; i : 0x0027 KEY_SEMICOLON 1,6 0x004a KEYCODE_SEMICOLON 1
0x07 0x0034 Klawiatura „ i „ 0x0028 KEY_APOSTROPHE 1,6 0x004b KEYCODE_APOSTROPHE 1
0x07 0x0035 Klawiatura ` i ~ 0x0029 KEY_GRAVE 3,0 0x0044 KEYCODE_GRAVE 1
0x07 0x0036 Klawiatura i < 0x0033 KEY_COMMA 1,6 0x0037 KEYCODE_COMMA 1
0x07 0x0037 Klawiatura . i > 0x0034 KEY_DOT 1,6 0x0038 KEYCODE_PERIOD 1
0x07 0x0038 Klawiatura / i ? 0x0035 KEY_SLASH 1,6 0x004c KEYCODE_SLASH 1
0x07 0x0039 Caps Lock klawiatury 0x003a KEY_CAPSLOCK 3,0 0x0073 KEYCODE_CAPS_LOCK
0x07 0x003a Klawiatura F1 0x003b KEY_F1 3,0 0x0083 KEYCODE_F1
"" "" "" "" 1,6 0x0052 MENU_KODU_KLUCZ
0x07 0x003b Klawiatura F2 0x003c KEY_F2 3,0 0x0084 KEYCODE_F2
"" "" "" "" 1,6 0x0002 KEYCODE_SOFT_RIGHT
0x07 0x003c Klawiatura F3 0x003d KEY_F3 3,0 0x0085 KEYCODE_F3
"" "" "" "" 1,6 0x0005 KEYCODE_CALL
0x07 0x003d Klawiatura F4 0x003e KEY_F4 3,0 0x0086 KEYCODE_F4
"" "" "" "" 1,6 0x0006 KEYCODE_ENDCALL
0x07 0x003e Klawiatura F5 0x003f KEY_F5 3,0 0x0087 KEYCODE_F5
0x07 0x003f Klawiatura F6 0x0040 KEY_F6 3,0 0x0088 KEYCODE_F6
0x07 0x0040 Klawiatura F7 0x0041 KEY_F7 3,0 0x0089 KEYCODE_F7
0x07 0x0041 Klawiatura F8 0x0042 KEY_F8 3,0 0x008a KEYCODE_F8
0x07 0x0042 Klawiatura F9 0x0043 KEY_F9 3,0 0x008b KEYCODE_F9
0x07 0x0043 Klawiatura F10 0x0044 KEY_F10 3,0 0x008c KEYCODE_F10
"" "" "" "" 2.3 0x0052 MENU_KODU_KLUCZ
0x07 0x0044 Klawiatura F11 0x0057 KEY_F11 3,0 0x008d KEYCODE_F11
0x07 0x0045 Klawiatura F12 0x0058 KEY_F12 3,0 0x008e KEYCODE_F12
0x07 0x0046 Ekran drukowany z klawiatury 0x0063 KEY_SYSRQ 3,0 0x0078 KEYCODE_SYSRQ
0x07 0x0047 Blokada przewijania klawiatury 0x0046 PRZEWIŃ_KLUCZ 3,0 0x0074 BLOKADA_KODU_KODU_PRZEWODNIKA
0x07 0x0048 Wstrzymanie klawiatury 0x0077 KEY_PAUSE 3,0 0x0079 KEYCODE_BREAK
0x07 0x0049 Wkładka do klawiatury 0x006e WSTAWIĆ_KLUCZ 3,0 0x007c WSTAW_KOD_KLUCZOWY
0x07 0x004a Klawiatura główna 0x0066 KEY_HOME 3,0 0x007a PRZENIESIENIE_KODU_KLUCZOWEGO
"" "" "" "" 1,6 0x0003 KEYCODE_HOME
0x07 0x004b Klawiatura – strona w górę 0x0068 KEY_PAGEUP 3,0 0x005c KEYCODE_PAGE_UP
0x07 0x004c Usuń z klawiatury do przodu 0x006f USUŃ_KLUCZ 3,0 0x0070 KEYCODE_FORWARD_DEL
0x07 0x004d Koniec klawiatury 0x006b KEY_END 3,0 0x007b KEYCODE_MOVE_END
"" "" "" "" 1,6 0x0006 KEYCODE_ENDCALL
0x07 0x004e Klawiatura – strona w dół 0x006d KEY_PAGEDOWN 3,0 0x005d KEYCODE_PAGE_DOWN
0x07 0x004f Strzałka w prawo na klawiaturze 0x006a KEY_RIGHT 1,6 0x0016 KEYCODE_DPAD_RIGHT
0x07 0x0050 Strzałka w lewo na klawiaturze 0x0069 KEY_LEFT 1,6 0x0015 KEYCODE_DPAD_LEFT
0x07 0x0051 Strzałka w dół na klawiaturze 0x006c KEY_DÓŁ 1,6 0x0014 KEYCODE_DPAD_DOWN
0x07 0x0052 Strzałka w górę na klawiaturze 0x0067 KLUCZ_W GÓRĘ 1,6 0x0013 KEYCODE_DPAD_UP
0x07 0x0053 Num Lock klawiatury i czysty 0x0045 KEY_NUMLOCK 3,0 0x008f KEYCODE_NUM_LOCK
0x07 0x0054 Klawiatura / 0x0062 KEY_KPSLASH 3,0 0x009a KEYCODE_NUMPAD_DIVIDE
0x07 0x0055 Klawiatura * 0x0037 KEY_KPASTERISK 3,0 0x009b KEYCODE_NUMPAD_MULTIPLY
0x07 0x0056 Klawiatura – 0x004a KEY_KPMINUS 3,0 0x009c KEYCODE_NUMPAD_SUBTRACT
0x07 0x0057 Klawiatura + 0x004e KEY_KPPLUS 3,0 0x009d KEYCODE_NUMPAD_ADD
0x07 0x0058 Klawiatura ENTER 0x0060 KEY_KPENTER 3,0 0x00a0 KEYCODE_NUMPAD_ENTER
0x07 0x0059 Klawiatura 1 i koniec 0x004f KEY_KP1 3,0 0x0091 KEYCODE_NUMPAD_1
0x07 0x005a Klawiatura 2 i strzałka w dół 0x0050 KEY_KP2 3,0 0x0092 KEYCODE_NUMPAD_2
0x07 0x005b Klawiatura 3 i PageDn 0x0051 KEY_KP3 3,0 0x0093 KEYCODE_NUMPAD_3
0x07 0x005c Klawiatura 4 i strzałka w lewo 0x004b KEY_KP4 3,0 0x0094 KEYCODE_NUMPAD_4
0x07 0x005d Klawiatura 5 0x004c KEY_KP5 3,0 0x0095 KEYCODE_NUMPAD_5
0x07 0x005e Klawiatura 6 i strzałka w prawo 0x004d KEY_KP6 3,0 0x0096 KEYCODE_NUMPAD_6
0x07 0x005f Klawiatura 7 i Ekran główny 0x0047 KEY_KP7 3,0 0x0097 KEYCODE_NUMPAD_7
0x07 0x0060 Klawiatura 8 i strzałka w górę 0x0048 KEY_KP8 3,0 0x0098 KEYCODE_NUMPAD_8
0x07 0x0061 Klawiatura 9 i Page Up 0x0049 KEY_KP9 3,0 0x0099 KEYCODE_NUMPAD_9
0x07 0x0062 Klawiatura 0 i Wstaw 0x0052 KEY_KP0 3,0 0x0090 KEYCODE_NUMPAD_0
0x07 0x0063 Klawiatura . i Usuń 0x0053 KEY_KPDOT 3,0 0x009e KEYCODE_NUMPAD_DOT
0x07 0x0064 Klawiatura (inna niż USA) \ i | 0x0056 KEY_102ND 4.0 0x0049 KEYCODE_BACKSLASH 1
0x07 0x0065 Aplikacja klawiatury 0x007f KEY_COMPOSE 3,0 0x0052 MENU_KODU_KLUCZ
"" "" "" "" 1,6 0x0054 KEYCODE_SEARCH
0x07 0x0066 Zasilanie klawiatury 0x0074 KLUCZ_POTĘGA 1,6 0x001a KEYCODE_POWER
0x07 0x0067 Klawiatura = 0x0075 KEY_KPEQUAL 3,0 0x00a1 KEYCODE_NUMPAD_EQUALS
0x07 0x0068 Klawiatura F13 0x00b7 KEY_F13
0x07 0x0069 Klawiatura F14 0x00b8 KEY_F14
0x07 0x006a Klawiatura F15 0x00b9 KEY_F15
0x07 0x006b Klawiatura F16 0x00ba KEY_F16
0x07 0x006c Klawiatura F17 0x00bb KEY_F17
0x07 0x006d Klawiatura F18 0 x 00 p.n.e. KEY_F18
0x07 0x006e Klawiatura F19 0 x 00 m KEY_F19
0x07 0x006f Klawiatura F20 0x00be KEY_F20
0x07 0x0070 Klawiatura F21 0x00bf KEY_F21
0x07 0x0071 Klawiatura F22 0x00c0 KEY_F22
0x07 0x0072 Klawiatura F23 0x00c1 KEY_F23
0x07 0x0073 Klawiatura F24 0x00c2 KEY_F24
0x07 0x0074 Wykonanie klawiatury 0x0086 KEY_OPEN
0x07 0x0075 Pomoc do klawiatury 0x008a KEY_HELP
0x07 0x0076 Menu klawiatury 0x0082 PROPSY_KLUCZOWE
0x07 0x0077 Wybór klawiatury 0x0084 KEY_FRONT
0x07 0x0078 Zatrzymanie klawiatury 0x0080 KEY_STOP 3,0 0x0056 KEYCODE_MEDIA_STOP
0x07 0x0079 Klawiatura ponownie 0x0081 KLUCZ_PONOWNIE
0x07 0x007a Cofnij za pomocą klawiatury 0x0083 KEY_COFNIJ
0x07 0x007b Cięcie klawiatury 0x0089 KEY_CUT
0x07 0x007c Tekst na klawiaturę 0x0085 KOPIA_KLUCZA
0x07 0x007d Wklejanie z klawiatury 0x0087 WKLEJ_KLUCZ
0x07 0x007e Znajdowanie za pomocą klawiatury 0x0088 KLUCZ_ZNAJDŹ
0x07 0x007f Wyciszenie klawiatury 0x0071 KEY_MUTE 3,0 0x00a4 KEYCODE_VOLUME_MUTE
0x07 0x0080 Zwiększ głośność klawiatury 0x0073 KEY_VOLUMEUP 1,6 0x0018 KEYCODE_VOLUME_UP
0x07 0x0081 Zmniejsz głośność klawiatury 0x0072 KEY_VOLUMEDOWN 1,6 0x0019 KEYCODE_VOLUME_DOWN
0x07 0x0082 Caps Lock blokujący klawiaturę
0x07 0x0083 Blokowanie klawiatury (Num Lock)
0x07 0x0084 Blokowanie przewijania przez klawiaturę
0x07 0x0085 Przecinek na klawiaturze 0x0079 KEY_KPCOMMA 3,0 0x009f KEYCODE_NUMPAD_COMMA
0x07 0x0086 Znak równości na klawiaturze
0x07 0x0087 Klawiatura międzynarodowa 1 0x0059 KEY_RO
0x07 0x0088 Klawiatura międzynarodowa 2 0x005d KEY_KATAKANAHIRAGANA
0x07 0x0089 Klawiatura międzynarodowa 3 0x007c KEY_YEN
0x07 0x008a Klawiatura międzynarodowa 4 0x005c KEY_HENKAN
0x07 0x008b Klawiatura międzynarodowa 5 0x005e KEY_MUHENKAN
0x07 0x008c Klawiatura międzynarodowa 6 0×005f KEY_KPJPCOMMA
0x07 0x008d Klawiatura międzynarodowa 7
0x07 0x008e Klawiatura międzynarodowa 8
0x07 0x008f Klawiatura międzynarodowa 9
0x07 0x0090 Klawiatura: LANGUAGE1 0x007a KEY_HANGEUL
0x07 0x0091 Klawiatura: LANGUAGE2 0x007b KEY_HANJA
0x07 0x0092 Klawiatura: LANGUAGE3 0x005a KEY_KATAKANA
0x07 0x0093 Klawiatura: LANGUAGE4 0x005b KEY_HIRAGANA
0x07 0x0094 Klawiatura LANGUAGE5 0x0055 KEY_ZENKAKUHANKAKU
0x07 0x0095 Klawiatura: LANGUAGE6
0x07 0x0096 Klawiatura LANGUAGE7
0x07 0x0097 Klawiatura LANGUAGE8
0x07 0x0098 Klawiatura: LANGUAGE9
0x07 0x0099 Alternatywne wymazywanie klawiatury
0x07 0x009a Sys-req/uwaga na klawiaturze
0x07 0x009b Anulowanie klawiatury
0x07 0x009c Wyczyść klawiaturę
0x07 0x009d Wcześniejsza klawiatura
0x07 0x009e Zwrot klawiatury
0x07 0x009f Separator klawiatury
0x07 0x00a0 Klawiatura wyjściowa
0x07 0x00a1 Działanie klawiatury
0x07 0x00a2 Czysta/ponowna klawiatura
0x07 0x00a3 Klawiatura
0x07 0x00a4 Klawiatura ExSel
0x07 0x00b0 Klawiatura 00
0x07 0x00b1 Klawiatura 000
0x07 0x00b2 Separator tysięcy
0x07 0x00b3 Separator dziesiętny
0x07 0x00b4 Jednostka waluty
0x07 0x00b5 Jednostka podrzędna waluty
0x07 0x00b6 Klawiatura ( 0x00b3 KEY_KPLEFTPAREN 3,0 0x00a2 KEYCODE_NUMPAD_LEFT_PAREN
0x07 0x00b7 Klawiatura ) 0x00b4 KEY_KPRIGHTPAREN 3,0 0x00a3 KEYCODE_NUMPAD_RIGHT_PAREN
0x07 0x00b8 Klawiatura {
0x07 0x00b9 Klawiatura }
0x07 0x00ba Karta na klawiaturze
0x07 0x00bb Klawisz Backspace
0x07 0x00bc Klawiatura A
0 x 07 0x00 szer. Klawiatura B
0x07 0x00be Klawiatura C
0x07 0x00bf Klawiatura D
0x07 0x00c0 Klawiatura E
0x07 0x00c1 Klawiatura F
0x07 0x00c2 Klawiatura XOR
0x07 0x00c3 Klawiatura ^
0x07 0x00c4 Klawiatura (%)
0x07 0x00c5 Klawiatura <
0x07 0x00c6 Klawiatura >
0x07 0x00c7 Klawiatura i
0x07 0x00c8 && Klawiatura
0x07 0x00c9 Klawiatura |
0x07 0x00ca Klawiatura ||
0x07 0x00cb Klawiatura :
0x07 0x00cc Nr klawiatury
0x07 0x00cd Spacja na klawiaturze
0 x 07 0 x 00 Klawiatura @
0x07 0x00cf Klawiatura !
0x07 0x00d0 Magazyn pamięci klawiatury
0x07 0x00d1 Czułość pamięci klawiatury
0x07 0x00d2 Wyczyszczona pamięć klawiatury
0x07 0x00d3 Dodanie pamięci klawiatury
0x07 0x00d4 Odejmowanie pamięci za pomocą klawiatury
0x07 0x00d5 Mnożenie pamięci klawiatury
0x07 0x00d6 Podział pamięci klawiatury
0x07 0x00d7 Klawiatura +/-
0x07 0x00d8 Wyczyść klawiaturę
0x07 0x00d9 Wyczyść wpis na klawiaturze
0x07 0x00da Plik binarny na klawiaturze
0x07 0x00dB Klawiatura ósemkowa
0x07 0x00dc Klawiatura dziesiętna
0x07 0x00dd Klawiatura szesnastkowa
0x07 0x00e0 Lewy przycisk klawiatury 0x001d KEY_LEFTCTRL 3,0 0x0071 KEYCODE_CTRL_LEFT
0x07 0x00e1 Shift w lewo na klawiaturze 0x002a KEY_LEFTSHIFT 1,6 0x003b KEYCODE_SHIFT_LEFT
0x07 0x00e2 Lewy Alt klawiatury 0x0038 KEY_LEFTALT 1,6 0x0039 KEYCODE_ALT_LEFT
0x07 0x00e3 GUI po lewej stronie klawiatury 0x007d KEY_LEFTMETA 3,0 0x0075 KOD_META_NA_LEWO
0x07 0x00e4 Sterowanie prawym przyciskiem myszy 0x0061 KEY_RIGHTCTRL 3,0 0x0072 KEYCODE_CTRL_RIGHT
0x07 0x00e5 Shift w prawo na klawiaturze 0x0036 KEY_RIGHTSHIFT 1,6 0x003c KEYCODE_SHIFT_RIGHT
0x07 0x00e6 Prawy Alt na klawiaturze 0x0064 KEY_RIGHTALT 1,6 0x003a KEYCODE_ALT_RIGHT
0x07 0x00e7 GUI klawiatury po prawej stronie 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 KLUCZ_NASTĘPNY UTWÓR 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 KLUCZ_ZNAJDŹ
0x07 0x00f5 0x00b1 PRZEWIŃ_KLUCZ 3,0 0x005c KEYCODE_PAGE_UP
0x07 0x00f6 0x00b2 PRZEWIJANIE_KLUCZOWE 3,0 0x005d KEYCODE_PAGE_DOWN
0x07 0x00f7 0x00b0 EDYTUJ_KLUCZ
0x07 0x00f8 0x008e KLUCZ_SEN
0x07 0x00f9 0x0098 KEY_COFFEE 4.0 0x001a KEYCODE_POWER
0x07 0x00fa reklama 0 x 00 KEY_REFRESH
0x07 0x00fb 0x008c KEY_CALC 4.0.3 0x00d2 KEYCODE_CALCULATOR

Ogólna strona HID na komputery (0 x 01)

Wykorzystanie HID Nazwa użycia HID LKC Nazwa kodu klucza Linuksa Wersja AKC Nazwa kodu klucza na Androidzie Uwagi
0x01 0x0081 Wyłączenie systemu 0x0074 KLUCZ_POTĘGA 1,6 0x001a KEYCODE_POWER
0x01 0x0082 Uśpienie systemu 0x008e KLUCZ_SEN 4.0 0x001a KEYCODE_POWER
0x01 0x0083 Wybudzanie systemu 0x008f KEY_WYBUDZANIE 4.0 0x001a KEYCODE_POWER
0x01 0x0084 Systemowe menu kontekstowe
0x01 0x0085 Menu główne systemu
0x01 0x0086 Menu aplikacji systemowej
0x01 0x0087 Pomoc dotycząca menu systemowego
0x01 0x0088 Wyjście z menu systemu
0x01 0x0089 Wybór menu System
0x01 0x008a Menu systemowe Prawa strona
0x01 0x008b Menu systemowe po lewej
0x01 0x008c Menu systemowe w górę
0x01 0x008d Menu systemowe w dół
0x01 0x008e Ponowne uruchomienie systemu „na zimno”
0x01 0x008f Ponowne uruchomienie systemu z pamięci
0x01 0x00a0 Systemowa stacja dokująca
0x01 0x00a1 Oddokuj systemowe
0x01 0x00a2 Konfiguracja systemu
0x01 0x00a3 Przerwa w systemie
0x01 0x00a4 Przerwa w debugerze systemu
0x01 0x00a5 Przerwa w aplikacji
0x01 0x00a6 Przerwa w debugerze aplikacji
0x01 0x00a7 Wyciszenie głośnika systemowego
0x01 0x00a8 Hibernacja systemu
0x01 0x00b0 Odwrócenie wyświetlacza systemowego
0x01 0x00b1 Wewnętrzny ekran systemu
0x01 0x00b2 Wyświetlacz systemowy zewnętrzny
0x01 0x00b3 System – oba wyświetlacze
0x01 0x00b4 Podwójny wyświetlacz systemowy
0x01 0x00b5 Przełącznik wyświetlania systemowego: wewnętrzne/zewnętrzne
0x01 0x00b6 Systemowa zamiana wyświetlacza – podstawowe/s
0x01 0x00b7 Autoskalowanie wyświetlacza systemowego LCD

Strona dla konsumenta HID (0 x 0c)

Wykorzystanie HID Nazwa użycia HID LKC Nazwa kodu klucza Linuksa Wersja AKC Nazwa kodu klucza na Androidzie Uwagi
0x0c 0x0030 Moc
0x0c 0x0031 Resetuj
0x0c 0x0032 Sen
0x0c 0x0033 Sen po
0x0c 0x0034 Tryb uśpienia 0x008e KLUCZ_SEN 4.0 0x001a KEYCODE_POWER
0x0c 0x0040 Menu 0x008b MENU_KLUCZ 1,6 0x0052 MENU_KODU_KLUCZ
0x0c 0x0041 Wybór menu
0x0c 0x0042 Menu w górę
0x0c 0x0043 Menu w dół
0x0c 0x0044 Menu po lewej
0x0c 0x0045 Menu w prawo 0x0181 KEY_RIGHT
0x0c 0x0046 Menu Escape
0x0c 0x0047 Zwiększenie wartości menu
0x0c 0x0048 Zmniejszenie wartości menu
0x0c 0x0067 Przełącznik obrazu w obrazie 0x00ab Okno KODU_KLUCZOWE Dodano w: aosp/1365553
0x0c 0x0069 Czerwony przycisk menu 0x18e KEY_CZERWONY 0x00b7 KEYCODE_PROG_RED Dodano w: aosp/1388616
0x0c 0x006a Zielony przycisk menu 0x18f KEY_ZIELONY 0x00b8 KEYCODE_PROG_GREEN Dodano w: aosp/1388616
0x0c 0x006b Niebieski przycisk menu 0x191 KLUCZ_NIEBIESKI 0x00ba KEYCODE_PROG_NIEBIESKI Dodano w: aosp/1388616
0x0c 0x006c Żółty przycisk menu 0x190 KEY_ŻÓŁTY 0x00b9 KEYCODE_PROG_ŻÓŁTY Dodano w: aosp/1388616
0x0c 0x0081 Przypisz wybór
0x0c 0x0082 Krok trybu
0x0c 0x0083 Ostatni wycofanie 0x0195 KEY_LAST 0 x E5 KEYCODE_LAST_CHANNEL Dodano w: aosp/1365551
0x0c 0x0084 Podaj kanał
0x0c 0x0085 Zamów film
0x0c 0x0088 Komputer z możliwością wyboru multimediów 0x0178 KEY_PC
0x0c 0x0089 Telewizor z możliwością wyboru multimediów 0x0179 KEY_TV 3,0 0x00aa KEYCODE_TV
0x0c 0x008a Wybór mediów WWW 0x0096 KEY_WWW 1,6 0x0040 KEYCODE_EXPLORER
0x0c 0x008b Płyta DVD z wyborem multimediów 0x0185 KEY_DVD
0x0c 0x008c Telefon do wyboru multimediów 0x00a9 KEY_PHONE 3,0 0x0005 KEYCODE_CALL
0x0c 0x008d Przewodnik po programie Media Select 0x016a KEY_PROGRAM 3,0 0x00ac KEYCODE_GUIDE
0x0c 0x008e Media Select (Telefon wideo) 0x01a0 KEY_VIDEOPHONE
0x0c 0x008f Gry z opcją wyboru multimediów 0x01a1 KEY_GAMES
0x0c 0x0090 Wiadomości z wyborem mediów 0x018c KEY_MEMO
0x0c 0x0091 Płyta CD z opcją wyboru multimediów 0x017f KEY_CD
0x0c 0x0092 Magnetofon z opcją wyboru multimediów 0x017b KEY_VCR
0x0c 0x0093 Tuner wyboru multimediów 0x0182 KEY_TUNER
0x0c 0x0094 Przerwij 0x00ae KEY_WYJŚCIE
0x0c 0x0095 Pomoc 0x008a KEY_HELP
0x0c 0x0096 Taśma do wyboru multimediów 0x0180 KEY_TAPE
0x0c 0x0097 Kabel Media Select 0x017a KEY_TV2
0x0c 0x0098 Satelita Media Select 0x017d KEY_SAT
0x0c 0x0099 Zabezpieczenia wyboru multimediów
0x0c 0x009a Strona główna wyboru multimediów 0x016e KEY_PVR 3,0 reklama 0 x 00 KEYCODE_DVR
0x0c 0x0061 Napisy 0x0172 KEY_SUBTITLE 0x00af KEYCODE_CAPTIONS Dodano w: aosp/1365552
0x0c 0x009c Zwiększanie kanału 0x0192 KEY_CHANNELUP 3,0 0x00a6 KEYCODE_CHANNEL_UP
0x0c 0x009d Zmniejszenie liczby kanałów 0x0193 KEY_CHANNELDOWN 3,0 0x00a7 KEYCODE_CHANNEL_DOWN
0x0c 0x009e Wybór mediów (SAP)
0x0c 0x00a0 VCR Plus 0x017c KEY_VCR2
0x0c 0x00a1 Raz
0x0c 0x00a2 Codziennie
0x0c 0x00a3 Co tydzień
0x0c 0x00a4 Co miesiąc
0x0c 0x00b0 Odtwórz 0x00cf KEY_PLAY 3,0 0x007e KEYCODE_MEDIA_PLAY
0x0c 0x00b1 Wstrzymaj 0x0077 KEY_PAUSE 3,0 0x0079 KEYCODE_BREAK
0x0c 0x00b2 Nagraj 0x00a7 REKORD KLUCZOWY 3,0 0x0082 KEYCODE_MEDIA_RECORD
0x0c 0x00b3 Przewinięcie do przodu 0x00d0 KEY_FASTFORWARD 3,0 0x005a KEYCODE_MEDIA_FAST_FORWARD
0x0c 0x00b4 Przewiń do tyłu 0x00a8 KEY_REWIND 3,0 0x0059 KEYCODE_MEDIA_REWIND
0x0c 0x00b5 Skanuj następny utwór 0x00a3 KLUCZ_NASTĘPNY UTWÓR 3,0 0x0057 KEYCODE_MEDIA_NEXT
0x0c 0x00b6 Skanuj poprzedni utwór 0x00a5 KEY_PREVIOUSSONG 3,0 0x0058 KEYCODE_MEDIA_PREVIOUS
0x0c 0x00b7 Zatrzymaj 0x00a6 KEY_STOPCD 3,0 0x0056 KEYCODE_MEDIA_STOP
0x0c 0x00b8 Wysuń 0x00a1 KEY_EJECTCD 3,0 0x0081 KEYCODE_MEDIA_EJECT
0x0c 0x00b9 Odtwarzanie losowe
0x0c 0x00ba Wybierz dysk
0x0c 0x00bb Wprowadź dysk
0x0c 0x00bc Powtarzaj 0x01b7 KEY_MEDIA_REPEAT
0x0c 0x00be Śledź normalny
0x0c 0x00c0 Klatka do przodu
0x0c 0x00c1 Ramka tylna
0x0c 0x00c2 Znak
0x0c 0x00c3 Usuń znacznik
0x0c 0x00c4 Powtarzaj od znacznika
0x0c 0x00c5 Wróć do Marka
0x0c 0x00c6 Znak wyszukiwania dalej
0x0c 0x00c7 Znak wyszukiwania wstecz
0x0c 0x00c8 Zresetuj licznik
0x0c 0x00c9 Pokaż licznik
0x0c 0x00ca Śledzenie przyrostu
0x0c 0x00cb Zmniejszenie śledzenia
0x0c 0x00cc Zatrzymaj / odłącz
0x0c 0x00cd Odtwórz/wstrzymaj 0x00a4 KEY_PLAYPAUSE 3,0 0x0055 KEYCODE_MEDIA_PLAY_PAUSE
0x0c 0x00ce Odtwórz / pomiń
0x0c 0x00e2 Wycisz 0x0071 KEY_MUTE 3,0 0x00a4 KEYCODE_VOLUME_MUTE
0x0c 0x00e5 Wzmocnienie basów 0x00d1 KEY_BASSBOOST
0x0c 0x00e6 Tryb przestrzenny
0x0c 0x00e7 Głośność
0x0c 0x00e8 MPX
0x0c 0x00e9 Zwiększ głośność 0x0073 KEY_VOLUMEUP 1,6 0x0018 KEYCODE_VOLUME_UP
0x0c 0x00ea Zmniejsz głośność 0x0072 KEY_VOLUMEDOWN 1,6 0x0019 KEYCODE_VOLUME_DOWN
0x0c 0x0173 Alternatywny przyrost dźwięku 0x00de KEYCODE_MEDIA_AUDIO_TRACK Dodano w: aosp/1365554
0x0c 0x0181 Konfiguracja przycisku uruchamiania AL. Narzędzie
0x0c 0x0182 Konfiguracja programowalnego przycisku AL. 0x009c KEY_BOOKMARKS 3,0 0x00ae KSIĄŻKA_KODU_KLUCZOWEGO
0x0c 0x0183 Konfiguracja kontroli klienta Alfabetu. 0x00ab KONFIGURACJA_KLUCZ 4.0.3 0x00d1 KEYCODE_MUSIC
0x0c 0x0184 Edytor tekstu Alfabet 0x01a5 KEY_WORDPROCESSOR
0x0c 0x0185 Edytor tekstu Alfabetu 0x01a6 EDYTOR_KLUCZ
0x0c 0x0186 Arkusz kalkulacyjny z Aleksandrów 0x01a7 ARKUSZ KLUCZOWY
0x0c 0x0187 Edytor graficzny Alfabetu 0x01a8 KEY_GRAPHICSEDITOR
0x0c 0x0188 Aplikacja do prezentacji z Australii 0x01a9 KLUCZ_PREZENTACJA
0x0c 0x0189 Aplikacja bazy danych AL 0x01aa KLUCZ_BAZA_DANYCH
0x0c 0x018a Odczytujący pocztę e-mail Alabama 0x009b KEY_MAIL 1,6 0x0041 KEYCODE_ENWYKRES
0x0c 0x018b Czytnik artykułów w Ameryce Północnej 0x01ab KLUCZOWE_WIADOMOŚCI
0x0c 0x018c Poczta głosowa (Alabama) 0x01ac KEY_VOICEMAIL
0x0c 0x018d Kontakty / książka adresowa z Alabama reklama 0x01 KEY_ADDRESSBOOK 4.0.3 0x00cf KEYCODE_CONTACT
0x0c 0x018e Kalendarz / harmonogram Alabama 0 × 018 d KEY_KALENDARZ 4.0.3 0x00d0 KEYCODE_KALENDARZ
0x0c 0x018f Kierownik projektu / zadania związane z Al
0x0c 0x0190 Dziennik / dziennik / karta czasu
0x0c 0x0191 Księga czekowa / finanse, Alabama 0 x 00 dB KEY_FINANCE
0x0c 0x0192 Kalkulator AL 0x008c KEY_CALC 4.0.3 0x00d2 KEYCODE_CALCULATOR
0x0c 0x0193 Przechwytywanie/odtwarzanie AV (AL)
0x0c 0x0194 Przeglądarka maszyn lokalnych w Alabalu 0x0090 PLIK_KLUCZOWY
0x0c 0x0195 Przeglądarka AL LAN/WAN
0x0c 0x0196 Przeglądarka internetowa (Alabama) 0x0096 KEY_WWW 1,6 0x0040 KEYCODE_EXPLORER
0x0c 0x0197 Sieć zdalna/ISP Connect
0x0c 0x0198 Konferencja na temat sieci (Alabama)
0x0c 0x0199 Czat sieciowy (Alabama) 0x00d8 KEY_CHAT
0x0c 0x019a Telefonia / Dialer
0x0c 0x019b Logowanie alfa
0x0c 0x019c Wyloguj się z konta AL 0x01b1 KEY_LOGOFF
0x0c 0x019d Logowanie / wylogowywanie się AL
0x0c 0x019e Blokada terminala / wygaszacz ekranu (AL) 0x0098 KEY_COFFEE 4.0 0x001a KEYCODE_POWER
0x0c 0x019f Panel sterowania Alabama
0x0c 0x01a0 Procesor wiersza poleceń AL / uruchomienie
0x0c 0x01a1 Proces odzyskiwania konta / menedżer zadań
0x0c 0x01a2 AL Wybierz zadanie / aplikację
0x0c 0x01a3 AL Następne zadanie / aplikacja
0x0c 0x01a4 AL Poprzednie zadanie / aplikacja
0x0c 0x01a5 alfa. Zapobiegawcze zadanie zatrzymania / aplikacja.
0x0c 0x01a6 Centrum pomocy Zintegrowane Centrum pomocy 0x008a KEY_HELP
0x0c 0x01a7 Dokumenty AL 0x00eb KLUCZOWE_DOKUMENTY
0x0c 0x01a8 Słownik angielski
0x0c 0x01a9 Słownik Alabama
0x0c 0x01aa AL – komputery
0x0c 0x01ab Sprawdzanie pisowni (Alabama) 0x01b0 KEY_SPELLCHECK
0x0c 0x01ac Sprawdzanie gramatyki AL
0x0c 0x01ad Stan połączenia bezprzewodowego AL
0x0c 0x01ae Układ klawiatury Alabama
0x0c 0x01af Ochrona przed wirusami Alabama
0x0c 0x01b0 Szyfrowanie Alabama
0x0c 0x01b1 Wygaszacz ekranu (Alabama)
0x0c 0x01b2 Alarmy AL
0x0c 0x01b3 Zegar AL
0x0c 0x01b4 Przeglądarka plików AL
0x0c 0x01b5 Stan zasilania AL
0x0c 0x01b6 Przeglądarka obrazów Alabama 0x00e2 KEY_MEDIA 3,0 0x004f KEYCODE_HEADSETHOOK
0x0c 0x01b7 Przeglądarka audio AL 0x00d5 KEY_DŹWIĘK 4.0.3 0x00d1 KEYCODE_MUSIC
0x0c 0x01b8 Przeglądarka filmów (Alabama)
0x0c 0x01b9 Menedżer ds. praw cyfrowych w Australii
0x0c 0x01ba Cyfrowy portfel Alabama
0x0c 0x01bc Komunikator internetowy (AL) 0x01ae NAJWAŻNIEJSZY MESSENGER
0x0c 0x01bd Funkcje / przeglądarka wskazówek (AL) OEM 0x0166 KEY_INFO
0x0c 0x01be Pomoc dotycząca Albo OEM
0x0c 0x01bf Społeczność online Alabama
0x0c 0x01c0 Przeglądarka treści rozrywkowych (Alabama)
0x0c 0x01c1 Przeglądarka zakupów online (Alabama)
0x0c 0x01c2 Informacje / pomoc dotycząca karty inteligentnej AL
0x0c 0x01c3 Indie – Market / Finance
0x0c 0x01c4 Przeglądarka Google News Corp. (Alabama)
0x0c 0x01c5 Przeglądarka aktywności online (Alabama)
0x0c 0x01c6 Badania w Ameryce Północnej / Wyszukiwarka
0x0c 0x01c7 Odtwarzacz audio AL
0x0c 0x0201 Klimatyzacja Nowość 0x00b5 KLUCZ_NOWY
0x0c 0x0202 AC włączona 0x0086 KEY_OPEN
0x0c 0x0203 Zamknij klimatyzację 0x00ce KEY_CLOSE
0x0c 0x0204 Wyjście AC 0x00ae KEY_WYJŚCIE
0x0c 0x0205 Maksymalizacja klimatyzacji
0x0c 0x0206 Minimalizowanie klimatyzacji
0x0c 0x0207 Oszczędność klimatyzacji 0x00ea ZAPISZ KLUCZ
0x0c 0x0208 AC Print 0x00d2 KEY_DRUK
0x0c 0x0209 Właściwości klimatyzacji 0x0082 PROPSY_KLUCZOWE
0x0c 0x021a Cofnij wyłączenie klimatyzacji 0x0083 KEY_COFNIJ
0x0c 0x021b Kopia zapasowa 0x0085 KOPIA_KLUCZA
0x0c 0x021c Klimatyzacja 0x0089 KEY_CUT
0x0c 0x021d Do klimatyzatora 0x0087 WKLEJ_KLUCZ
0x0c 0x021e Klimatyzacja – wybrane wszystkie
0x0c 0x021f Znajdź klimatyzację 0x0088 KLUCZ_ZNAJDŹ
0x0c 0x0220 Znajdowanie i wymiana klimatyzacji
0x0c 0x0221 Wyszukiwarka klimatyzacji 0x00d9 KEY_SEARCH 1,6 0x0054 KEYCODE_SEARCH
0x0c 0x0222 Przejdź do 0x0162 KEY_GOTO
0x0c 0x0223 Klimatyzacja domowa 0x00ac KEY_STRONA GŁÓWNA 3,0 0x0003 KEYCODE_HOME
0x0c 0x0224 Klimatyzacja z tyłu 0x009e KEY_BACK 1,6 0x0004 KEYCODE_BACK
0x0c 0x0225 Klimatyzacja do przodu 0x009f KEY_FORWARD 3,0 0x007d KEYCODE_FORWARD
0x0c 0x0226 Wyłączenie klimatyzacji 0x0080 KEY_STOP 3,0 0x0056 KEYCODE_MEDIA_STOP
0x0c 0x0227 Odświeżanie klimatyzacji reklama 0 x 00 KEY_REFRESH
0x0c 0x0228 Poprzedni link
0x0c 0x0229 AC Next Link
0x0c 0x022a Zakładki klimatyzacyjne 0x009c KEY_BOOKMARKS 3,0 0x00ae KSIĄŻKA_KODU_KLUCZOWEGO
0x0c 0x022b Historia klimatyzacji
0x0c 0x022c Abonamenty na klimatyzację
0x0c 0x022d Zoom z gniazdkiem AC 0x01a2 KEY_ZOOMIN
0x0c 0x022e Oddalanie prądu przemiennego 0x01a3 KEY_ZOOMOUT
0x0c 0x022f Zoom AC 0x01a4 KEY_ZOOMRESET 2
0x0c 0x0230 Klimatyzacja – widok na pełnym ekranie
0x0c 0x0231 Normalny widok klimatyzacji
0x0c 0x0232 Przełącznik widoku klimatyzacji
0x0c 0x0233 Przewiń w górę 0x00b1 PRZEWIŃ_KLUCZ 3,0 0x005c KEYCODE_PAGE_UP
0x0c 0x0234 Przewiń w dół urządzenia podłączonego do zasilania 0x00b2 PRZEWIJANIE_KLUCZOWE 3,0 0x005d KEYCODE_PAGE_DOWN
0x0c 0x0236 Klimatyzacja przesuwana w lewo
0x0c 0x0237 Klimatyzowany przesuw w prawo
0x0c 0x0239 Klimatyzacja nowe okno
0x0c 0x023a Klimatyzacja pozioma
0x0c 0x023b Klimatyzacja w pionie
0x0c 0x023c Format AC
0x0c 0x023d Edytuj klimatyzację
0x0c 0x023e Klimatyzacja pogrubiona
0x0c 0x023f AC – kursywa
0x0c 0x0240 Podkreślenie klimatyzatora
0x0c 0x0241 Przekreślenie
0x0c 0x0242 AC
0x0c 0x0243 AC – indeks górny
0x0c 0x0244 Wszystkie pokrywy klimatyzacji
0x0c 0x0245 Obróć zasilanie
0x0c 0x0246 Zmiana rozmiaru klimatyzacji
0x0c 0x0247 AC, odwróć w poziomie
0x0c 0x0248 AC z klapką w pionie
0x0c 0x0249 Lusterko do montażu w poziomie
0x0c 0x024a Klimatyzacja lusterka pionowa
0x0c 0x024b Wybór czcionki AC
0x0c 0x024c Kolor czcionki AC
0x0c 0x024d Rozmiar czcionki AC
0x0c 0x024e AC wyjustuj do lewej
0x0c 0x024f Wyjustuj do środka (film w orientacji poziomej)
0x0c 0x0250 Wyjustuj do prawej
0x0c 0x0251 AC Wyjustuj blok (film w orientacji poziomej)
0x0c 0x0252 Wyjustuj do góry
0x0c 0x0253 Wyjustuj do środka (film w orientacji pionowej)
0x0c 0x0254 Wyjustuj do dołu
0x0c 0x0255 Wyjustuj blok AC (film w orientacji pionowej)
0x0c 0x0256 Zmniejszenie wcięcia w klimatyzacji
0x0c 0x0257 Zwiększ wcięcie urządzenia klimatyzacyjnego
0x0c 0x0258 Lista numerowana AC
0x0c 0x0259 Numerowanie ponownego uruchomienia urządzenia podłączonego do zasilania
0x0c 0x025a Lista punktowana AC
0x0c 0x025b Promocja AC
0x0c 0x025c Obniżka klimatyzacji
0x0c 0x025d AC Tak
0x0c 0x025e Numer AC
0x0c 0x025f Anulowanie klimatyzacji 0x00df KEY_CANCEL
0x0c 0x0260 Katalog klimatyzacji
0x0c 0x0261 Zakup i płatności związane z klimatyzacją
0x0c 0x0262 Dodanie do koszyka klimatyzacji
0x0c 0x0263 Rozwijana klimatyzacja
0x0c 0x0264 Rozwiń wszystko
0x0c 0x0265 Klimatyzacja zwijana
0x0c 0x0266 Zwiń wszystko
0x0c 0x0267 Podgląd wydruku urządzenia podłączonego do zasilania
0x0c 0x0268 Pasty do klimatyzacji
0x0c 0x0269 Tryb podłączania klimatyzacji
0x0c 0x026a Usunięcie klimatyzacji
0x0c 0x026b Blokada klimatyzacji
0x0c 0x026c Odblokowanie zasilania
0x0c 0x026d Ochrona klimatyzacji
0x0c 0x026e Wyłącz ochronę klimatyzacji
0x0c 0x026f Komentarz dotyczący dołączenia urządzenia podłączonego do zasilania
0x0c 0x0270 Usunięcie komentarza z urządzenia podłączonego do zasilania
0x0c 0x0271 Komentarz dotyczący widoku klimatyzacji
0x0c 0x0272 AC Select Word
0x0c 0x0273 AC – wybierz zdanie
0x0c 0x0274 AC – wybierz akapit
0x0c 0x0275 Kolumna wyboru klimatyzacji
0x0c 0x0276 Wybierz wiersz AC
0x0c 0x0277 Tabela wyboru klimatyzacji
0x0c 0x0278 Obiekt wyboru klimatyzacji
0x0c 0x0279 Powtórzenie / powtórzeń zasilania 0x00b6 KEY_REDO
0x0c 0x027a Sortowanie AC
0x0c 0x027b Sortowanie AC rosnąco
0x0c 0x027c Sortowanie AC malejąco
0x0c 0x027d Filtr klimatyzacji
0x0c 0x027e Zegar z klimatyzacją
0x0c 0x027f Zegar elektryczny
0x0c 0x0280 Strefa czasowa wyboru klimatyzacji
0x0c 0x0281 Edytuj strefy czasowe AC
0x0c 0x0282 Ustaw alarm z klimatyzacją
0x0c 0x0283 Wyczyść alarm
0x0c 0x0284 Alarm z drzemką
0x0c 0x0285 Alarm ponownego uruchomienia klimatyzacji
0x0c 0x0286 Synchronizacja klimatyzacji
0x0c 0x0287 Wysyłanie/odbieranie przez AC
0x0c 0x0288 Wyślij do
0x0c 0x0289 Odpowiedź konta 0x00E8 KEY_REPLY
0x0c 0x028a Odpowiedz wszystkim
0x0c 0x028b Przekazywanie wiadomości AC 0x00E9 KEY_FORWARDMAIL
0x0c 0x028c Przesyłanie AC 0x00E7 KEY_SEND
0x0c 0x028d Załącz plik z gniazdka
0x0c 0x028e Przesyłanie plików na serwer
0x0c 0x028f Pobrania AC (zapisz cel jako)
0x0c 0x0290 Obramowanie zestawu klimatyzacji
0x0c 0x0291 Gniazdo wkładu klimatyzacji
0x0c 0x0292 Kolumna gniazda klimatyzacji
0x0c 0x0293 Plik AC
0x0c 0x0294 Zdjęcie wkładki klimatyzacji
0x0c 0x0295 Wkładanie klimatyzacji
0x0c 0x0296 Symbol gniazdka klimatyzacji
0x0c 0x0297 Zapisz i zamknij klimatyzację
0x0c 0x0298 Zmiana nazwy klimatyzacji
0x0c 0x0299 Scalenie kampanii
0x0c 0x029a Podział klimatyzacji
0x0c 0x029b Klimatyzacja rozmieszczona w poziomie
0x0c 0x029c AC w pionie

Dodatkowe mapowania inne niż HID

Te mapowania opisują funkcje, które nie występują na HID, ale dla których Linux z kluczami.

LKC Nazwa kodu klucza Linuksa Wersja AKC Nazwa kodu klucza na Androidzie Uwagi
0x01d0 KEY_FN 3,0 0x0077 FUNKCJA_KODU_KLUCZA
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
0 x 01 dB 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 KOD_KLUCZOWY 3
0x01e4 KEY_FN_B 3,0 0x001e KEYCODE_B 3

Starsze nieobsługiwane klucze

Te mapowania pojawiały się w poprzednich wersjach Androida, ale były niespójne z: HID lub użyte niestandardowe kody kluczy w systemie Linux. Nie są już one obsługiwane.

LKC Nazwa kodu klucza Linuksa Wersja AKC Nazwa kodu klucza na Androidzie Uwagi
0 x 00 dB 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 FUNKCJA_KODU_KLUCZ 4
"" "" 4.0 4
0x00E5 KEY_SOFT1 1,6 0x0052 MENU_KODU_KLUCZ 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

Uwagi

  1. Kod klucza Androida powiązany z typowym kodem alfanumerycznym i symbolicznym klawisze mogą się różnić w zależności od układu klawiatury i języka. Z przyczyn historycznych fizyczne kody skanowania i wykorzystania HID powiązane z klawiszami na klawiaturze są często zdefiniowane położeniem chociaż etykiety nadrukowane na tych kluczach mogą różnić się od z innego języka.

    Na klawiaturze amerykańskiej (QWERTY) klawisz alfabetyczny w lewym górnym rogu to opatrzony etykietą Q. Na klawiaturze francuskiej (AZERTY) klawisz w tym samym pozycja jest oznaczona etykietą A. Pomimo etykiety na obu klawiaturach klawisz alfabetyczny w lewym górnym rogu oznacza użycie HID 0x07 0x0014, który jest zmapowany na kod klucza systemu Linux KEY_Q.

    Jeśli Android jest skonfigurowany z amerykańskim układem klawiatury angielskiej, kod klucza Linuksa KEY_Q zostanie zmapowany na kod klucza Androida KEYCODE_Q i zwróci znaki „Q” i „q”. Jeśli jednak Android jest skonfigurowany z francuskim układem klawiatury, kod klucza Linuksa KEY_Q zostanie zmapowany na kod klucza Androida KEYCODE_A i zwróci znaki „A” i „a”.

    Kod klucza Androida zazwyczaj odzwierciedla interpretacji klucza, więc inny kod klucza Androida może mogą być używane w różnych językach.

  2. Element 0x0c 0x022f AC Zoom jest zdefiniowany w HID jako sterowanie liniowe, ale jądro mapuje go jako klucz, co prawdopodobnie jest nieprawidłowe.

  3. Klawisze funkcyjne KEY_FN_* w Linuksie są zmapowane na prostsze kodów kluczy, ale są wysyłane z metastanem META_FUNCTION bit ma wartość Prawda.

  4. Przed wprowadzeniem na Androida Ice Cream Sandwich 4.0 domyślny układ klawiszy zawierało mapowania kilku dodatkowych kodów kluczy, które nie zostały zdefiniowane w nagłówkach jądra systemu Linux. Te mapowania mają od został usunięty, ponieważ wcześniej niezdefiniowane kody kluczy zostały usunięte ponieważ w nowszych wersjach ma ono inne znaczenie systemu Linux.

Źródła

  1. Tabele wykorzystania USB HID w wersji 1.12
  2. Jądro Linux 2.6.39: include/linux/input.h, sterowniki/hid/hid-input.c
  3. Android ICS: qwerty.kl, general.kl, KeyEvent.java