Urządzenia klawiaturowe

System Android obsługuje różnorodne klawiatury, w tym klawiatury o specjalnych funkcjach (sterowanie głośnością i zasilaniem), kompaktowe wbudowane klawiatury QWERTY oraz w pełni funkcjonalne klawiatury zewnętrzne w stylu komputera PC.

W tym dokumencie opisano wyłącznie klawiatury fizyczne. Informacje na temat klawiatur programowych (edytorów metod wprowadzania) można znaleźć w zestawie SDK systemu Android.

Klasyfikacja klawiatury

Urządzenie wejściowe jest klasyfikowane jako klawiatura, jeśli spełniony jest jeden z następujących warunków:

  • Urządzenie wejściowe zgłasza obecność dowolnych kodów klawiszy systemu Linux używanych na klawiaturach, w tym od 0 do 0xff lub KEY_OK do KEY_MAX .

  • Urządzenie wejściowe zgłasza obecność dowolnych kodów klawiszy systemu Linux używanych na joystickach i gamepadach, w tym BTN_0 do BTN_9 , BTN_TRIGGER do BTN_DEAD lub BTN_A do BTN_THUMBR .

Joysticki są obecnie klasyfikowane jako klawiatury, ponieważ przyciski joysticka i gamepada są zgłaszane przez zdarzenia EV_KEY w taki sam sposób, w jaki zgłaszane są klawisze klawiatury. Dlatego joysticki i gamepady również korzystają z kluczowych plików map do konfiguracji.

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

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

  • Jeśli urządzenie wejściowe ma jakiekolwiek klawisze przypisane do KEYCODE_Q , wówczas uważa się, że urządzenie ma klawiaturę alfabetyczną (a nie numeryczną). Możliwość korzystania z klawiatury alfabetycznej jest raportowana w obiekcie Configuration zasobu jako KEYBOARD_QWERTY .

  • Jeśli urządzenie wejściowe ma jakiekolwiek klawisze przypisane do KEYCODE_DPAD_UP , KEYCODE_DPAD_DOWN , KEYCODE_DPAD_LEFT , KEYCODE_DPAD_RIGHT i KEYCODE_DPAD_CENTER (wszystkie muszą być obecne), wówczas uważa się, że urządzenie posiada klawiaturę kierunkową. Możliwości klawiatury kierunkowej są raportowane w obiekcie Configuration zasobu jako NAVIGATION_DPAD .

  • Jeśli urządzenie wejściowe ma jakiekolwiek klawisze przypisane do KEYCODE_BUTTON_A lub inne klawisze powiązane z gamepadem, wówczas uznaje się, że urządzenie posiada gamepad.

Wymagania sterownika klawiatury

  1. Sterowniki klawiatur powinny rejestrować tylko kody klawiszy dla klawiszy, które faktycznie obsługują. Zarejestrowanie nadmiarowych kodów klawiszy może zmylić algorytm klasyfikacji urządzenia lub spowodować, że system błędnie wykryje obsługiwane możliwości klawiatury urządzenia.

  2. Sterowniki klawiatury powinny używać EV_KEY do raportowania naciśnięć klawiszy, używając wartości 0 do wskazania, że ​​klawisz został zwolniony, wartość 1 do wskazania, że ​​klawisz został naciśnięty, a wartość większa lub równa 2 do wskazania, że ​​klawisz jest powtarzane automatycznie.

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

  4. Sterowniki klawiatury mogą opcjonalnie wskazywać użycie HID lub kod skanowania niskiego poziomu, wysyłając EV_MSC z MSC_SCANCODE i wartością wskazującą użycie lub kod skanowania po naciśnięciu klawisza. Informacje te nie są obecnie wykorzystywane przez system Android.

  5. Sterowniki klawiatury powinny obsługiwać ustawianie stanów diod LED po zapisaniu EV_LED na urządzeniu. Sterownik hid-input obsługuje to automatycznie. W chwili pisania tego tekstu Android używa LED_CAPSLOCK , LED_SCROLLLOCK i LED_NUMLOCK . Te diody LED muszą być obsługiwane tylko wtedy, gdy klawiatura faktycznie ma powiązane lampki kontrolne.

  6. Sterowniki klawiatur dla wbudowanych klawiatur (na przykład korzystających z matrycy GPIO) powinny wysyłać zdarzenia EV_KEY o wartości 0 dla wszystkich klawiszy, które są nadal wciśnięte, gdy urządzenie przechodzi w tryb uśpienia. W przeciwnym razie klawisze mogą się zablokować i będą się automatycznie powtarzać w nieskończoność.

Obsługa klawiatury

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

  1. EventHub odczytuje surowe zdarzenia ze sterownika evdev i mapuje kody klawiszy systemu Linux (czasami określane jako kody skanowania) na kody klawiszy systemu Android przy użyciu mapy układu klawiszy klawiatury.

  2. InputReader wykorzystuje nieprzetworzone zdarzenia i aktualizuje stan klucza meta. Na przykład, jeśli lewy klawisz Shift zostanie naciśnięty lub zwolniony, czytnik odpowiednio ustawi lub zresetuje bity META_SHIFT_LEFT_ON i META_SHIFT_ON .

  3. InputReader powiadamia element InputDispatcher o zdarzeniu kluczowym.

  4. Obiekt InputDispatcher pyta WindowManagerPolicy co zrobić ze zdarzeniem kluczowym, wywołując metodę WindowManagerPolicy.interceptKeyBeforeQueueing . Ta metoda jest częścią ścieżki krytycznej odpowiedzialnej za wybudzenie urządzenia po naciśnięciu określonych klawiszy. EventHub skutecznie utrzymuje blokadę wybudzenia na tej ścieżce krytycznej, aby mieć pewność, że zostanie ona ukończona.

  5. Jeśli InputFilter jest aktualnie używany, InputDispatcher umożliwia mu wykorzystanie lub przekształcenie klucza. InputFilter może zostać użyty do wdrożenia niskopoziomowych zasad dostępności obejmujących cały system.

  6. Obiekt InputDispatcher kolejkuje klucz do przetworzenia w wątku wysyłania.

  7. Gdy InputDispatcher usuwa klucz z kolejki, daje obiektowi WindowManagerPolicy drugą szansę na przechwycenie zdarzenia klucza poprzez wywołanie WindowManagerPolicy.interceptKeyBeforeDispatching . Ta metoda obsługuje skróty systemowe i inne funkcje.

  8. Element InputDispatcher następnie identyfikuje kluczowy cel zdarzenia (okno skupione) i czeka, aż będą gotowe. Następnie element InputDispatcher dostarcza kluczowe zdarzenie do aplikacji.

  9. Wewnątrz aplikacji zdarzenie klucza rozprzestrzenia się w dół hierarchii widoków do widoku skupionego w celu wysłania klucza przed wydaniem IME.

  10. Jeśli kluczowe zdarzenie nie jest obsługiwane w procesie wysyłania przed IME, a edytor IME jest używany, kluczowe zdarzenie jest dostarczane do edytora IME.

  11. Jeśli zdarzenie kluczowe nie zostało wykorzystane przez edytor IME, zdarzenie kluczowe jest propagowane w dół hierarchii widoków do widoku skupionego w celu standardowego wysyłania kluczy.

  12. Aplikacja raportuje do elementu InputDispatcher , czy zdarzenie kluczowe zostało wykorzystane. Jeśli zdarzenie nie zostało wykorzystane, komponent InputDispatcher wywołuje WindowManagerPolicy.dispatchUnhandledKey , aby zastosować zachowanie „awaryjne”. W zależności od akcji awaryjnej cykl wysyłania zdarzeń kluczowych może zostać uruchomiony ponownie przy użyciu innego kodu klucza. Na przykład, jeśli aplikacja nie obsługuje KEYCODE_ESCAPE , system może zamiast tego ponownie wysłać zdarzenie klucza jako KEYCODE_BACK .

Konfiguracja klawiatury

Zachowanie klawiatury zależy od układu klawiszy, mapy znaków klawiszy i konfiguracji urządzenia wejściowego.

Więcej szczegółów na temat plików biorących udział w konfiguracji klawiatury można znaleźć w poniższych sekcjach:

Nieruchomości

W przypadku klawiatur używane są następujące właściwości konfiguracji urządzenia wejściowego.

układ klawiatury

Definicja: keyboard.layout = <nazwa>

Określa nazwę pliku układu klawiszy powiązanego z urządzeniem wejściowym, z wyłączeniem rozszerzenia .kl . Jeśli ten plik nie zostanie znaleziony, system wejściowy użyje zamiast tego domyślnego układu klawiszy.

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

Więcej szczegółów można znaleźć w dokumentacji pliku układu klawiszy.

klawiatura.znakówMapa

Definicja: keyboard.characterMap = <nazwa>

Określa nazwę pliku mapy znaków klawiszy powiązanego z urządzeniem wejściowym, z wyłączeniem rozszerzenia .kcm . Jeśli ten plik nie zostanie znaleziony, system wejściowy użyje zamiast tego domyślnej mapy znaków klawiszy.

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

Więcej szczegółów można znaleźć w dokumentacji pliku mapy znaków kluczowych.

orientacja klawiaturyAware

Definicja: keyboard.orientationAware = 0 | 1

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

  • Jeśli wartość wynosi 1 , klawisze kierunkowe klawiatury zostaną obrócone, gdy zmieni się skojarzona z nimi orientacja wyświetlacza.

  • Jeśli wartość wynosi 0 , klawiatura jest odporna na zmiany orientacji wyświetlacza.

Wartość domyślna to 0 .

Funkcja rozpoznawania orientacji umożliwia obracanie klawiszy klawiatury kierunkowej, np. w telefonie Motorola Droid. Na przykład, gdy urządzenie zostanie obrócone w kierunku zgodnym z ruchem wskazówek zegara o 90 stopni w stosunku do jego naturalnej orientacji, KEYCODE_DPAD_UP zostanie ponownie odwzorowane w celu uzyskania KEYCODE_DPAD_RIGHT , ponieważ klawisz „w górę” będzie wskazywał „w prawo”, gdy urządzenie będzie trzymane w tej orientacji.

klawiatura.wbudowana

Definicja: keyboard.builtIn = 0 | 1

Określa, czy klawiatura jest klawiaturą wbudowaną (fizycznie podłączoną).

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

Wbudowanej klawiaturze zawsze przypisywany jest identyfikator urządzenia 0 . Inne klawiatury, które nie są wbudowane, mają przypisane unikalne, niezerowe identyfikatory urządzeń.

Użycie identyfikatora wbudowanej klawiatury o wartości 0 jest ważne dla zachowania zgodności z polem KeyCharacterMap.BUILT_IN_KEYBOARD , które określa identyfikator wbudowanej klawiatury i ma wartość 0 . To pole zostało uznane za przestarzałe w interfejsie API, ale starsze aplikacje mogą nadal z niego korzystać.

Klawiatura specjalna (taka, której mapa znaków klawiszy określa typ SPECIAL_FUNCTION ) nigdy nie zostanie zarejestrowana jako klawiatura wbudowana, niezależnie od ustawienia tej właściwości. Dzieje się tak dlatego, że klawiatura o specjalnych funkcjach 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 kompatybilności

Przed wersją Honeycomb narzędzie mapujące wprowadzanie klawiatury nie korzystało z żadnych właściwości konfiguracyjnych. Założono, że wszystkie klawiatury są fizycznie podłączone i mają świadomość orientacji. Domyślny układ klawiszy i mapa znaków klawiszy zostały nazwane qwerty zamiast Generic . Format mapy kluczowych znaków był również bardzo różny, a platforma nie obsługiwała pełnych klawiatur w stylu komputerów PC ani klawiatur zewnętrznych.

Aktualizując urządzenia do wersji Honeycomb, pamiętaj o utworzeniu lub zaktualizowaniu niezbędnych plików konfiguracyjnych i map kluczowych.

Zastosowania HID, kody kluczy systemu Linux i kody kluczy systemu Android

System odnosi się do kluczy wykorzystujących kilka różnych identyfikatorów, w zależności od warstwy abstrakcji.

W przypadku urządzeń HID każdy klucz ma powiązane użycie HID. Sterownik hid-input dla systemu Linux oraz powiązane sterowniki HID specyficzne dla dostawcy i urządzenia są odpowiedzialne za analizowanie raportów HID i mapowanie użycia HID na kody klawiszy systemu Linux.

Gdy Android odczytuje zdarzenia EV_KEY z jądra Linuksa, tłumaczy każdy kod klucza Linuksa na odpowiadający mu kod klucza Androida zgodnie z plikiem układu klawiszy urządzenia.

Po wysłaniu zdarzenia klucza do aplikacji instancja android.view.KeyEvent raportuje kod klucza systemu Linux jako wartość getScanCode() i kod klucza systemu Android jako wartość getKeyCode() . Na potrzeby frameworka ważna jest tylko wartość getKeyCode() .

Należy pamiętać, że informacje o użyciu HID nie są wykorzystywane przez sam system Android ani przekazywane do aplikacji.

Tabele kodowe

Poniższe tabele pokazują, w jaki sposób zastosowania HID, kody kluczy systemu Linux i kody kluczy systemu Android są ze sobą powiązane.

Kolumna LKC określa kod klucza systemu Linux w formacie szesnastkowym.

Kolumna AKC określa kod klucza Androida w formacie szesnastkowym.

Kolumna Notatki odnosi się do notatek publikowanych po tabeli.

Kolumna Wersja określa pierwszą wersję platformy Android, która uwzględniła ten klucz w domyślnej mapie kluczy. W przypadku zmiany domyślnej mapy klawiszy pomiędzy wersjami wyświetlanych jest wiele wierszy. Najstarsza wskazana wersja to 1.6.

  • W Gingerbread (2.3) i wcześniejszych wersjach domyślną mapą klawiszy była qwerty.kl . Ta mapa klawiszy była przeznaczona wyłącznie do użytku z emulatorem Androida i nie była przeznaczona do obsługi dowolnych klawiatur zewnętrznych. Niemniej jednak kilku producentów OEM dodało do platformy obsługę klawiatury Bluetooth i polegało na qwerty.kl w celu zapewnienia niezbędnych mapowań klawiatury. W związku z tym te starsze mapowania mogą zainteresować producentów OEM, którzy budują urządzenia peryferyjne dla tych konkretnych urządzeń. Należy pamiętać, że mapowania znacznie różnią się od bieżących, szczególnie w odniesieniu do traktowania klawisza HOME . Zaleca się, aby wszystkie nowe urządzenia peryferyjne były opracowywane zgodnie z mapami Honeycomb lub nowszymi (tj. standardowym HID).

  • Od wersji Honeycomb (3.0) domyślną mapą kluczy jest Generic.kl . Ta mapa klawiszy została zaprojektowana do obsługi pełnych klawiatur w stylu komputerów PC. Większość funkcji standardowych klawiatur HID powinna po prostu działać od razu po wyjęciu z pudełka.

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

Sterowniki HID i mapy klawiszy specyficzne dla urządzenia mogą mieć zastosowanie inne mapowania niż wskazano tutaj.

Strona klawiatury i klawiatury HID (0x07)

Użycie HID'a Nazwa użytkowa HID LKC Nazwa kodowa klucza systemu Linux Wersja AKC Nazwa kodowa klucza Androida Notatki
0x07 0x0001 Przeniesienie błędu klawiatury
0x07 0x0002 Błąd testu POST klawiatury
0x07 0x0003 Błąd klawiatury Nieokreślony
0x07 0x0004 Klawiatura a i A 0x001e KLUCZ_A 1.6 0x001d KOD KLUCZA_A 1
0x07 0x0005 Klawiatura b i B 0x0030 KLUCZ_B 1.6 0x001e KOD KLUCZ_B 1
0x07 0x0006 Klawiatura c i C 0x002e KLUCZ_C 1.6 0x001f KEYCODE_C 1
0x07 0x0007 Klawiatura d i D 0x0020 KLUCZ_D 1.6 0x0020 KEYCODE_D 1
0x07 0x0008 Klawiatura e i E 0x0012 KLUCZ_E 1.6 0x0021 KOD KLUCZ_E 1
0x07 0x0009 Klawiatura f i F 0x0021 KLUCZ_F 1.6 0x0022 KOD KLUCZ_F 1
0x07 0x000a Klawiatura g i G 0x0022 KLUCZ_G 1.6 0x0023 KEYCODE_G 1
0x07 0x000b Klawiatura h i H 0x0023 KLUCZ_H 1.6 0x0024 KEYCODE_H 1
0x07 0x000c Klawiatura i i ja 0x0017 KLUCZ_I 1.6 0x0025 KEYCODE_I 1
0x07 0x000d Klawiatura j i J 0x0024 KLUCZ_J 1.6 0x0026 KOD KLUCZ_J 1
0x07 0x000e Klawiatura k i K 0x0025 KLUCZ_K 1.6 0x0027 KEYCODE_K 1
0x07 0x000f Klawiatura l i L 0x0026 KLUCZ_L 1.6 0x0028 KOD KLUCZ_L 1
0x07 0x0010 Klawiatura m i M 0x0032 KLUCZ_M 1.6 0x0029 KEYCODE_M 1
0x07 0x0011 Klawiatura n i N 0x0031 KLUCZ_N 1.6 0x002a KEYCODE_N 1
0x07 0x0012 Klawiatura o i O 0x0018 KLUCZ_O 1.6 0x002b KEYCODE_O 1
0x07 0x0013 Klawiatura p i P 0x0019 KLUCZ_P 1.6 0x002c KEYCODE_P 1
0x07 0x0014 Klawiatura q i Q 0x0010 KLUCZ_Q 1.6 0x002d KEYCODE_Q 1
0x07 0x0015 Klawiatura r i R 0x0013 KLUCZ_R 1.6 0x002e KEYCODE_R 1
0x07 0x0016 Klawiatura S i S 0x001f KLUCZE 1.6 0x002f KEYCODE_S 1
0x07 0x0017 Klawiatura t i T 0x0014 KLUCZ_T 1.6 0x0030 KEYCODE_T 1
0x07 0x0018 Klawiatura u i U 0x0016 KLUCZ_U 1.6 0x0031 KEYCODE_U 1
0x07 0x0019 Klawiatura v i V 0x002f KLUCZ_V 1.6 0x0032 KEYCODE_V 1
0x07 0x001a Klawiatura w i W 0x0011 KLUCZ_W 1.6 0x0033 KEYCODE_W 1
0x07 0x001b Klawiatura x i X 0x002d KLUCZ_X 1.6 0x0034 KOD KLUCZ_X 1
0x07 0x001c Klawiatura y i y 0x0015 KLUCZ_Y 1.6 0x0035 KEYCODE_Y 1
0x07 0x001d Klawiatura Z i Z 0x002c KLUCZ_Z 1.6 0x0036 KEYCODE_Z 1
0x07 0x001e Klawiatura 1 i ! 0x0002 KLUCZ_1 1.6 0x0008 KOD KLUCZ_1 1
0x07 0x001f Klawiatura 2 i @ 0x0003 KLUCZ_2 1.6 0x0009 KOD KLUCZ_2 1
0x07 0x0020 Klawiatura 3 i # 0x0004 KLUCZ_3 1.6 0x000a KOD KLUCZ_3 1
0x07 0x0021 Klawiatura 4 i $ 0x0005 KLUCZ_4 1.6 0x000b KOD KLUCZ_4 1
0x07 0x0022 Klawiatura 5 i% 0x0006 KLUCZ_5 1.6 0x000c KOD KLUCZ_5 1
0x07 0x0023 Klawiatura 6 i ^ 0x0007 KLUCZ_6 1.6 0x000d KOD KLUCZ_6 1
0x07 0x0024 Klawiatura 7 i & 0x0008 KLUCZ_7 1.6 0x000e KOD KLUCZ_7 1
0x07 0x0025 Klawiatura 8 i * 0x0009 KLUCZ_8 1.6 0x000f KOD KLUCZ_8 1
0x07 0x0026 Klawiatura 9 i ( 0x000a KLUCZ_9 1.6 0x0010 KOD KLUCZ_9 1
0x07 0x0027 Klawiatura 0 i ) 0x000b KLUCZ_0 1.6 0x0007 KOD KLUCZ_0 1
0x07 0x0028 Powrót klawiatury (ENTER) 0x001c KLUCZ_ENTER 1.6 0x0042 KEYCODE_ENTER 1
0x07 0x0029 Klawiatura UCIECZKA 0x0001 KLUCZ_ESC 3.0 0x006f KEYCODE_ESCAPE
„” „” „” „” 2.3 0x0004 KEYCODE_BACK
0x07 0x002a Klawiatura USUŃ (Backspace) 0x000e KLUCZ_BACKSPACE 1.6 0x0043 KEYCODE_DEL
0x07 0x002b Zakładka Klawiatura 0x000f KLUCZ_TAB 1.6 0x003d KEYCODE_TAB
0x07 0x002c Klawiatura Spacja 0x0039 KLUCZ_SPACE 1.6 0x003e KOD KLUCZY_SPACE
0x07 0x002d Klawiatura - i _ 0x000c KLUCZ_MINUS 1.6 0x0045 KEYCODE_MINUS 1
0x07 0x002e Klawiatura = i + 0x000d KLUCZ_RÓWNY 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 KLUCZ_ŚREDNIK 1.6 0x004a KEYCODE_SEMICOLON 1
0x07 0x0034 Klawiatura „i” 0x0028 KEY_APOSTROF 1.6 0x004b KEYCODE_APOSTROF 1
0x07 0x0035 Klawiatura ` i ~ 0x0029 KLUCZ_GRAVE 3.0 0x0044 KEYCODE_GRAVE 1
0x07 0x0036 Klawiatura i < 0x0033 KLUCZ_COMMA 1.6 0x0037 KEYCODE_COMMA 1
0x07 0x0037 Klawiatura . i > 0x0034 KLUCZ_KROPKA 1.6 0x0038 KEYCODE_PERIOD 1
0x07 0x0038 Klawiatura / i ? 0x0035 KLUCZ_SLASH 1.6 0x004c KEYCODE_SLASH 1
0x07 0x0039 Caps Lock na klawiaturze 0x003a KLUCZ_CAPSLOCK 3.0 0x0073 KEYCODE_CAPS_LOCK
0x07 0x003a Klawiatura F1 0x003b KLUCZ_F1 3.0 0x0083 KOD KLUCZ_F1
„” „” „” „” 1.6 0x0052 KEYCODE_MENU
0x07 0x003b Klawiatura F2 0x003c KLUCZ_F2 3.0 0x0084 KOD KLUCZ_F2
„” „” „” „” 1.6 0x0002 KEYCODE_SOFT_RIGHT
0x07 0x003c Klawiatura F3 0x003d KLUCZ_F3 3.0 0x0085 KOD KLUCZ_F3
„” „” „” „” 1.6 0x0005 KEYCODE_CALL
0x07 0x003d Klawiatura F4 0x003e KLUCZ_F4 3.0 0x0086 KOD KLUCZ_F4
„” „” „” „” 1.6 0x0006 KEYCODE_ENDCALL
0x07 0x003e Klawiatura F5 0x003f KLUCZ_F5 3.0 0x0087 KOD KLUCZ_F5
0x07 0x003f Klawiatura F6 0x0040 KLUCZ_F6 3.0 0x0088 KOD KLAWISZY_F6
0x07 0x0040 Klawiatura F7 0x0041 KLUCZ_F7 3.0 0x0089 KOD KLAWISZ_F7
0x07 0x0041 Klawiatura F8 0x0042 KLUCZ_F8 3.0 0x008a KOD KLAWISZ_F8
0x07 0x0042 Klawiatura F9 0x0043 KLUCZ_F9 3.0 0x008b KOD KLUCZ_F9
0x07 0x0043 Klawiatura F10 0x0044 KLUCZ_F10 3.0 0x008c KOD KLUCZ_F10
„” „” „” „” 2.3 0x0052 KEYCODE_MENU
0x07 0x0044 Klawiatura F11 0x0057 KLUCZ_F11 3.0 0x008d KOD KLUCZ_F11
0x07 0x0045 Klawiatura F12 0x0058 KLUCZ_F12 3.0 0x008e KOD KLUCZ_F12
0x07 0x0046 Ekran wydruku klawiatury 0x0063 KLUCZ_SYSRQ 3.0 0x0078 KEYCODE_SYSRQ
0x07 0x0047 Blokada przewijania klawiatury 0x0046 KEY_SCROLLLOCK 3.0 0x0074 KEYCODE_SCROLL_LOCK
0x07 0x0048 Pauza klawiatury 0x0077 KEY_PAUSE 3.0 0x0079 KOD KLUCZY_BREAK
0x07 0x0049 Wkładka klawiatury 0x006e KLUCZ_INSERT 3.0 0x007c KEYCODE_INSERT
0x07 0x004a Strona główna klawiatury 0x0066 KLUCZ_HOME 3.0 0x007a KEYCODE_MOVE_HOME
„” „” „” „” 1.6 0x0003 KOD KLUCZ_HOME
0x07 0x004b Klawiatura Page Up 0x0068 KEY_PAGEUP 3.0 0x005c KEYCODE_PAGE_UP
0x07 0x004c Klawiatura Usuń dalej 0x006f KLUCZ_DELETE 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 Page Down 0x006d KEY_PAGEDOWN 3.0 0x005d KEYCODE_PAGE_DOWN
0x07 0x004f Strzałka w prawo na klawiaturze 0x006a KLUCZ_PRAWY 1.6 0x0016 KEYCODE_DPAD_RIGHT
0x07 0x0050 Strzałka w lewo na klawiaturze 0x0069 KLUCZ_LEWY 1.6 0x0015 KEYCODE_DPAD_LEFT
0x07 0x0051 Strzałka w dół klawiatury 0x006c KLUCZ_DÓŁ 1.6 0x0014 KEYCODE_DPAD_DOWN
0x07 0x0052 Strzałka w górę klawiatury 0x0067 KLUCZ_UP 1.6 0x0013 KEYCODE_DPAD_UP
0x07 0x0053 Klawiatura Num Lock i Wyczyść 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 KLUCZ_KPMINUS 3.0 0x009c KEYCODE_NUMPAD_SUBTRACT
0x07 0x0057 Klawiatura + 0x004e KEY_KPPLUS 3.0 0x009d KEYCODE_NUMPAD_ADD
0x07 0x0058 Klawiatura ENTER 0x0060 KLUCZ_KPENTER 3.0 0x00a0 KEYCODE_NUMPAD_ENTER
0x07 0x0059 Klawiatura 1 i Koniec 0x004f KLUCZ_KP1 3.0 0x0091 KEYCODE_NUMPAD_1
0x07 0x005a Klawiatura 2 i strzałka w dół 0x0050 KLUCZ_KP2 3.0 0x0092 KEYCODE_NUMPAD_2
0x07 0x005b Klawiatura 3 i PageDn 0x0051 KLUCZ_KP3 3.0 0x0093 KEYCODE_NUMPAD_3
0x07 0x005c Klawiatura 4 i strzałka w lewo 0x004b KLUCZ_KP4 3.0 0x0094 KEYCODE_NUMPAD_4
0x07 0x005d Klawiatura 5 0x004c KLUCZ_KP5 3.0 0x0095 KEYCODE_NUMPAD_5
0x07 0x005e Klawiatura 6 i strzałka w prawo 0x004d KLUCZ_KP6 3.0 0x0096 KEYCODE_NUMPAD_6
0x07 0x005f Klawiatura 7 i Strona główna 0x0047 KLUCZ_KP7 3.0 0x0097 KEYCODE_NUMPAD_7
0x07 0x0060 Klawiatura 8 i strzałka w górę 0x0048 KLUCZ_KP8 3.0 0x0098 KEYCODE_NUMPAD_8
0x07 0x0061 Klawiatura 9 i Page Up 0x0049 KLUCZ_KP9 3.0 0x0099 KEYCODE_NUMPAD_9
0x07 0x0062 Klawiatura 0 i Wstaw 0x0052 KLUCZ_KP0 3.0 0x0090 KEYCODE_NUMPAD_0
0x07 0x0063 Klawiatura . i Usuń 0x0053 KEY_KPDOT 3.0 0x009e KEYCODE_NUMPAD_DOT
0x07 0x0064 Klawiatura spoza USA \ i | 0x0056 KLUCZ_102ND 4,0 0x0049 KEYCODE_BACKSLASH 1
0x07 0x0065 Aplikacja klawiatury 0x007f KLUCZ_KOMPOS 3.0 0x0052 KEYCODE_MENU
„” „” „” „” 1.6 0x0054 KEYCODE_SEARCH
0x07 0x0066 Moc klawiatury 0x0074 KLUCZ_MOC 1.6 0x001a KEYCODE_POWER
0x07 0x0067 Klawiatura = 0x0075 KLUCZ_KPEQUAL 3.0 0x00a1 KEYCODE_NUMPAD_EQUALS
0x07 0x0068 Klawiatura F13 0x00b7 KLUCZ_F13
0x07 0x0069 Klawiatura F14 0x00b8 KLUCZ_F14
0x07 0x006a Klawiatura F15 0x00b9 KLUCZ_F15
0x07 0x006b Klawiatura F16 0x00ba KLUCZ_F16
0x07 0x006c Klawiatura F17 0x00bb KLUCZ_F17
0x07 0x006d Klawiatura F18 0x00bc KLUCZ_F18
0x07 0x006e Klawiatura F19 0x00bd KLUCZ_F19
0x07 0x006f Klawiatura F20 0x00be KLUCZ_F20
0x07 0x0070 Klawiatura F21 0x00bf KLUCZ_F21
0x07 0x0071 Klawiatura F22 0x00c0 KLUCZ_F22
0x07 0x0072 Klawiatura F23 0x00c1 KLUCZ_F23
0x07 0x0073 Klawiatura F24 0x00c2 KLUCZ_F24
0x07 0x0074 Klawiatura Wykonaj 0x0086 KLUCZ_OTWARTY
0x07 0x0075 Pomoc dotycząca klawiatury 0x008a KEY_POMOC
0x07 0x0076 Menu klawiatury 0x0082 KEY_PROPS
0x07 0x0077 Wybierz klawiaturę 0x0084 KLUCZ_PRZEDNI
0x07 0x0078 Zatrzymanie klawiatury 0x0080 KLUCZ_STOP 3.0 0x0056 KEYCODE_MEDIA_STOP
0x07 0x0079 Znowu klawiatura 0x0081 KEY_AGAIN
0x07 0x007a Klawiatura Cofnij 0x0083 KLUCZ_UNDO
0x07 0x007b Cięcie klawiatury 0x0089 KLUCZ_WYCIĘCIE
0x07 0x007c Kopia klawiatury 0x0085 KLUCZ_KOPIA
0x07 0x007d Wklej klawiaturę 0x0087 KEY_PASTE
0x07 0x007e Znajdź klawiaturę 0x0088 KLUCZ_ZNAJDŹ
0x07 0x007f Wyciszenie klawiatury 0x0071 KLUCZ_MUTE 3.0 0x00a4 KEYCODE_VOLUME_MUTE
0x07 0x0080 Zwiększenie głośności klawiatury 0x0073 KEY_VOLUMEUP 1.6 0x0018 KEYCODE_VOLUME_UP
0x07 0x0081 Zmniejszenie głośności klawiatury 0x0072 KEY_VOLUMEDOWN 1.6 0x0019 KEYCODE_VOLUME_DOWN
0x07 0x0082 Blokada klawiatury Caps Lock
0x07 0x0083 Blokowanie klawiatury Num Lock
0x07 0x0084 Blokada klawiatury, funkcja Scroll Lock
0x07 0x0085 Przecinek klawiatury 0x0079 KEY_KPCOMMA 3.0 0x009f KEYCODE_NUMPAD_COMMA
0x07 0x0086 Znak równości klawiatury
0x07 0x0087 Klawiatura międzynarodowa1 0x0059 KLUCZ_RO
0x07 0x0088 Klawiatura międzynarodowa2 0x005d KEY_KATAKANAHIRAGANA
0x07 0x0089 Klawiatura międzynarodowa3 0x007c KLUCZ_YEN
0x07 0x008a Klawiatura międzynarodowa4 0x005c KEY_HENKAN
0x07 0x008b Klawiatura międzynarodowa5 0x005e KEY_MUHENKAN
0x07 0x008c Klawiatura międzynarodowa6 0x005f KEY_KPJPCOMMA
0x07 0x008d Klawiatura międzynarodowa7
0x07 0x008e Klawiatura międzynarodowa8
0x07 0x008f Klawiatura międzynarodowa9
0x07 0x0090 Klawiatura LAN1 0x007a KEY_HANGEUL
0x07 0x0091 Klawiatura LAN2 0x007b KLUCZ_HANJA
0x07 0x0092 Klawiatura LAN3 0x005a KLUCZ_KATAKANA
0x07 0x0093 Klawiatura LANG4 0x005b KEY_HIRAGANA
0x07 0x0094 Klawiatura LAN5 0x0055 KEY_ZENKAKUHANKAKU
0x07 0x0095 Klawiatura LAN6
0x07 0x0096 Klawiatura LAN7
0x07 0x0097 Klawiatura LAN8
0x07 0x0098 Klawiatura LAN9
0x07 0x0099 Alternatywne kasowanie klawiatury
0x07 0x009a Wymaganie sys. klawiatury/uwaga
0x07 0x009b Klawiatura Anuluj
0x07 0x009c Klawiatura wyczyszczona
0x07 0x009d Klawiatura wcześniej
0x07 0x009e Powrót klawiatury
0x07 0x009f Separator klawiatury
0x07 0x00a0 Wyjście klawiatury
0x07 0x00a1 Obsługa klawiatury
0x07 0x00a2 Klawiatura wyczyszczona/ponownie
0x07 0x00a3 Klawiatura CrSel/Rekwizyty
0x07 0x00a4 Klawiatura ExSel
0x07 0x00b0 Klawiatura 00
0x07 0x00b1 Klawiatura 000
0x07 0x00b2 Separator tysięcy
0x07 0x00b3 Separator liczb dziesiętnych
0x07 0x00b4 Jednostka walutowa
0x07 0x00b5 Podjednostka 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 Zakładka Klawiatura
0x07 0x00bb Klawiatura Backspace
0x07 0x00bc Klawiatura A
0x07 0x00bd 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 Klawiatura #
0x07 0x00cd Miejsce na klawiaturę
0x07 0x00ce Klawiatura @
0x07 0x00cf Klawiatura!
0x07 0x00d0 Pamięć klawiatury
0x07 0x00d1 Przywołanie pamięci klawiatury
0x07 0x00d2 Kasowanie pamięci klawiatury
0x07 0x00d3 Dodanie pamięci klawiatury
0x07 0x00d4 Odejmowanie pamięci klawiatury
0x07 0x00d5 Pomnóż pamięć klawiatury
0x07 0x00d6 Podział pamięci klawiatury
0x07 0x00d7 Klawiatura +/-
0x07 0x00d8 Klawiatura wyczyszczona
0x07 0x00d9 Klawiatura Usuń wpis
0x07 0x00da Klawiatura binarna
0x07 0x00db Klawiatura ósemkowa
0x07 0x00dc Klawiatura dziesiętna
0x07 0x00dd Klawiatura szesnastkowa
0x07 0x00e0 Sterowanie lewą klawiaturą 0x001d KLUCZ_LEFTCTRL 3.0 0x0071 KEYCODE_CTRL_LEFT
0x07 0x00e1 Klawiatura Shift w lewo 0x002a KEY_LEFTSHIFT 1.6 0x003b KEYCODE_SHIFT_LEFT
0x07 0x00e2 Klawiatura Lewy Alt 0x0038 KEY_LEFTALT 1.6 0x0039 KEYCODE_ALT_LEFT
0x07 0x00e3 Lewy interfejs graficzny klawiatury 0x007d KEY_LEFTMETA 3.0 0x0075 KEYCODE_META_LEFT
0x07 0x00e4 Sterowanie prawą klawiaturą 0x0061 KLUCZ_PRAWY CTRL 3.0 0x0072 KEYCODE_CTRL_RIGHT
0x07 0x00e5 Klawiatura Shift w prawo 0x0036 KEY_RIGHTSHIFT 1.6 0x003c KEYCODE_SHIFT_RIGHT
0x07 0x00e6 Klawiatura Prawy Alt 0x0064 KLUCZ_PRAWYALT 1.6 0x003a KEYCODE_ALT_RIGHT
0x07 0x00e7 Interfejs graficzny prawej klawiatury 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 KLUCZ_MUTE 3.0 0x00a4 KEYCODE_VOLUME_MUTE
0x07 0x00f0 0x0096 KEY_WWW 1.6 0x0040 KEYCODE_EXPLORER
0x07 0x00f1 0x009e KLUCZ_POWRÓT 1.6 0x0004 KEYCODE_BACK
0x07 0x00f2 0x009f KLUCZ_FORWARD 3.0 0x007d KEYCODE_FORWARD
0x07 0x00f3 0x0080 KLUCZ_STOP 3.0 0x0056 KEYCODE_MEDIA_STOP
0x07 0x00f4 0x0088 KLUCZ_ZNAJDŹ
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 KLUCZ_SLEEP
0x07 0x00f9 0x0098 KLUCZ_KAWA 4,0 0x001a KEYCODE_POWER
0x07 0x00fa 0x00ad KLUCZ_REFRESH
0x07 0x00fb 0x008c KLUCZ_CALC 4.0.3 0x00d2 KEYCODE_CALCULATOR

Ogólna strona pulpitu HID (0x01)

Użycie HID'a Nazwa użytkowa HID LKC Nazwa kodowa klucza systemu Linux Wersja AKC Nazwa kodowa klucza Androida Notatki
0x01 0x0081 Wyłączenie systemu 0x0074 KLUCZ_MOC 1.6 0x001a KEYCODE_POWER
0x01 0x0082 Uśpienie systemu 0x008e KLUCZ_SLEEP 4,0 0x001a KEYCODE_POWER
0x01 0x0083 Obudź system 0x008f KEY_WAKEUP 4,0 0x001a KEYCODE_POWER
0x01 0x0084 Menu kontekstowe systemu
0x01 0x0085 Menu główne systemu
0x01 0x0086 Menu aplikacji systemowej
0x01 0x0087 Pomoc menu systemowego
0x01 0x0088 Wyjście z menu systemowego
0x01 0x0089 Wybierz menu systemowe
0x01 0x008a Menu systemowe w prawo
0x01 0x008b Menu systemowe po lewej stronie
0x01 0x008c Menu systemowe w górę
0x01 0x008d Menu systemowe w dół
0x01 0x008e Zimny ​​restart systemu
0x01 0x008f Ciepły restart systemu
0x01 0x00a0 Stacja dokująca systemowa
0x01 0x00a1 Oddokowanie systemu
0x01 0x00a2 Ustawienia systemu
0x01 0x00a3 Przerwa w systemie
0x01 0x00a4 Przerwa w debugerze systemowym
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świetlania systemu
0x01 0x00b1 Wyświetlacz systemu Wewnętrzny
0x01 0x00b2 Wyświetlacz systemu Zewnętrzny
0x01 0x00b3 System Wyświetl oba
0x01 0x00b4 Wyświetlacz systemu Podwójny
0x01 0x00b5 Wyświetlanie systemu Przełącz wew./zew
0x01 0x00b6 System Display Swap Prim./Sec.
0x01 0x00b7 Wyświetlacz systemowy LCD Automatyczne skalowanie

Strona konsumenta HID (0x0c)

Użycie HID'a Nazwa użytkowa HID LKC Nazwa kodowa klucza systemu Linux Wersja AKC Nazwa kodowa klucza Androida Notatki
0x0c 0x0030 Moc
0x0c 0x0031 Resetowanie
0x0c 0x0032 Spać
0x0c 0x0033 Spać po
0x0c 0x0034 Tryb uśpienia 0x008e KLUCZ_SLEEP 4,0 0x001a KEYCODE_POWER
0x0c 0x0040 Menu 0x008b KLUCZ_MENU 1.6 0x0052 KEYCODE_MENU
0x0c 0x0041 Wybór menu
0x0c 0x0042 Menu w górę
0x0c 0x0043 Menu w dół
0x0c 0x0044 Menu w lewo
0x0c 0x0045 Menu Prawe 0x0181 KLUCZ_PRAWY
0x0c 0x0046 Ucieczka z menu
0x0c 0x0047 Zwiększenie wartości menu
0x0c 0x0048 Zmniejszenie wartości menu
0x0c 0x0067 Przełączanie obrazu w obrazie 0x00ab KEYCODE_WINDOW Dodano w aosp/1365553
0x0c 0x0069 Czerwony Przycisk Menu 0x18e KLUCZ_RED 0x00b7 KEYCODE_PROG_RED Dodano w aosp/1388616
0x0c 0x006a Zielony Przycisk Menu 0x18f KLUCZ_ZIELONY 0x00b8 KEYCODE_PROG_GREEN Dodano w aosp/1388616
0x0c 0x006b Niebieski przycisk menu 0x191 KLUCZ_NIEBIESKI 0x00ba KEYCODE_PROG_BLUE Dodano w aosp/1388616
0x0c 0x006c Żółty przycisk menu 0x190 KLUCZ_ŻÓŁTY 0x00b9 KEYCODE_PROG_ŻÓŁTY Dodano w aosp/1388616
0x0c 0x0081 Przypisz wybór
0x0c 0x0082 Krok trybu
0x0c 0x0083 Przypomnij sobie ostatnie 0x0195 KLUCZ_LAST 0xe5 KEYCODE_LAST_CHANNEL Dodano w aosp/1365551
0x0c 0x0084 Wejdź na kanał
0x0c 0x0085 Zamów film
0x0c 0x0088 Multimedia Wybierz Komputer 0x0178 KLUCZ_PC
0x0c 0x0089 Media Wybierz telewizor 0x0179 KLUCZ_TV 3.0 0x00aa KEYCODE_TV
0x0c 0x008a Media Wybierz WWW 0x0096 KEY_WWW 1.6 0x0040 KEYCODE_EXPLORER
0x0c 0x008b Media Wybierz DVD 0x0185 KLUCZ_DVD
0x0c 0x008c Media Wybierz telefon 0x00a9 KLUCZ_TELEFON 3.0 0x0005 KEYCODE_CALL
0x0c 0x008d Przewodnik po programach Media Select 0x016a KLUCZ_PROGRAM 3.0 0x00ac KEYCODE_GUIDE
0x0c 0x008e Media Wybierz wideotelefon 0x01a0 KLUCZ_WIDEOFON
0x0c 0x008f Media Wybierz gry 0x01a1 KLUCZ_GRY
0x0c 0x0090 Wiadomości Wybierz multimedia 0x018c KLUCZ_MEMO
0x0c 0x0091 Wybierz płytę CD 0x017f KLUCZ_CD
0x0c 0x0092 Media Wybierz magnetowid 0x017b KLUCZ_VCR
0x0c 0x0093 Tuner wyboru multimediów 0x0182 KLUCZ_TUNER
0x0c 0x0094 Zrezygnować 0x00ae KLUCZ_WYJŚCIE
0x0c 0x0095 Pomoc 0x008a KEY_POMOC
0x0c 0x0096 Wybierz taśmę multimediów 0x0180 KLUCZ_TAPE
0x0c 0x0097 Kabel do wyboru multimediów 0x017a KLUCZ_TV2
0x0c 0x0098 Wybór multimediów Satelita 0x017d KEY_SAT
0x0c 0x0099 Media Wybierz Bezpieczeństwo
0x0c 0x009a Multimedia Wybierz stronę główną 0x016e KLUCZ_PVR 3.0 0x00ad KEYCODE_DVR
0x0c 0x0061 Zamknięty napis 0x0172 KEY_SUBTITLE 0x00af KEYCODE_CAPTIONS Dodano w aosp/1365552
0x0c 0x009c Przyrost kanału 0x0192 KLUCZ_CHANNELUP 3.0 0x00a6 KEYCODE_CHANNEL_UP
0x0c 0x009d Zmniejszenie kanału 0x0193 KEY_CHANNELDOWN 3.0 0x00a7 KEYCODE_CHANNEL_DOWN
0x0c 0x009e Media Wybierz SAP
0x0c 0x00a0 Magnetowid Plus 0x017c KLUCZ_VCR2
0x0c 0x00a1 Raz
0x0c 0x00a2 Codziennie
0x0c 0x00a3 Co tydzień
0x0c 0x00a4 Miesięczny
0x0c 0x00b0 Grać 0x00cf KEY_PLAY 3.0 0x007e KEYCODE_MEDIA_PLAY
0x0c 0x00b1 Pauza 0x0077 KEY_PAUSE 3.0 0x0079 KOD KLUCZY_BREAK
0x0c 0x00b2 Nagrywać 0x00a7 KEY_RECORD 3.0 0x0082 KEYCODE_MEDIA_RECORD
0x0c 0x00b3 Szybkie przewijanie do przodu 0x00d0 KEY_FASTFORWARD 3.0 0x005a KEYCODE_MEDIA_FAST_FORWARD
0x0c 0x00b4 Przewijanie do tyłu 0x00a8 KLUCZ_REWIND 3.0 0x0059 KEYCODE_MEDIA_REWIND
0x0c 0x00b5 Skanuj następny utwór 0x00a3 KEY_NEXTSONG 3.0 0x0057 KEYCODE_MEDIA_NEXT
0x0c 0x00b6 Skanuj poprzedni utwór 0x00a5 KEY_PREVIOUSSONG 3.0 0x0058 KEYCODE_MEDIA_PREVIOUS
0x0c 0x00b7 Zatrzymywać się 0x00a6 KEY_STOPCD 3.0 0x0056 KEYCODE_MEDIA_STOP
0x0c 0x00b8 Wyrzucać 0x00a1 KEY_EJECTCD 3.0 0x0081 KEYCODE_MEDIA_EJECT
0x0c 0x00b9 Losowa gra
0x0c 0x00ba Wybierz Dysk
0x0c 0x00bb Wprowadź dysk
0x0c 0x00bc Powtarzać 0x01b7 KEY_MEDIA_REPEAT
0x0c 0x00be Śledź normalnie
0x0c 0x00c0 Klatka do przodu
0x0c 0x00c1 Rama z tyłu
0x0c 0x00c2 Ocena
0x0c 0x00c3 Wyczyść znak
0x0c 0x00c4 Powtórz od Marka
0x0c 0x00c5 Wróć do Marka
0x0c 0x00c6 Wyszukaj znak do przodu
0x0c 0x00c7 Wyszukaj znak wstecz
0x0c 0x00c8 Reset licznika
0x0c 0x00c9 Pokaż licznik
0x0c 0x00ca Śledzenie przyrostu
0x0c 0x00cb Śledzenie ubytku
0x0c 0x00cc Zatrzymaj / Wysuń
0x0c 0x00cd Odtwórz/Wstrzymaj 0x00a4 KEY_PLAYPAUSE 3.0 0x0055 KEYCODE_MEDIA_PLAY_PAUSE
0x0c 0x00ce Odtwórz / Pomiń
0x0c 0x00e2 Niemy 0x0071 KLUCZ_MUTE 3.0 0x00a4 KEYCODE_VOLUME_MUTE
0x0c 0x00e5 Podbicie basów 0x00d1 KEY_BASSBOOST
0x0c 0x00e6 Tryb surround
0x0c 0x00e7 Głośność
0x0c 0x00e8 MPX
0x0c 0x00e9 Przyrost głośności 0x0073 KEY_VOLUMEUP 1.6 0x0018 KEYCODE_VOLUME_UP
0x0c 0x00ea Zmniejszenie głośności 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 przycisków programowalnych AL. 0x009c KEY_BOOKMARKS 3.0 0x00ae KEYCODE_BOOKMARK
0x0c 0x0183 Konfiguracja kontroli konsumenckiej AL. 0x00ab KEY_CONFIG 4.0.3 0x00d1 KEYCODE_MUSIC
0x0c 0x0184 Procesor tekstu AL 0x01a5 KLUCZ_WORDPROCESOR
0x0c 0x0185 Edytor tekstu AL 0x01a6 KLUCZ_EDITOR
0x0c 0x0186 Arkusz kalkulacyjny AL 0x01a7 KLUCZ_ARKUSZ ROZPRASZAJĄCY
0x0c 0x0187 Edytor graficzny AL 0x01a8 EDYTOR KEY_GRAPHICS
0x0c 0x0188 Aplikacja do prezentacji AL 0x01a9 KLUCZ_PREZENTACJA
0x0c 0x0189 Aplikacja bazy danych AL 0x01aa KLUCZ_BAZA DANYCH
0x0c 0x018a Czytnik poczty e-mail AL 0x009b KEY_MAIL 1.6 0x0041 KEYCODE_KOPERTA
0x0c 0x018b Czytelnik AL 0x01ab KEY_NEWS
0x0c 0x018c AL Poczta głosowa 0x01ac KEY_POCZTA GŁOSOWA
0x0c 0x018d AL Kontakty / Książka adresowa 0x01ad KEY_ADDRESSBOOK 4.0.3 0x00cf KEYCODE_CONTACTS
0x0c 0x018e AL Kalendarz / harmonogram 0x018d KEY_KALENDARZ 4.0.3 0x00d0 KEYCODE_CALENDAR
0x0c 0x018f AL Kierownik zadania/projektu
0x0c 0x0190 Dziennik AL / dziennik / karta czasowa
0x0c 0x0191 AL Książeczka czekowa / Finanse 0x00db KLUCZ_FINANSE
0x0c 0x0192 Kalkulator AL 0x008c KLUCZ_CALC 4.0.3 0x00d2 KEYCODE_CALCULATOR
0x0c 0x0193 Przechwytywanie/odtwarzanie AL A/V
0x0c 0x0194 AL Przeglądarka maszyn lokalnych 0x0090 PLIK KLUCZ
0x0c 0x0195 Przeglądarka AL LAN/WAN
0x0c 0x0196 Przeglądarka internetowa AL 0x0096 KEY_WWW 1.6 0x0040 KEYCODE_EXPLORER
0x0c 0x0197 AL Zdalne połączenie sieciowe/ISP
0x0c 0x0198 Konferencja sieci AL
0x0c 0x0199 Czat sieciowy AL 0x00d8 KEY_CHAT
0x0c 0x019a AL Telefonia / Dialer
0x0c 0x019b Zaloguj się
0x0c 0x019c AL Wyloguj się 0x01b1 KEY_LOGOFF
0x0c 0x019d AL Logowanie / wylogowywanie
0x0c 0x019e Blokada terminala AL / wygaszacz ekranu 0x0098 KLUCZ_KAWA 4,0 0x001a KEYCODE_POWER
0x0c 0x019f Panel sterowania AL
0x0c 0x01a0 Procesor wiersza poleceń AL / Uruchom
0x0c 0x01a1 Menedżer procesów / zadań AL
0x0c 0x01a2 AL Wybierz zadanie/aplikację
0x0c 0x01a3 AL Następne zadanie/aplikacja
0x0c 0x01a4 AL Poprzednie zadanie/aplikacja
0x0c 0x01a5 Zadanie/aplikacja zatrzymania zapobiegawczego AL.
0x0c 0x01a6 Zintegrowane Centrum Pomocy AL 0x008a KEY_POMOC
0x0c 0x01a7 Dokumenty AL 0x00eb KLUCZ_DOKUMENTY
0x0c 0x01a8 Tezaurus AL
0x0c 0x01a9 Słownik AL
0x0c 0x01aa Pulpit AL
0x0c 0x01ab AL Sprawdzanie pisowni 0x01b0 KEY_SPELLCHECK
0x0c 0x01ac Kontrola gramatyki AL
0x0c 0x01ad AL Stan sieci bezprzewodowej
0x0c 0x01ae Układ klawiatury AL
0x0c 0x01af Ochrona przed wirusami AL
0x0c 0x01b0 Szyfrowanie AL
0x0c 0x01b1 Wygaszacz ekranu AL
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 AL 0x00e2 KLUCZ_MEDIA 3.0 0x004f KEYCODE_HEADSETHOOK
0x0c 0x01b7 Przeglądarka audio AL 0x00d5 KLUCZ_DŹWIĘK 4.0.3 0x00d1 KEYCODE_MUSIC
0x0c 0x01b8 Przeglądarka filmów AL
0x0c 0x01b9 Menedżer ds. praw cyfrowych AL
0x0c 0x01ba Cyfrowy portfel AL
0x0c 0x01bc Wiadomości błyskawiczne AL 0x01ae KLUCZ_MESSENGER
0x0c 0x01bd Przeglądarka funkcji/wskazówek AL OEM 0x0166 KLUCZ_INFO
0x0c 0x01be Pomoc OEM firmy AL
0x0c 0x01bf Społeczność internetowa AL
0x0c 0x01c0 Przeglądarka treści AL Entertainment
0x0c 0x01c1 Przeglądarka zakupów online AL
0x0c 0x01c2 Informacje / pomoc dotyczące karty AL SmartCard
0x0c 0x01c3 Przeglądarka AL Market/Finanse
0x0c 0x01c4 Przeglądarka wiadomości AL Customized Corp
0x0c 0x01c5 Przeglądarka aktywności online AL
0x0c 0x01c6 Przeglądarka badań / wyszukiwania AL
0x0c 0x01c7 Odtwarzacz audio AL
0x0c 0x0201 AC Nowy 0x00b5 KLUCZ_NOWOŚĆ
0x0c 0x0202 AC otwarte 0x0086 KLUCZ_OTWARTY
0x0c 0x0203 Zamknięcie AC 0x00ce KLUCZ_CLOSE
0x0c 0x0204 Wyjście AC 0x00ae KLUCZ_WYJŚCIE
0x0c 0x0205 Maksymalizacja AC
0x0c 0x0206 AC Minimalizuj
0x0c 0x0207 AC Zapisz 0x00ea KLUCZ_ZAPISZ
0x0c 0x0208 Druk AC 0x00d2 KLUCZ_PRINT
0x0c 0x0209 Właściwości AC 0x0082 KEY_PROPS
0x0c 0x021a AC Cofnij 0x0083 KLUCZ_UNDO
0x0c 0x021b Kopia AC 0x0085 KLUCZ_KOPIA
0x0c 0x021c Cięcie AC 0x0089 KLUCZ_WYCIĘCIE
0x0c 0x021d Pasta AC 0x0087 KEY_PASTE
0x0c 0x021e AC Wybierz wszystko
0x0c 0x021f Znajdź AC 0x0088 KLUCZ_ZNAJDŹ
0x0c 0x0220 AC Znajdź i zamień
0x0c 0x0221 Szukaj AC 0x00d9 KLUCZ_SZUKAJ 1.6 0x0054 KEYCODE_SEARCH
0x0c 0x0222 AC Przejdź do 0x0162 KEY_GOTO
0x0c 0x0223 Dom AC 0x00ac KEY_HOMEPAGE 3.0 0x0003 KOD KLUCZ_HOME
0x0c 0x0224 Powrót AC 0x009e KLUCZ_POWRÓT 1.6 0x0004 KEYCODE_BACK
0x0c 0x0225 Napastnik AC 0x009f KLUCZ_FORWARD 3.0 0x007d KEYCODE_FORWARD
0x0c 0x0226 Zatrzymanie klimatyzacji 0x0080 KLUCZ_STOP 3.0 0x0056 KEYCODE_MEDIA_STOP
0x0c 0x0227 Odświeżenie klimatyzacji 0x00ad KLUCZ_REFRESH
0x0c 0x0228 Poprzedni link AC
0x0c 0x0229 Następny link AC
0x0c 0x022a Zakładki AC 0x009c KEY_BOOKMARKS 3.0 0x00ae KEYCODE_BOOKMARK
0x0c 0x022b Historia AC
0x0c 0x022c Subskrypcje AC
0x0c 0x022d Zoom AC 0x01a2 KLUCZ_ZOOMIN
0x0c 0x022e Zmniejszenie AC 0x01a3 KEY_ZOOMOUT
0x0c 0x022f Zoom AC 0x01a4 KEY_ZOOMRESET 2
0x0c 0x0230 Widok pełnoekranowy AC
0x0c 0x0231 Widok normalny AC
0x0c 0x0232 Przełącz widok AC
0x0c 0x0233 AC Przewiń w górę 0x00b1 KEY_SCROLLUP 3.0 0x005c KEYCODE_PAGE_UP
0x0c 0x0234 AC Przewiń w dół 0x00b2 KEY_SCROLLDOWN 3.0 0x005d KEYCODE_PAGE_DOWN
0x0c 0x0236 Pan AC w ​​lewo
0x0c 0x0237 AC Pan w prawo
0x0c 0x0239 AC Nowe okno
0x0c 0x023a Płytka AC poziomo
0x0c 0x023b Płytka AC w ​​pionie
0x0c 0x023c Format AC
0x0c 0x023d Edycja AC
0x0c 0x023e AC Odważne
0x0c 0x023f Kursywa AC
0x0c 0x0240 Podkreślenie AC
0x0c 0x0241 Przekreślenie AC
0x0c 0x0242 Indeks AC
0x0c 0x0243 AC indeks górny
0x0c 0x0244 AC Wszystkie czapki
0x0c 0x0245 Obrót AC
0x0c 0x0246 Zmiana rozmiaru AC
0x0c 0x0247 AC Odwróć w poziomie
0x0c 0x0248 AC Odwróć w pionie
0x0c 0x0249 Poziome lusterko AC
0x0c 0x024a Lusterko AC pionowe
0x0c 0x024b Wybierz czcionkę AC
0x0c 0x024c Kolor czcionki AC
0x0c 0x024d Rozmiar czcionki AC
0x0c 0x024e AC Usprawiedliwij się w lewo
0x0c 0x024f Centrum uzasadniające AC H
0x0c 0x0250 AC Uzasadnij rację
0x0c 0x0251 AC uzasadnij blok H
0x0c 0x0252 AC Uzasadnij górę
0x0c 0x0253 AC Justify Center V
0x0c 0x0254 AC Uzasadnij dół
0x0c 0x0255 AC uzasadnij blok V
0x0c 0x0256 Zmniejszenie wcięcia AC
0x0c 0x0257 Zwiększenie wcięcia AC
0x0c 0x0258 Lista numerowana AC
0x0c 0x0259 Numeracja ponownego uruchomienia AC
0x0c 0x025a Lista punktowana AC
0x0c 0x025b Promocja AC
0x0c 0x025c Obniżka AC
0x0c 0x025d AC Tak
0x0c 0x025e Nr AC
0x0c 0x025f Anuluj AC 0x00df KLUCZ_ANULUJ
0x0c 0x0260 Katalog AC
0x0c 0x0261 AC Kup / Kasa
0x0c 0x0262 AC Dodaj do koszyka
0x0c 0x0263 AC rozwiń
0x0c 0x0264 AC Rozwiń wszystko
0x0c 0x0265 Upadek AC
0x0c 0x0266 AC Zwiń wszystko
0x0c 0x0267 Podgląd wydruku AC
0x0c 0x0268 Specjalna pasta AC
0x0c 0x0269 Tryb wstawiania AC
0x0c 0x026a AC Usuń
0x0c 0x026b Zegar
0x0c 0x026c Odblokowanie AC
0x0c 0x026d Ochrona AC
0x0c 0x026e AC Wyłącz ochronę
0x0c 0x026f AC Dołącz komentarz
0x0c 0x0270 AC Usuń komentarz
0x0c 0x0271 AC Zobacz komentarz
0x0c 0x0272 AC Wybierz słowo
0x0c 0x0273 AC Wybierz zdanie
0x0c 0x0274 AC Wybierz akapit
0x0c 0x0275 AC Wybierz kolumnę
0x0c 0x0276 AC Wybierz wiersz
0x0c 0x0277 AC Wybierz tabelę
0x0c 0x0278 AC Wybierz obiekt
0x0c 0x0279 AC Ponów/powtórz 0x00b6 KEY_REDO
0x0c 0x027a Sortowanie AC
0x0c 0x027b AC Sortuj rosnąco
0x0c 0x027c AC Sortuj malejąco
0x0c 0x027d Filtr AC
0x0c 0x027e Zegar ustawiony na klimatyzację
0x0c 0x027f AC Zobacz zegar
0x0c 0x0280 AC Wybierz strefę czasową
0x0c 0x0281 AC Edytuj strefy czasowe
0x0c 0x0282 AC Ustaw alarm
0x0c 0x0283 AC Usuń alarm
0x0c 0x0284 Alarm drzemki AC
0x0c 0x0285 Alarm resetowania klimatyzacji
0x0c 0x0286 Synchronizacja AC
0x0c 0x0287 Wysyłanie/odbieranie AC
0x0c 0x0288 AC Wyślij do
0x0c 0x0289 Odpowiedź AC 0x00e8 KLUCZ_ODPOWIEDŹ
0x0c 0x028a AC Odpowiedz wszystkim
0x0c 0x028b Wiadomość do przodu AC 0x00e9 KEY_FORWARDMAIL
0x0c 0x028c Wyślij AC 0x00e7 KLUCZ_WYŚLIJ
0x0c 0x028d AC Załącz plik
0x0c 0x028e Przesyłanie AC
0x0c 0x028f Pobieranie AC (zapisz element docelowy jako)
0x0c 0x0290 Granice zestawu AC
0x0c 0x0291 Wiersz wkładek AC
0x0c 0x0292 Kolumna wkładana AC
0x0c 0x0293 Plik wstawiania AC
0x0c 0x0294 Zdjęcie wkładu AC
0x0c 0x0295 Obiekt wstaw AC
0x0c 0x0296 Symbol wkładki AC
0x0c 0x0297 AC Zapisz i zamknij
0x0c 0x0298 Zmień nazwę AC
0x0c 0x0299 Połączenie AC
0x0c 0x029a Podział AC
0x0c 0x029b AC rozprowadzany poziomo
0x0c 0x029c AC rozprowadzany pionowo

Dodatkowe mapowania inne niż HID

Te mapowania opisują funkcje, które nie pojawiają się w HID, ale dla których istnieją kody klawiszy Linuksa.

LKC Nazwa kodowa klucza systemu Linux Wersja AKC Nazwa kodowa klucza Androida Notatki
0x01d0 KLUCZ_FN 3.0 0x0077 KEYCODE_FUNCTION
0x01d1 KLUCZ_FN_ESC 3.0 0x006f KEYCODE_ESCAPE 3
0x01d2 KLUCZ_FN_F1 3.0 0x0083 KOD KLUCZ_F1 3
0x01d3 KLUCZ_FN_F2 3.0 0x0084 KOD KLUCZ_F2 3
0x01d4 KLUCZ_FN_F3 3.0 0x0085 KOD KLUCZ_F3 3
0x01d5 KLUCZ_FN_F4 3.0 0x0086 KOD KLUCZ_F4 3
0x01d6 KLUCZ_FN_F5 3.0 0x0087 KOD KLUCZ_F5 3
0x01d7 KLUCZ_FN_F6 3.0 0x0088 KOD KLAWISZY_F6 3
0x01d8 KLUCZ_FN_F7 3.0 0x0089 KOD KLAWISZ_F7 3
0x01d9 KLUCZ_FN_F8 3.0 0x008a KOD KLAWISZ_F8 3
0x01da KLUCZ_FN_F9 3.0 0x008b KOD KLUCZ_F9 3
0x01db KLUCZ_FN_F10 3.0 0x008c KOD KLUCZ_F10 3
0x01dc KLUCZ_FN_F11 3.0 0x008d KOD KLUCZ_F11 3
0x01dd KLUCZ_FN_F12 3.0 0x008e KOD KLUCZ_F12 3
0x01de KLUCZ_FN_1 3.0 0x0008 KOD KLUCZ_1 3
0x01df KLUCZ_FN_2 3.0 0x0009 KOD KLUCZ_2 3
0x01e0 KLUCZ_FN_D 3.0 0x0020 KEYCODE_D 3
0x01e1 KLUCZ_FN_E 3.0 0x0021 KOD KLUCZ_E 3
0x01e2 KLUCZ_FN_F 3.0 0x0022 KOD KLUCZ_F 3
0x01e3 KLUCZ_FN_S 3.0 0x002f KEYCODE_S 3
0x01e4 KLUCZ_FN_B 3.0 0x001e KOD KLUCZ_B 3

Starsze, nieobsługiwane klucze

Te mapowania pojawiały się w poprzednich wersjach Androida, ale były niezgodne z HID lub wykorzystywały niestandardowe kody klawiszy Linuksa. Nie są już obsługiwane.

LKC Nazwa kodowa klucza systemu Linux Wersja AKC Nazwa kodowa klucza Androida Notatki
0x00db KLUCZ_EMAIL 1.6 0x004d KEYCODE_AT 4
„” „” 4,0 4
0x00e3 KEY_STAR 1.6 0x0011 KEYCODE_STAR 4
„” „” 4,0 4
0x00e4 KLUCZ_SHARP 1.6 0x0012 KEYCODE_POUND 4
„” „” 4,0 4
0x00e5 KLUCZ_SOFT1 1.6 0x0052 KEYCODE_MENU 4
„” „” 4,0 4
0x00e6 KLUCZ_SOFT2 1.6 0x0002 KEYCODE_SOFT_RIGHT 4
„” „” 4,0 4
0x00e7 KLUCZ_WYŚLIJ 1.6 0x0005 KEYCODE_CALL 4
„” „” 4,0 4
0x00e8 KLUCZ_CENTRUM 1.6 0x0017 KEYCODE_DPAD_CENTER 4
„” „” 4,0 4
0x00e9 KEY_HEADSETHOOK 1.6 0x004f KEYCODE_HEADSETHOOK 4
„” „” 4,0 4
0x00ea KLUCZ_0_5 1.6 4
0x00eb KLUCZ_2_5 1.6 4

Notatki

  1. Kod klawisza Androida powiązany z typowymi klawiszami alfanumerycznymi i symbolicznymi może się różnić w zależności od układu klawiatury i języka. Ze względów historycznych fizyczne kody skanujące i zastosowania HID powiązane z klawiszami na klawiaturze są często definiowane pozycyjnie, mimo że etykiety wydrukowane na tych klawiszach mogą się różnić w zależności od języka.

    Na klawiaturze angielskiej (QWERTY) w lewym górnym rogu jest oznaczony jako Q. Na klawiaturze francuskiej (AZERTY) klawisz w tej samej pozycji jest oznaczony literą A. Pomimo etykiety na obu klawiaturach lewy górny klawisz alfabetyczny odnosi się do użycia HID 0x07 0x0014, który jest odwzorowany na kod klucza Linuksa KEY_Q.

    Gdy system Android jest skonfigurowany z układem klawiatury w języku angielskim (USA), kod klawisza systemu Linux KEY_Q zostanie odwzorowany na kod klucza systemu Android KEYCODE_Q i będzie generować znaki „Q” i „q”. Jeśli jednak system Android jest skonfigurowany z francuskim układem klawiatury, kod klucza systemu Linux KEY_Q zostanie zmapowany na kod klucza systemu Android KEYCODE_A i wygeneruje znaki „A” i „a”.

    Kod klucza systemu Android zazwyczaj odzwierciedla interpretację klucza specyficzną dla języka, dlatego w przypadku różnych języków można używać innego kodu klucza systemu Android.

  2. 0x0c 0x022f AC Zoom jest zdefiniowany w HID jako kontrola liniowa, ale jądro odwzorowuje go jako klucz, co prawdopodobnie jest nieprawidłowe.

  3. Klawisze funkcyjne systemu Linux KEY_FN_* są mapowane na prostsze kody klawiszy, ale są wysyłane z bitem stanu meta META_FUNCTION ustawionym na wartość true.

  4. Przed wersją Android Ice Cream Sandwich 4.0 domyślny układ klawiszy zawierał mapowania niektórych dodatkowych kodów klawiszy, które nie zostały zdefiniowane w głównych nagłówkach jądra Linuksa. Od tego czasu te mapowania zostały usunięte, ponieważ tym wcześniej niezdefiniowanym kodom klawiszy przypisano różne znaczenia w nowszych wersjach jądra Linuksa.

Źródła

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