Dispositivi a tastiera

Android supporta un'ampia gamma di dispositivi tastiera, tra cui tastierini con funzioni speciali (controlli del volume e dell'alimentazione), tastiere QWERTY compatte integrate e tastiere esterne in stile PC complete di funzionalità.

Questo documento descrive solo le tastiere fisiche. Fare riferimento all'SDK di Android per informazioni sulle tastiere virtuali (editor dei metodi di input).

Classificazione della tastiera

Un dispositivo di input è classificato come tastiera se vale una delle seguenti condizioni:

  • Il dispositivo di input segnala la presenza di eventuali codici chiave Linux utilizzati sulle tastiere, inclusi da 0 a 0xff o KEY_OK a KEY_MAX .

  • Il dispositivo di input segnala la presenza di eventuali codici chiave Linux utilizzati su joystick e gamepad, inclusi BTN_0 a BTN_9 , BTN_TRIGGER a BTN_DEAD o BTN_A a BTN_THUMBR .

I joystick sono attualmente classificati come tastiere perché i pulsanti del joystick e del gamepad vengono segnalati dagli eventi EV_KEY nello stesso modo in cui vengono segnalati i tasti della tastiera. Pertanto anche joystick e gamepad utilizzano file di mappa chiave per la configurazione.

Una volta classificato un dispositivo di input come tastiera, il sistema carica il file di configurazione del dispositivo di input e il layout della tastiera.

Il sistema tenta quindi di determinare ulteriori caratteristiche del dispositivo.

  • Se il dispositivo di input dispone di tasti mappati su KEYCODE_Q , si considera che il dispositivo disponga di un tastierino alfabetico (anziché numerico). La funzionalità della tastiera alfabetica è segnalata nell'oggetto Configuration della risorsa come KEYBOARD_QWERTY .

  • Se il dispositivo di input dispone di tasti mappati su KEYCODE_DPAD_UP , KEYCODE_DPAD_DOWN , KEYCODE_DPAD_LEFT , KEYCODE_DPAD_RIGHT e KEYCODE_DPAD_CENTER (tutti devono essere presenti), si considera che il dispositivo disponga di un tastierino direzionale. La funzionalità del tastierino direzionale è segnalata nell'oggetto Configuration della risorsa come NAVIGATION_DPAD .

  • Se il dispositivo di input dispone di tasti mappati su KEYCODE_BUTTON_A o altri tasti correlati al gamepad, il dispositivo viene considerato dotato di gamepad.

Requisiti del driver della tastiera

  1. I driver della tastiera dovrebbero registrare solo i codici chiave per i tasti che effettivamente supportano. La registrazione di codici chiave in eccesso potrebbe confondere l'algoritmo di classificazione del dispositivo o far sì che il sistema rilevi in ​​modo errato le funzionalità della tastiera supportate dal dispositivo.

  2. I driver della tastiera dovrebbero utilizzare EV_KEY per segnalare la pressione dei tasti, utilizzando un valore pari a 0 per indicare che un tasto è stato rilasciato, un valore pari a 1 per indicare che un tasto è stato premuto e un valore maggiore o uguale a 2 per indicare che il tasto è premuto ripetuto automaticamente.

  3. Android esegue la ripetizione della tastiera. La funzionalità di ripetizione automatica deve essere disabilitata nel driver.

  4. I driver della tastiera possono facoltativamente indicare l'utilizzo dell'HID o il codice di scansione di basso livello inviando EV_MSC con MSC_SCANCODE e un valore che indica l'utilizzo o il codice di scansione quando viene premuto il tasto. Queste informazioni non sono attualmente utilizzate da Android.

  5. I driver della tastiera dovrebbero supportare l'impostazione degli stati dei LED quando EV_LED viene scritto sul dispositivo. Il driver hid-input lo gestisce automaticamente. Al momento in cui scrivo, Android utilizza LED_CAPSLOCK , LED_SCROLLLOCK e LED_NUMLOCK . Questi LED devono essere supportati solo quando la tastiera dispone effettivamente delle spie associate.

  6. I driver della tastiera per tastiere integrate (ad esempio, utilizzando una matrice GPIO) dovrebbero assicurarsi di inviare eventi EV_KEY con un valore pari a 0 per tutti i tasti ancora premuti quando il dispositivo entra in modalità di sospensione. Altrimenti i tasti potrebbero rimanere bloccati e si ripeteranno automaticamente per sempre.

Funzionamento della tastiera

Di seguito è riportato un breve riepilogo del funzionamento della tastiera su Android.

  1. EventHub legge gli eventi grezzi dal driver evdev e mappa i codici chiave Linux (a volte indicati come codici di scansione) nei codici chiave Android utilizzando la mappa del layout dei tasti della tastiera.

  2. InputReader consuma gli eventi non elaborati e aggiorna lo stato della meta chiave. Ad esempio, se il tasto Shift sinistro viene premuto o rilasciato, il lettore imposterà o reimposterà di conseguenza i bit META_SHIFT_LEFT_ON e META_SHIFT_ON .

  3. L' InputReader notifica InputDispatcher l'evento chiave.

  4. InputDispatcher chiede a WindowManagerPolicy cosa fare con l'evento chiave chiamando WindowManagerPolicy.interceptKeyBeforeQueueing . Questo metodo fa parte di un percorso critico responsabile del riattivazione del dispositivo quando vengono premuti determinati tasti. EventHub mantiene effettivamente un wakelock lungo questo percorso critico per garantire che venga eseguito fino al completamento.

  5. Se un InputFilter è attualmente in uso, InputDispatcher gli dà la possibilità di consumare o trasformare la chiave. L' InputFilter può essere utilizzato per implementare politiche di accessibilità a livello di sistema di basso livello.

  6. InputDispatcher accoda la chiave per l'elaborazione sul thread di invio.

  7. Quando InputDispatcher rimuove dalla coda la chiave, offre a WindowManagerPolicy una seconda possibilità di intercettare l'evento chiave chiamando WindowManagerPolicy.interceptKeyBeforeDispatching . Questo metodo gestisce le scorciatoie di sistema e altre funzioni.

  8. L' InputDispatcher identifica quindi la destinazione dell'evento chiave (la finestra focalizzata) e attende che sia pronta. Quindi, InputDispatcher consegna l'evento chiave all'applicazione.

  9. All'interno dell'applicazione, l'evento chiave si propaga lungo la gerarchia della vista fino alla vista focalizzata per l'invio della chiave pre-IME.

  10. Se l'evento chiave non viene gestito nell'invio pre-IME ed è in uso un IME, l'evento chiave viene recapitato all'IME.

  11. Se l'evento chiave non è stato utilizzato dall'IME, l'evento chiave si propaga lungo la gerarchia della vista fino alla vista focalizzata per l'invio della chiave standard.

  12. L'applicazione segnala a InputDispatcher se l'evento chiave è stato consumato. Se l'evento non è stato utilizzato, InputDispatcher chiama WindowManagerPolicy.dispatchUnhandledKey per applicare il comportamento di "fallback". A seconda dell'azione di fallback, il ciclo di invio dell'evento chiave potrebbe essere riavviato utilizzando un codice chiave diverso. Ad esempio, se un'applicazione non gestisce KEYCODE_ESCAPE , il sistema potrebbe invece inviare nuovamente l'evento chiave come KEYCODE_BACK .

Configurazione della tastiera

Il comportamento della tastiera è determinato dal layout dei tasti, dalla mappa dei caratteri dei tasti e dalla configurazione del dispositivo di input.

Fare riferimento alle sezioni seguenti per maggiori dettagli sui file che partecipano alla configurazione della tastiera:

Proprietà

Le seguenti proprietà di configurazione del dispositivo di input vengono utilizzate per le tastiere.

layout della tastiera

Definizione: keyboard.layout = <nome>

Specifica il nome del file di layout dei tasti associato al dispositivo di input, esclusa l'estensione .kl . Se questo file non viene trovato, il sistema di input utilizzerà invece il layout dei tasti predefinito.

Gli spazi nel nome vengono convertiti in caratteri di sottolineatura durante la ricerca.

Fare riferimento alla documentazione del file di layout dei tasti per ulteriori dettagli.

tastiera.characterMap

Definizione: keyboard.characterMap = <nome>

Specifica il nome del file della mappa dei caratteri chiave associato al dispositivo di input, esclusa l'estensione .kcm . Se questo file non viene trovato, il sistema di input utilizzerà invece la mappa dei caratteri chiave predefinita.

Gli spazi nel nome vengono convertiti in caratteri di sottolineatura durante la ricerca.

Fare riferimento alla documentazione del file della mappa dei caratteri chiave per ulteriori dettagli.

tastiera.orientamentoAware

Definizione: keyboard.orientationAware = 0 | 1

Specifica se la tastiera deve reagire alle modifiche dell'orientamento del display.

  • Se il valore è 1 , i tasti direzionali del tastierino vengono ruotati quando cambia l'orientamento del display associato.

  • Se il valore è 0 , la tastiera è immune ai cambiamenti di orientamento del display.

Il valore predefinito è 0 .

La consapevolezza dell'orientamento viene utilizzata per supportare la rotazione dei tasti direzionali della tastiera, come sul Motorola Droid. Ad esempio, quando il dispositivo viene ruotato in senso orario di 90 gradi rispetto al suo orientamento naturale, KEYCODE_DPAD_UP viene rimappato per produrre KEYCODE_DPAD_RIGHT poiché il tasto "su" finisce per puntare "destra" quando il dispositivo viene tenuto in tale orientamento.

tastiera.integrata

Definizione: keyboard.builtIn = 0 | 1

Specifica se la tastiera è la tastiera incorporata (fisicamente collegata).

Il valore predefinito è 1 se il nome del dispositivo termina con -keypad , 0 altrimenti.

Alla tastiera integrata viene sempre assegnato un ID dispositivo pari a 0 . Alle altre tastiere non integrate vengono assegnati ID dispositivo univoci diversi da zero.

L'utilizzo di un ID pari a 0 per la tastiera integrata è importante per mantenere la compatibilità con il campo KeyCharacterMap.BUILT_IN_KEYBOARD , che specifica l'ID della tastiera integrata e ha un valore pari a 0 . Questo campo è stato deprecato nell'API ma le applicazioni meno recenti potrebbero ancora utilizzarlo.

Una tastiera con funzioni speciali (quella la cui mappa dei caratteri dei tasti specifica un tipo SPECIAL_FUNCTION ) non verrà mai registrata come tastiera incorporata, indipendentemente dall'impostazione di questa proprietà. Questo perché una tastiera con funzioni speciali non è, per definizione, destinata all'uso per la digitazione generica.

Configurazioni di esempio

# 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

Note di compatibilità

Prima di Honeycomb, il mappatore di input da tastiera non utilizzava alcuna proprietà di configurazione. Si presumeva che tutte le tastiere fossero fisicamente collegate e consapevoli dell'orientamento. Il layout dei tasti predefinito e la mappa dei caratteri dei tasti erano denominati qwerty anziché Generic . Anche il formato della mappa dei caratteri chiave era molto diverso e il framework non supportava tastiere complete in stile PC o tastiere esterne.

Quando aggiorni i dispositivi a Honeycomb, assicurati di creare o aggiornare la configurazione necessaria e i file di mappatura dei tasti.

Usi HID, codici chiave Linux e codici chiave Android

Il sistema fa riferimento alle chiavi utilizzando diversi identificatori diversi, a seconda del livello di astrazione.

Per i dispositivi HID, a ciascuna chiave è associato un utilizzo HID. Il driver hid-input di Linux e i relativi driver HID specifici del fornitore e del dispositivo sono responsabili dell'analisi dei report HID e della mappatura degli utilizzi HID sui codici chiave Linux.

Mentre Android legge gli eventi EV_KEY dal kernel Linux, traduce ciascun codice chiave Linux nel codice chiave Android corrispondente in base al file di layout chiave del dispositivo.

Quando l'evento chiave viene inviato a un'applicazione, l'istanza android.view.KeyEvent riporta il codice chiave Linux come valore di getScanCode() e il codice chiave Android come valore di getKeyCode() . Ai fini del framework, solo il valore di getKeyCode() è importante.

Tieni presente che le informazioni sull'utilizzo dell'HID non vengono utilizzate da Android stesso né passate alle applicazioni.

Tabelle dei codici

Le seguenti tabelle mostrano come sono correlati tra loro gli utilizzi HID, i codici chiave Linux e i codici chiave Android.

La colonna LKC specifica il codice chiave Linux in esadecimale.

La colonna AKC specifica il codice chiave Android in esadecimale.

La colonna Note si riferisce alle note pubblicate dopo la tabella.

La colonna Versione specifica la prima versione della piattaforma Android ad aver incluso questa chiave nella mappa dei tasti predefinita. Vengono visualizzate più righe nei casi in cui la mappa dei tasti predefinita è cambiata tra le versioni. La versione più vecchia indicata è la 1.6.

  • In Gingerbread (2.3) e versioni precedenti, la mappa dei tasti predefinita era qwerty.kl . Questa mappa dei tasti era destinata esclusivamente all'uso con l'emulatore Android e non era destinata a supportare tastiere esterne arbitrarie. Tuttavia, alcuni OEM hanno aggiunto il supporto della tastiera Bluetooth alla piattaforma e si sono affidati a qwerty.kl per fornire le mappature della tastiera necessarie. Di conseguenza queste mappature più vecchie potrebbero interessare gli OEM che stanno costruendo periferiche per questi particolari dispositivi. Da notare che le mappature sono sostanzialmente diverse da quelle attuali, in particolare per quanto riguarda il trattamento del tasto HOME . Si raccomanda che tutte le nuove periferiche siano sviluppate secondo Honeycomb o mappe chiave più recenti (ad esempio HID standard).

  • A partire da Honeycomb (3.0), la mappatura dei tasti predefinita è Generic.kl . Questa mappa dei tasti è stata progettata per supportare tastiere complete in stile PC. La maggior parte delle funzionalità delle tastiere HID standard dovrebbero funzionare immediatamente.

La mappatura del codice chiave può variare tra le versioni del kernel Linux e Android. Quando si sa che si sono verificate modifiche nelle mappe dei tasti predefinite di Android, queste vengono indicate nella colonna della versione.

I driver HID e le mappe dei tasti specifici del dispositivo possono applicare mappature diverse da quelle indicate qui.

Tastiera HID e pagina tastierino (0x07)

Utilizzo HID Nome utilizzo HID LKC Nome del codice chiave Linux Versione AKC Nome del codice chiave Android Appunti
0x07 0x0001 Errore tastiera Rollover
0x07 0x0002 POST tastiera non riuscito
0x07 0x0003 Errore tastiera non definito
0x07 0x0004 Tastiera A e A 0x001e CHIAVE_A 1.6 0x001d CODICECHIAVE_A 1
0x07 0x0005 Tastiera B e B 0x0030 CHIAVE_B 1.6 0x001e CODICECHIAVE_B 1
0x07 0x0006 Tastiera C e C 0x002e CHIAVE_C 1.6 0x001f CODICECHIAVE_C 1
0x07 0x0007 Tastiera D e D 0x0020 CHIAVE_D 1.6 0x0020 CODICECHIAVE_D 1
0x07 0x0008 Tastiera e ed E 0x0012 CHIAVE_E 1.6 0x0021 CODICECHIAVE_E 1
0x07 0x0009 Tastiera F e F 0x0021 CHIAVE_F 1.6 0x0022 CODICECHIAVE_F 1
0x07 0x000a Tastiera G e G 0x0022 CHIAVE_G 1.6 0x0023 CODICECHIAVE_G 1
0x070x000b Tastiera h e H 0x0023 CHIAVE_H 1.6 0x0024 CODICECHIAVE_H 1
0x07 0x000c Tastiera i e I 0x0017 CHIAVE_I 1.6 0x0025 CODICECHIAVE_I 1
0x07 0x000d Tastiera j e J 0x0024 CHIAVE_J 1.6 0x0026 CODICECHIAVE_J 1
0x07 0x000e Tastiera k e K 0x0025 CHIAVE_K 1.6 0x0027 CODICECHIAVE_K 1
0x07 0x000f Tastiera l e L 0x0026 CHIAVE_L 1.6 0x0028 CODICECHIAVE_L 1
0x070x0010 Tastiera m e M 0x0032 CHIAVE_M 1.6 0x0029 CODICECHIAVE_M 1
0x070x0011 Tastiera n e N 0x0031 CHIAVE_N 1.6 0x002a CODICE CHIAVE_N 1
0x070x0012 Tastiera o e O 0x0018 CHIAVE_O 1.6 0x002b CODICECHIAVE_O 1
0x070x0013 Tastiera p e P 0x0019 CHIAVE_P 1.6 0x002c CODICECHIAVE_P 1
0x070x0014 Tastiera q e Q 0x0010 CHIAVE_Q 1.6 0x002d CODICECHIAVE_Q 1
0x070x0015 Tastiera R e R 0x0013 CHIAVE_R 1.6 0x002e CODICECHIAVE_R 1
0x070x0016 Tastiera s e S 0x001f CHIAVE_S 1.6 0x002f CODICE CHIAVE_S 1
0x070x0017 Tastiera t e T 0x0014 CHIAVE_T 1.6 0x0030 CODICECHIAVE_T 1
0x070x0018 Tastiera u e U 0x0016 CHIAVE_U 1.6 0x0031 CODICECHIAVE_U 1
0x070x0019 Tastiera v e V 0x002f CHIAVE_V 1.6 0x0032 CODICECHIAVE_V 1
0x07 0x001a Tastiera w e W 0x0011 CHIAVE_W 1.6 0x0033 CODICECHIAVE_W 1
0x07 0x001b Tastiera xe X 0x002d CHIAVE_X 1.6 0x0034 CODICECHIAVE_X 1
0x07 0x001c Tastiera Y e Y 0x0015 CHIAVE_Y 1.6 0x0035 CODICECHIAVE_Y 1
0x07 0x001d Tastiera z e Z 0x002c CHIAVE_Z 1.6 0x0036 CODICECHIAVE_Z 1
0x07 0x001e Tastiera 1 e ! 0x0002 CHIAVE_1 1.6 0x0008 CODICECHIAVE_1 1
0x07 0x001f Tastiera 2 e @ 0x0003 CHIAVE_2 1.6 0x0009 CODICECHIAVE_2 1
0x070x0020 Tastiera 3 e # 0x0004 CHIAVE_3 1.6 0x000a CODICECHIAVE_3 1
0x07 0x0021 Tastiera 4 e $ 0x0005 CHIAVE_4 1.6 0x000b CODICECHIAVE_4 1
0x07 0x0022 Tastiera 5 e% 0x0006 CHIAVE_5 1.6 0x000c CODICECHIAVE_5 1
0x07 0x0023 Tastiera 6 e ^ 0x0007 CHIAVE_6 1.6 0x000d CODICECHIAVE_6 1
0x07 0x0024 Tastiera 7 e & 0x0008 CHIAVE_7 1.6 0x000e CODICECHIAVE_7 1
0x07 0x0025 Tastiera 8 e * 0x0009 CHIAVE_8 1.6 0x000f CODICECHIAVE_8 1
0x07 0x0026 Tastiera 9 e ( 0x000a CHIAVE_9 1.6 0x0010 CODICECHIAVE_9 1
0x07 0x0027 Tastiera 0 e ) 0x000b CHIAVE_0 1.6 0x0007 CODICECHIAVE_0 1
0x07 0x0028 Invio da tastiera (INVIO) 0x001c CHIAVE_INVIO 1.6 0x0042 CODICECHIAVE_INVIO 1
0x07 0x0029 ESCAPE dalla tastiera 0x0001 CHIAVE_ESC 3.0 0x006f KEYCODE_ESCAPE
"" "" "" "" 2.3 0x0004 KEYCODE_BACK
0x07 0x002a CANCELLA da tastiera (Backspace) 0x000e TASTO_BACKSPACE 1.6 0x0043 KEYCODE_DEL
0x07 0x002b Scheda Tastiera 0x000f CHIAVE_TAB 1.6 0x003d CODICECHIAVE_TAB
0x07 0x002c Barra spaziatrice della tastiera 0x0039 CHIAVE_SPACE 1.6 0x003e CODICECHIAVE_SPACE
0x07 0x002d Tastiera - e _ 0x000c CHIAVE_MENO 1.6 0x0045 CODICECHIAVE_MINUS 1
0x07 0x002e Tastiera = e + 0x000d CHIAVE_UGUALE 1.6 0x0046 KEYCODE_EQUALS 1
0x07 0x002f Tastiera [ e { 0x001a CHIAVE_BRACCIO SINISTRO 1.6 0x0047 KEYCODE_LEFT_BRACKET 1
0x070x0030 Tastiera] e } 0x001b CHIAVE_BRACCIA DESTRA 1.6 0x0048 KEYCODE_RIGHT_BRACKET 1
0x070x0031 Tastiera \ e | 0x002b CHIAVE_BACKSLASH 1.6 0x0049 KEYCODE_BACKSLASH 1
0x07 0x0032 Tastiera # e ~ non statunitensi 0x002b CHIAVE_BACKSLASH 1.6 0x0049 KEYCODE_BACKSLASH 1
0x07 0x0033 Tastiera ; E : 0x0027 CHIAVE_SEMICOLON 1.6 0x004a KEYCODE_SEMICOLON 1
0x07 0x0034 Tastiera ' e " 0x0028 CHIAVE_APOSTROFO 1.6 0x004b KEYCODE_APOSTROFO 1
0x07 0x0035 Tastiera ` e ~ 0x0029 CHIAVE_GRAVE 3.0 0x0044 KEYCODE_GRAVE 1
0x07 0x0036 Tastiera e < 0x0033 CHIAVE_COMMA 1.6 0x0037 KEYCODE_COMMA 1
0x07 0x0037 Tastiera . e > 0x0034 CHIAVE_PUNTO 1.6 0x0038 KEYCODE_PERIOD 1
0x07 0x0038 Tastiera / e ? 0x0035 CHIAVE_SLASH 1.6 0x004c KEYCODE_SLASH 1
0x07 0x0039 Blocco maiuscole della tastiera 0x003a CHIAVE_CAPSLOCK 3.0 0x0073 KEYCODE_CAPS_LOCK
0x07 0x003a Tastiera F1 0x003b TASTO_F1 3.0 0x0083 CODICECHIAVE_F1
"" "" "" "" 1.6 0x0052 KEYCODE_MENU
0x07 0x003b Tastiera F2 0x003c TASTO_F2 3.0 0x0084 CODICECHIAVE_F2
"" "" "" "" 1.6 0x0002 CODICECHIAVE_SOFT_RIGHT
0x07 0x003c Tastiera F3 0x003d TASTO_F3 3.0 0x0085 CODICECHIAVE_F3
"" "" "" "" 1.6 0x0005 KEYCODE_CALL
0x07 0x003d Tastiera F4 0x003e TASTO_F4 3.0 0x0086 CODICECHIAVE_F4
"" "" "" "" 1.6 0x0006 KEYCODE_ENDCALL
0x07 0x003e Tastiera F5 0x003f TASTO_F5 3.0 0x0087 CODICECHIAVE_F5
0x07 0x003f Tastiera F6 0x0040 TASTO_F6 3.0 0x0088 CODICECHIAVE_F6
0x070x0040 Tastiera F7 0x0041 TASTO_F7 3.0 0x0089 CODICECHIAVE_F7
0x07 0x0041 Tastiera F8 0x0042 TASTO_F8 3.0 0x008a CODICECHIAVE_F8
0x07 0x0042 Tastiera F9 0x0043 TASTO_F9 3.0 0x008b CODICECHIAVE_F9
0x07 0x0043 Tastiera F10 0x0044 TASTO_F10 3.0 0x008c CODICECHIAVE_F10
"" "" "" "" 2.3 0x0052 KEYCODE_MENU
0x07 0x0044 Tastiera F11 0x0057 TASTO_F11 3.0 0x008d CODICECHIAVE_F11
0x07 0x0045 Tastiera F12 0x0058 TASTO_F12 3.0 0x008e CODICECHIAVE_F12
0x070x0046 Schermata di stampa della tastiera 0x0063 CHIAVE_SYSRQ 3.0 0x0078 KEYCODE_SYSRQ
0x07 0x0047 Blocco scorrimento tastiera 0x0046 CHIAVE_BLOCCOSCORRE 3.0 0x0074 KEYCODE_SCROLL_LOCK
0x07 0x0048 Pausa della tastiera 0x0077 TASTO_PAUSA 3.0 0x0079 KEYCODE_BREAK
0x070x0049 Inserimento tastiera 0x006e INSER_CHIAVE 3.0 0x007c KEYCODE_INSERT
0x07 0x004a Tastiera Home 0x0066 CHIAVE_HOME 3.0 0x007a KEYCODE_MOVE_HOME
"" "" "" "" 1.6 0x0003 CODICECHIAVE_HOME
0x07 0x004b Pagina su della tastiera 0x0068 CHIAVE_PAGEUP 3.0 0x005c KEYCODE_PAGE_UP
0x07 0x004c Cancella tastiera Avanti 0x006f CHIAVE_CANCELLA 3.0 0x0070 KEYCODE_FORWARD_DEL
0x07 0x004d Fine della tastiera 0x006b CHIAVE_END 3.0 0x007b KEYCODE_MOVE_END
"" "" "" "" 1.6 0x0006 KEYCODE_ENDCALL
0x07 0x004e Pagina giù della tastiera 0x006d CHIAVE_PAGEGIÙ 3.0 0x005d KEYCODE_PAGE_DOWN
0x07 0x004f Freccia destra della tastiera 0x006a CHIAVE_DESTRA 1.6 0x0016 KEYCODE_DPAD_RIGHT
0x07 0x0050 Freccia sinistra della tastiera 0x0069 CHIAVE_SINISTRA 1.6 0x0015 KEYCODE_DPAD_LEFT
0x07 0x0051 Freccia giù della tastiera 0x006c TASTO_GIÙ 1.6 0x0014 KEYCODE_DPAD_DOWN
0x07 0x0052 Freccia su tastiera 0x0067 TASTO_SU 1.6 0x0013 KEYCODE_DPAD_UP
0x07 0x0053 Blocco numerico e Cancella tastiera 0x0045 CHIAVE_NUMBLOCCO 3.0 0x008f KEYCODE_NUM_LOCK
0x07 0x0054 Tastiera / 0x0062 KEY_KPSLASH 3.0 0x009a KEYCODE_NUMPAD_DIVIDE
0x07 0x0055 Tastiera * 0x0037 CHIAVE_KPASTERISK 3.0 0x009b KEYCODE_NUMPAD_MULTIPLY
0x070x0056 Tastiera - 0x004a CHIAVE_KPMINUS 3.0 0x009c KEYCODE_NUMPAD_SUBTRACT
0x07 0x0057 Tastiera + 0x004e CHIAVE_KPPLUS 3.0 0x009d KEYCODE_NUMPAD_ADD
0x07 0x0058 Tastiera ENTER 0x0060 CHIAVE_KPENTER 3.0 0x00a0 KEYCODE_NUMPAD_ENTER
0x07 0x0059 Tastiera 1 e Fine 0x004f CHIAVE_KP1 3.0 0x0091 KEYCODE_NUMPAD_1
0x07 0x005a Tastierino 2 e freccia giù 0x0050 CHIAVE_KP2 3.0 0x0092 KEYCODE_NUMPAD_2
0x07 0x005b Tastiera 3 e PageDn 0x0051 CHIAVE_KP3 3.0 0x0093 KEYCODE_NUMPAD_3
0x07 0x005c Tastierino 4 e freccia sinistra 0x004b CHIAVE_KP4 3.0 0x0094 KEYCODE_NUMPAD_4
0x07 0x005d Tastiera 5 0x004c CHIAVE_KP5 3.0 0x0095 KEYCODE_NUMPAD_5
0x07 0x005e Tastierino 6 e freccia destra 0x004d CHIAVE_KP6 3.0 0x0096 KEYCODE_NUMPAD_6
0x07 0x005f Tastiera 7 e Home 0x0047 CHIAVE_KP7 3.0 0x0097 KEYCODE_NUMPAD_7
0x070x0060 Tastierino 8 e freccia su 0x0048 CHIAVE_KP8 3.0 0x0098 KEYCODE_NUMPAD_8
0x070x0061 Tastierino 9 e Pagina su 0x0049 CHIAVE_KP9 3.0 0x0099 KEYCODE_NUMPAD_9
0x070x0062 Tastiera 0 e Inserisci 0x0052 CHIAVE_KP0 3.0 0x0090 KEYCODE_NUMPAD_0
0x070x0063 Tastiera. ed Elimina 0x0053 CHIAVE_KPDOT 3.0 0x009e KEYCODE_NUMPAD_DOT
0x070x0064 Tastiera non statunitense \ e | 0x0056 CHIAVE_102ND 4.0 0x0049 KEYCODE_BACKSLASH 1
0x07 0x0065 Applicazione tastiera 0x007f KEY_COMPOSE 3.0 0x0052 KEYCODE_MENU
"" "" "" "" 1.6 0x0054 CHIAVECODE_CERCA
0x070x0066 Potenza della tastiera 0x0074 CHIAVE_POTENZA 1.6 0x001a KEYCODE_POWER
0x070x0067 Tastiera = 0x0075 CHIAVE_KPEQUAL 3.0 0x00a1 KEYCODE_NUMPAD_EQUALS
0x070x0068 Tastiera F13 0x00b7 TASTO_F13
0x070x0069 Tastiera F14 0x00b8 TASTO_F14
0x07 0x006a Tastiera F15 0x00b9 TASTO_F15
0x070x006b Tastiera F16 0x00ba TASTO_F16
0x07 0x006c Tastiera F17 0x00bb TASTO_F17
0x07 0x006d Tastiera F18 0x00bc TASTO_F18
0x07 0x006e Tastiera F19 0x00bd TASTO_F19
0x07 0x006f Tastiera F20 0x00be TASTO_F20
0x070x0070 Tastiera F21 0x00bf TASTO_F21
0x070x0071 Tastiera F22 0x00c0 TASTO_F22
0x070x0072 Tastiera F23 0x00c1 TASTO_F23
0x07 0x0073 Tastiera F24 0x00c2 TASTO_F24
0x07 0x0074 Esegui da tastiera 0x0086 CHIAVE_APERTA
0x07 0x0075 Aiuto per la tastiera 0x008a CHIAVE_AIUTO
0x070x0076 Menù tastiera 0x0082 CHIAVE_PROP
0x070x0077 Seleziona tastiera 0x0084 CHIAVE_FRONTE
0x070x0078 Arresto della tastiera 0x0080 CHIAVE_STOP 3.0 0x0056 KEYCODE_MEDIA_STOP
0x070x0079 Di nuovo la tastiera 0x0081 CHIAVE_ANCORA
0x07 0x007a Annulla tastiera 0x0083 CHIAVE_UNDO
0x070x007b Taglio della tastiera 0x0089 CHIAVE_CUT
0x07 0x007c Copia da tastiera 0x0085 CHIAVE_COPIA
0x07 0x007d Pasta per tastiera 0x0087 CHIAVE_INCOLLA
0x07 0x007e Trova tastiera 0x0088 CHIAVE_TROVA
0x07 0x007f Disattivazione tastiera 0x0071 CHIAVE_MUTE 3.0 0x00a4 KEYCODE_VOLUME_MUTE
0x070x0080 Aumenta il volume della tastiera 0x0073 CHIAVE_VOLUMESU 1.6 0x0018 KEYCODE_VOLUME_UP
0x070x0081 Abbassa il volume della tastiera 0x0072 CHIAVE_VOLUMEGIÙ 1.6 0x0019 KEYCODE_VOLUME_DOWN
0x07 0x0082 Blocco tastiera Blocco maiuscole
0x07 0x0083 Blocco tastiera Blocco numerico
0x070x0084 Blocco tastiera Blocco scorrimento
0x07 0x0085 Virgola della tastiera 0x0079 KEY_KPCOMMA 3.0 0x009f KEYCODE_NUMPAD_COMMA
0x070x0086 Segno uguale sulla tastiera
0x07 0x0087 Tastiera internazionale1 0x0059 CHIAVE_RO
0x070x0088 Tastiera internazionale2 0x005d KEY_KATAKANAHIRAGANA
0x070x0089 Tastiera internazionale3 0x007c CHIAVE_YEN
0x07 0x008a Tastiera internazionale4 0x005c KEY_HENKAN
0x07 0x008b Tastiera internazionale5 0x005e CHIAVE_MUHENKAN
0x07 0x008c Tastiera internazionale6 0x005f KEY_KPJPCOMMA
0x07 0x008d Tastiera internazionale7
0x07 0x008e Tastiera internazionale8
0x07 0x008f Tastiera internazionale9
0x07 0x0090 Tastiera LINGUA1 0x007a CHIAVE_HANGEUL
0x070x0091 Tastiera LINGUA2 0x007b CHIAVE_HANJA
0x07 0x0092 Tastiera LINGUA3 0x005a CHIAVE_KATAKANA
0x07 0x0093 Tastiera LINGUA4 0x005b CHIAVE_HIRAGANA
0x070x0094 Tastiera LINGUA5 0x0055 KEY_ZENKAKUHANKAKU
0x07 0x0095 Tastiera LINGUA6
0x070x0096 Tastiera LINGUA7
0x07 0x0097 Tastiera LINGUA8
0x070x0098 LINGUA tastiera9
0x070x0099 Cancellazione alternativa della tastiera
0x07 0x009a Tastiera SysReq/Attenzione
0x070x009b Annulla tastiera
0x07 0x009c Cancella tastiera
0x07 0x009d Priore della tastiera
0x07 0x009e Ritorno da tastiera
0x07 0x009f Separatore per tastiera
0x070x00a0 Tastiera spenta
0x070x00a1 Operazione da tastiera
0x070x00a2 Cancella/Ancora tastiera
0x070x00a3 CrSel/Props tastiera
0x070x00a4 Tastiera ExSel
0x070x00b0 Tastiera 00
0x070x00b1 Tastiera 000
0x070x00b2 Separatore delle migliaia
0x070x00b3 Separatore decimale
0x070x00b4 Unità monetaria
0x070x00b5 Sottounità Valuta
0x070x00b6 Tastiera ( 0x00b3 KEY_KPLEFTPAREN 3.0 0x00a2 KEYCODE_NUMPAD_LEFT_PAREN
0x070x00b7 Tastiera) 0x00b4 KEY_KPRIGHTPAREN 3.0 0x00a3 KEYCODE_NUMPAD_RIGHT_PAREN
0x070x00b8 Tastiera {
0x070x00b9 Tastiera }
0x07 0x00ba Scheda Tastiera
0x07 0x00bb Backspace della tastiera
0x070x00bc TastieraA
0x07 0x00bd Tastiera B
0x07 0x00be Tastiera C
0x07 0x00bf Tastiera D
0x070x00c0 TastieraE
0x070x00c1 Tastiera F
0x070x00c2 XOR da tastiera
0x070x00c3 Tastiera ^
0x070x00c4 % tastiera
0x070x00c5 Tastiera <
0x070x00c6 Tastiera >
0x070x00c7 Tastiera e
0x070x00c8 Tastiera &&
0x070x00c9 Tastiera |
0x07 0x00ca Tastiera ||
0x07 0x00cb Tastiera:
0x07 0x00cc N. tastiera
0x07 0x00cd Spazio sulla tastiera
0x07 0x00ce Tastiera @
0x07 0x00cf Tastiera!
0x070x00d0 Memorizzazione della memoria della tastiera
0x070x00d1 Richiamo della memoria della tastiera
0x070x00d2 Cancellazione memoria tastiera
0x070x00d3 Aggiunta memoria tastiera
0x070x00d4 Sottrazione memoria tastiera
0x070x00d5 Moltiplicazione della memoria della tastiera
0x070x00d6 Divisione della memoria della tastiera
0x070x00d7 Tastiera +/-
0x070x00d8 Cancella tastiera
0x070x00d9 Cancella immissione da tastiera
0x07 0x00da Binario da tastiera
0x07 0x00db Tastiera ottale
0x07 0x00dc Decimale da tastiera
0x07 0x00gg Tastiera esadecimale
0x070x00e0 Controllo sinistro della tastiera 0x001d KEY_LEFTCTRL 3.0 0x0071 KEYCODE_CTRL_LEFT
0x070x00e1 Spostamento a sinistra della tastiera 0x002a KEY_LEFTSHIFT 1.6 0x003b KEYCODE_SHIFT_LEFT
0x070x00e2 Tastiera sinistra Alt 0x0038 TASTO_SINISTRAALT 1.6 0x0039 KEYCODE_ALT_LEFT
0x070x00e3 GUI sinistra della tastiera 0x007d KEY_LEFTMETA 3.0 0x0075 KEYCODE_META_LEFT
0x070x00e4 Controllo destro della tastiera 0x0061 KEY_RIGHTCTRL 3.0 0x0072 KEYCODE_CTRL_RIGHT
0x070x00e5 Maiusc destro della tastiera 0x0036 CHIAVE_SHIFT DESTRA 1.6 0x003c KEYCODE_SHIFT_RIGHT
0x070x00e6 Tastiera destra Alt 0x0064 CHIAVE_DESTRAALT 1.6 0x003a KEYCODE_ALT_RIGHT
0x070x00e7 GUI della tastiera destra 0x007e CHIAVE_RIGHTMETA 3.0 0x0076 KEYCODE_META_RIGHT
0x070x00e8 0x00a4 KEY_PLAYPAUSE 3.0 0x0055 KEYCODE_MEDIA_PLAY_PAUSE
0x070x00e9 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 CHIAVE_VOLUMESU 1.6 0x0018 KEYCODE_VOLUME_UP
0x07 0x00ee 0x0072 CHIAVE_VOLUMEGIÙ 1.6 0x0019 KEYCODE_VOLUME_DOWN
0x07 0x00ef 0x0071 CHIAVE_MUTE 3.0 0x00a4 KEYCODE_VOLUME_MUTE
0x070x00f0 0x0096 CHIAVE_WWW 1.6 0x0040 KEYCODE_EXPLORER
0x070x00f1 0x009e CHIAVE_INDIETRO 1.6 0x0004 KEYCODE_BACK
0x070x00f2 0x009f CHIAVE_AVANTI 3.0 0x007d CODICECHIAVE_AVANTI
0x070x00f3 0x0080 CHIAVE_STOP 3.0 0x0056 KEYCODE_MEDIA_STOP
0x070x00f4 0x0088 CHIAVE_TROVA
0x070x00f5 0x00b1 CHIAVE_SCROLLUP 3.0 0x005c KEYCODE_PAGE_UP
0x070x00f6 0x00b2 TASTO_SCROLLDOWN 3.0 0x005d KEYCODE_PAGE_DOWN
0x070x00f7 0x00b0 MODIFICA_CHIAVE
0x070x00f8 0x008e CHIAVE_SONNO
0x070x00f9 0x0098 CHIAVE_CAFFÈ 4.0 0x001a KEYCODE_POWER
0x07 0x00fa 0x00annuncio CHIAVE_AGGIORNA
0x07 0x00fb 0x008c CHIAVE_CALC 4.0.3 0x00d2 CHIAVECODE_CALCOLATORE

Pagina desktop generica HID (0x01)

Utilizzo HID Nome utilizzo HID LKC Nome del codice chiave Linux Versione AKC Nome del codice chiave Android Appunti
0x01 0x0081 Spegnimento del sistema 0x0074 CHIAVE_POTENZA 1.6 0x001a KEYCODE_POWER
0x01 0x0082 Sospensione del sistema 0x008e CHIAVE_SONNO 4.0 0x001a KEYCODE_POWER
0x01 0x0083 Riattivazione del sistema 0x008f CHIAVE_WAKEUP 4.0 0x001a KEYCODE_POWER
0x01 0x0084 Menu contestuale del sistema
0x01 0x0085 Menu principale del sistema
0x01 0x0086 Menu dell'app di sistema
0x01 0x0087 Guida del menu di sistema
0x01 0x0088 Menu Sistema Esci
0x01 0x0089 Menu Sistema Seleziona
0x01 0x008a Menu Sistema a destra
0x01 0x008b Menu di sistema a sinistra
0x01 0x008c Menu di sistema su
0x01 0x008d Menu Sistema Giù
0x01 0x008e Riavvio a freddo del sistema
0x01 0x008f Riavvio a caldo del sistema
0x010x00a0 Dock di sistema
0x010x00a1 Sgancio del sistema
0x01 0x00a2 Configurazione del sistema
0x010x00a3 Rottura del sistema
0x010x00a4 Interruzione del debugger di sistema
0x010x00a5 Pausa dell'applicazione
0x010x00a6 Interruzione del debugger dell'applicazione
0x01 0x00a7 Disattivazione dell'audio dell'altoparlante del sistema
0x010x00a8 Ibernazione del sistema
0x010x00b0 Inversione visualizzazione sistema
0x010x00b1 Display del sistema interno
0x01 0x00b2 Display del sistema Esterno
0x010x00b3 Il sistema visualizza entrambi
0x010x00b4 Display del sistema doppio
0x010x00b5 Visualizzazione del sistema Alterna Int/Ext
0x010x00b6 Scambio visualizzazione sistema Prim./Sec.
0x010x00b7 Display del sistema Scala automatica LCD

Pagina consumatore HID (0x0c)

Utilizzo HID Nome utilizzo HID LKC Nome del codice chiave Linux Versione AKC Nome del codice chiave Android Appunti
0x0c 0x0030 Energia
0x0c 0x0031 Ripristina
0x0c 0x0032 Sonno
0x0c 0x0033 Dormi dopo
0x0c 0x0034 Modalità risparmio 0x008e CHIAVE_SONNO 4.0 0x001a KEYCODE_POWER
0x0c 0x0040 Menù 0x008b CHIAVE_MENU 1.6 0x0052 KEYCODE_MENU
0x0c 0x0041 Scelta del menu
0x0c 0x0042 Menu su
0x0c 0x0043 Menù giù
0x0c 0x0044 Menù a sinistra
0x0c 0x0045 Menù a destra 0x0181 CHIAVE_DESTRA
0x0c 0x0046 Menù Fuga
0x0c 0x0047 Aumento del valore del menu
0x0c 0x0048 Menu Valore Diminuisci
0x0c 0x0067 Attiva/disattiva Picture in Picture 0x00ab KEYCODE_WINDOW Aggiunto in aosp/1365553
0x0c 0x0069 Pulsante menu rosso 0x18e CHIAVE_ROSSO 0x00b7 KEYCODE_PROG_RED Aggiunto in aosp/1388616
0x0c 0x006a Pulsante menu verde 0x18f CHIAVE_VERDE 0x00b8 KEYCODE_PROG_GREEN Aggiunto in aosp/1388616
0x0c 0x006b Pulsante menu blu 0x191 CHIAVE_BLU 0x00ba KEYCODE_PROG_BLUE Aggiunto in aosp/1388616
0x0c 0x006c Pulsante menu giallo 0x190 CHIAVE_GIALLO 0x00b9 KEYCODE_PROG_GIALLO Aggiunto in aosp/1388616
0x0c 0x0081 Assegna selezione
0x0c 0x0082 Passo della modalità
0x0c 0x0083 Ricorda ultimo 0x0195 CHIAVE_ULTIMO 0xe5 KEYCODE_LAST_CHANNEL Aggiunto in aosp/1365551
0x0c 0x0084 Entra nel canale
0x0c 0x0085 Ordina film
0x0c 0x0088 Supporto Selezionare Computer 0x0178 CHIAVE_PC
0x0c 0x0089 Media Selezionare TV 0x0179 CHIAVE_TV 3.0 0x00aa CODICECHIAVE_TV
0x0c 0x008a Media Selezionare WWW 0x0096 CHIAVE_WWW 1.6 0x0040 KEYCODE_EXPLORER
0x0c 0x008b Supporto Seleziona DVD 0x0185 CHIAVE_DVD
0x0c 0x008c Media Selezionare Telefono 0x00a9 CHIAVE_TELEFONO 3.0 0x0005 KEYCODE_CALL
0x0c 0x008d Guida al programma di selezione multimediale 0x016a CHIAVE_PROGRAMMA 3.0 0x00ac KEYCODE_GUIDE
0x0c 0x008e Multimedia Selezionare Videotelefono 0x01a0 CHIAVE_VIDEOTELO
0x0c 0x008f Media Seleziona giochi 0x01a1 CHIAVE_GIOCHI
0x0c 0x0090 Media Seleziona Messaggi 0x018c CHIAVE_MEMO
0x0c 0x0091 Supporto Seleziona CD 0x017f CHIAVE_CD
0x0c 0x0092 Supporto Seleziona videoregistratore 0x017b CHIAVE_VCR
0x0c 0x0093 Media Seleziona sintonizzatore 0x0182 CHIAVE_SINTONIZZATORE
0x0c 0x0094 Esentato 0x00ae CHIAVE_ESCI
0x0c 0x0095 Aiuto 0x008a CHIAVE_AIUTO
0x0c 0x0096 Supporto Seleziona nastro 0x0180 TASTO_TAPE
0x0c 0x0097 Cavo di selezione multimediale 0x017a CHIAVE_TV2
0x0c 0x0098 Media Selezionare Satellite 0x017d CHIAVE_SAT
0x0c 0x0099 Supporto Selezionare Sicurezza
0x0c 0x009a Multimedia Selezionare Casa 0x016e CHIAVE_PVR 3.0 0x00annuncio CODICECHIAVE_DVR
0x0c 0x0061 Didascalie 0x0172 CHIAVE_SOTTOTITOLO 0x00af KEYCODE_CAPTIONS Aggiunto in aosp/1365552
0x0c 0x009c Incremento del canale 0x0192 CHIAVE_CANALEUP 3.0 0x00a6 KEYCODE_CHANNEL_UP
0x0c 0x009d Decremento del canale 0x0193 CHIAVE_CANALEDOWN 3.0 0x00a7 KEYCODE_CHANNEL_DOWN
0x0c 0x009e Supporto Selezionare SAP
0x0c0x00a0 Videoregistratore Plus 0x017c CHIAVE_VCR2
0x0c0x00a1 Una volta
0x0c0x00a2 Quotidiano
0x0c0x00a3 settimanalmente
0x0c0x00a4 Mensile
0x0c0x00b0 Giocare 0x00cf KEY_PLAY 3.0 0x007e KEYCODE_MEDIA_PLAY
0x0c0x00b1 Pausa 0x0077 TASTO_PAUSA 3.0 0x0079 KEYCODE_BREAK
0x0c 0x00b2 Documentazione 0x00a7 CHIAVE_RECORD 3.0 0x0082 KEYCODE_MEDIA_RECORD
0x0c 0x00b3 Avanti veloce 0x00d0 CHIAVE_AVANTI VELOCE 3.0 0x005a KEYCODE_MEDIA_FAST_FORWARD
0x0c0x00b4 Riavvolgi 0x00a8 CHIAVE_REWIND 3.0 0x0059 KEYCODE_MEDIA_REWIND
0x0c 0x00b5 Scansiona la traccia successiva 0x00a3 KEY_NEXTSONG 3.0 0x0057 KEYCODE_MEDIA_NEXT
0x0c0x00b6 Scansiona la traccia precedente 0x00a5 KEY_PREVIOUSSONG 3.0 0x0058 KEYCODE_MEDIA_PREVIOUS
0x0c 0x00b7 Fermare 0x00a6 KEY_STOPCD 3.0 0x0056 KEYCODE_MEDIA_STOP
0x0c0x00b8 Espellere 0x00a1 KEY_EJECTCD 3.0 0x0081 KEYCODE_MEDIA_EJECT
0x0c0x00b9 Riproduzione casuale
0x0c 0x00ba Seleziona Disco
0x0c 0x00bb Inserisci il disco
0x0c 0x00bc Ripetere 0x01b7 CHIAVE_MEDIA_REPEAT
0x0c 0x00be Traccia normale
0x0c0x00c0 Inquadratura in avanti
0x0c 0x00c1 Cornice posteriore
0x0c 0x00c2 Segno
0x0c 0x00c3 Segno chiaro
0x0c 0x00c4 Ripeti da Marco
0x0c 0x00c5 Ritorna a Marco
0x0c 0x00c6 Cerca Seleziona in avanti
0x0c 0x00c7 Cerca contrassegno all'indietro
0x0c 0x00c8 Reimpostazione del contatore
0x0c 0x00c9 Mostra contatore
0x0c 0x00ca Incremento del monitoraggio
0x0c 0x00cb Decremento del monitoraggio
0x0c 0x00cc Arresto/Espelli
0x0c 0x00cd Play pausa 0x00a4 KEY_PLAYPAUSE 3.0 0x0055 KEYCODE_MEDIA_PLAY_PAUSE
0x0c 0x00ce Riproduci/Salta
0x0c 0x00e2 Muto 0x0071 CHIAVE_MUTE 3.0 0x00a4 KEYCODE_VOLUME_MUTE
0x0c 0x00e5 Aumento dei bassi 0x00d1 KEY_BASSBOOST
0x0c 0x00e6 Modalità Surround
0x0c 0x00e7 Sonorità
0x0c 0x00e8 MPX
0x0c 0x00e9 Incremento del volume 0x0073 CHIAVE_VOLUMESU 1.6 0x0018 KEYCODE_VOLUME_UP
0x0c 0x00ea Diminuzione del volume 0x0072 CHIAVE_VOLUMEGIÙ 1.6 0x0019 KEYCODE_VOLUME_DOWN
0x0c 0x0173 Incremento audio alternativo 0x00de KEYCODE_MEDIA_AUDIO_TRACK Aggiunto in aosp/1365554
0x0c 0x0181 Configurazione pulsante di avvio AL. Attrezzo
0x0c 0x0182 AL Configurazione pulsante programmabile. 0x009c KEY_BOOKMARK 3.0 0x00ae KEYCODE_BOOKMARK
0x0c 0x0183 AL Configurazione controllo consumatore. 0x00ab CHIAVE_CONFIG 4.0.3 0x00d1 CODICE CHIAVE_MUSICA
0x0c0x0184 Elaboratore di testi AL 0x01a5 KEY_WORDPROCESSOR
0x0c 0x0185 Editor di testo AL 0x01a6 CHIAVE_EDITOR
0x0c0x0186 Foglio di calcolo AL 0x01a7 CHIAVE_FOGLIO DI SPREAD
0x0c 0x0187 Editor grafico AL 0x01a8 KEY_GRAPHICSEDITOR
0x0c 0x0188 Applicazione di presentazione AL 0x01a9 CHIAVE_PRESENTAZIONE
0x0c 0x0189 Applicazione database AL 0x01aa CHIAVE_DATABASE
0x0c 0x018a Lettore di posta elettronica AL 0x009b CHIAVE_MAIL 1.6 0x0041 KEYCODE_ENVELOPE
0x0c 0x018b Lettore di notizie AL 0x01ab CHIAVE_NEWS
0x0c 0x018c Segreteria telefonica AL 0x01ac CHIAVE_MAILVOICE
0x0c 0x018d Contatti AL/Rubrica 0x01ad CHIAVE_RUBRICA 4.0.3 0x00cf KEYCODE_CONTATTI
0x0c 0x018e AL Calendario/Programma 0x018d CHIAVE_CALENDARIO 4.0.3 0x00d0 KEYCODE_CALENDARIO
0x0c 0x018f Responsabile attività/progetto AL
0x0c 0x0190 Registro AL/Diario/Timecard
0x0c 0x0191 AL Libretto degli assegni/Finanze 0x00 dB CHIAVE_FINANZA
0x0c 0x0192 Calcolatrice AL 0x008c CHIAVE_CALC 4.0.3 0x00d2 CHIAVECODE_CALCOLATORE
0x0c 0x0193 AL Acquisizione/riproduzione A/V
0x0c 0x0194 AL Browser del computer locale 0x0090 CHIAVE_FILE
0x0c 0x0195 AL Browser LAN/WAN
0x0c 0x0196 Browser Internet AL 0x0096 CHIAVE_WWW 1.6 0x0040 KEYCODE_EXPLORER
0x0c 0x0197 AL Rete remota/Connessione ISP
0x0c 0x0198 Conferenza della rete AL
0x0c 0x0199 Chat di rete AL 0x00d8 CHIAVE_CHAT
0x0c 0x019a AL Telefonia/Avvisatore telefonico
0x0c 0x019b Accesso AL
0x0c 0x019c AL Disconnessione 0x01b1 CHIAVE_LOGOFF
0x0c 0x019d AL Accesso/Disconnessione
0x0c 0x019e AL Blocco terminale/Salvaschermo 0x0098 CHIAVE_CAFFÈ 4.0 0x001a KEYCODE_POWER
0x0c 0x019f Pannello di controllo AL
0x0c0x01a0 Processore della riga di comando AL/Esegui
0x0c0x01a1 Responsabile processo/attività AL
0x0c0x01a2 AL Selezionare Attività/Applicazione
0x0c0x01a3 AL Attività/applicazione successiva
0x0c0x01a4 AL Attività/Applicazione precedente
0x0c0x01a5 Attività/app di arresto preventivo AL.
0x0c0x01a6 Centro assistenza integrato AL 0x008a CHIAVE_AIUTO
0x0c0x01a7 Documenti AL 0x00eb CHIAVE_DOCUMENTI
0x0c0x01a8 AL Thesaurus
0x0c0x01a9 Dizionario AL
0x0c 0x01aa AL Desktop
0x0c 0x01ab Controllo ortografico AL 0x01b0 CHIAVE_SPELLCHECK
0x0c 0x01ac Controllo grammaticale AL
0x0c 0x01ad Stato wireless AL
0x0c 0x01ae Layout della tastiera AL
0x0c 0x01af Protezione antivirus AL
0x0c0x01b0 Crittografia AL
0x0c0x01b1 Salvaschermo AL
0x0c 0x01b2 Allarmi AL
0x0c0x01b3 Orologio AL
0x0c0x01b4 Browser di file AL
0x0c0x01b5 Stato alimentazione AL
0x0c0x01b6 Browser di immagini AL 0x00e2 CHIAVE_MEDIA 3.0 0x004f KEYCODE_HEADSETHOOK
0x0c 0x01b7 Browser audio AL 0x00d5 CHIAVE_SUONO 4.0.3 0x00d1 CODICE CHIAVE_MUSICA
0x0c0x01b8 Browser di film AL
0x0c0x01b9 Responsabile dei diritti digitali AL
0x0c 0x01ba Portafoglio digitale AL
0x0c 0x01bc AL Messaggistica istantanea 0x01ae CHIAVE_MESSENGER
0x0c 0x01bd Browser con funzionalità/suggerimenti AL OEM 0x0166 CHIAVE_INFO
0x0c 0x01be Aiuto OEM AL
0x0c 0x01bf Comunità in linea AL
0x0c 0x01c0 Browser dei contenuti di intrattenimento AL
0x0c 0x01c1 AL Browser per lo shopping online
0x0c 0x01c2 Informazioni/Guida sulla SmartCard AL
0x0c 0x01c3 AL Browser del mercato/finanza
0x0c 0x01c4 Browser delle notizie AL Customized Corp
0x0c 0x01c5 AL Browser delle attività online
0x0c 0x01c6 AL Ricerca/Browser di ricerca
0x0c 0x01c7 Lettore audio AL
0x0c 0x0201 AC Nuovo 0x00b5 CHIAVE_NUOVO
0x0c 0x0202 CA aperto 0x0086 CHIAVE_APERTA
0x0c 0x0203 AC Chiudi 0x00ce CHIAVE_CHIUDI
0x0c 0x0204 Uscita CA 0x00ae CHIAVE_ESCI
0x0c 0x0205 Massimizzazione CA
0x0c 0x0206 AC Minimizza
0x0c 0x0207 Salvataggio CA 0x00ea CHIAVE_SALVA
0x0c 0x0208 Stampa AC 0x00d2 STAMPA_CHIAVE
0x0c 0x0209 Proprietà CA 0x0082 CHIAVE_PROP
0x0c 0x021a AC Annulla 0x0083 CHIAVE_UNDO
0x0c 0x021b Copia AC 0x0085 CHIAVE_COPIA
0x0c 0x021c Taglio CA 0x0089 CHIAVE_CUT
0x0c 0x021d Pasta ac 0x0087 Key_paste
0x0c 0x021e AC Seleziona tutto
0x0c 0x021f AC Trova 0x0088 Key_find
0x0c 0x0220 AC Trova e sostituisci
0x0c 0x0221 Ricerca AC 0x00d9 Key_search 1.6 0x0054 Keycode_search
0x0c 0x0222 AC vai a 0x0162 Key_goto
0x0c 0x0223 AC Home 0x00ac Key_homepage 3.0 0x0003 Keycode_home
0x0c 0x0224 AC Back 0x009e Key_back 1.6 0x0004 Keycode_back
0x0c 0x0225 AC in avanti 0x009f Key_forward 3.0 0x007d Keycode_forward
0x0c 0x0226 STOP AC 0x0080 Key_stop 3.0 0x0056 Keycode_media_stop
0x0c 0x0227 Aggiornamento AC 0x00ad Key_refresh
0x0c 0x0228 Link precedente AC
0x0c 0x0229 AC Next Link
0x0c 0x022a Segnalibri AC 0x009c Key_Bookmarks 3.0 0x00ae Keycode_bookmark
0x0c 0x022b Storia AC
0x0c 0x022c Abbonamenti AC
0x0c 0x022d AC Zoom in 0x01a2 Key_zoomin
0x0c 0x022e AC Zoom Out 0x01a3 Key_zoomout
0x0c 0x022f Zoom AC 0x01a4 Key_zoomreset 2
0x0c 0x0230 Vista a schermo intero CA
0x0c 0x0231 Vista normale AC
0x0c 0x0232 View Ac Aggle
0x0c 0x0233 AC Scorring Up 0x00b1 Key_scrollup 3.0 0x005c Keycode_page_up
0x0c 0x0234 Scorri verso il basso 0x00b2 Key_scrolldown 3.0 0x005d Keycode_page_down
0x0c 0x0236 Ac Pan sinistra
0x0c 0x0237 Ac Pan Right
0x0c 0x0239 AC Nuova finestra
0x0c 0x023a Piastrelle ac orizzontalmente
0x0c 0x023b Piastrelle ac verticalmente
0x0c 0x023c Formato AC
0x0c 0x023d EDIT AC
0x0c 0x023e Ac grassetto
0x0c 0x023f Corsivo AC
0x0c 0x0240 Ac sottolinea
0x0c 0x0241 Ac StrikeThrough
0x0c 0x0242 Sobbriposto AC
0x0c 0x0243 AC APURScript
0x0c 0x0244 AC All Caps
0x0c 0x0245 AC ruotare
0x0c 0x0246 Ac Ridimension
0x0c 0x0247 AC Flip Orizzontal
0x0c 0x0248 AC Flip Vertical
0x0c 0x0249 Orizzontale a specchio ac
0x0c 0x024a Ac Mirror Vertical
0x0c 0x024b FONT AC Seleziona
0x0c 0x024c Colore del carattere AC
0x0c 0x024d Dimensione del carattere AC
0x0c 0x024e AC giustifica a sinistra
0x0c 0x024f AC Justify Center H
0x0c 0x0250 AC giustifica bene
0x0c 0x0251 AC Justify Block H
0x0c 0x0252 AC Justify Top
0x0c 0x0253 AC Justify Center V
0x0c 0x0254 AC giustifica il fondo
0x0c 0x0255 AC Justify Block V
0x0c 0x0256 Diminuzione del riesame AC
0x0c 0x0257 Aumento di rientro
0x0c 0x0258 Elenco numerato AC
0x0c 0x0259 Numerazione di riavvio AC
0x0c 0x025a Elenco proiettato AC
0x0c 0x025b AC Promuovi
0x0c 0x025c AC DEMOTE
0x0c 0x025d AC Sì
0x0c 0x025e Ac n
0x0c 0x025f Annulla AC 0x00df Key_cancel
0x0c 0x0260 Catalogo AC
0x0c 0x0261 AC Acquista / Checkout
0x0c 0x0262 AC Aggiungi al carrello
0x0c 0x0263 AC espandi
0x0c 0x0264 AC Espandi tutto
0x0c 0x0265 Crollo AC
0x0c 0x0266 AC Collapse tutto
0x0c 0x0267 Anteprima di stampa AC
0x0c 0x0268 AC Paste Special
0x0c 0x0269 Modalità di inserzione AC
0x0c 0x026a Elimina AC
0x0c 0x026b Un orologio
0x0c 0x026c Sblocco AC
0x0c 0x026d Protezione AC
0x0c 0x026e AC non protetto
0x0c 0x026f COMMENTO ALLING AC
0x0c 0x0270 AC Elimina Commento
0x0c 0x0271 Commento di visualizzazione ac
0x0c 0x0272 Ac Select Word
0x0c 0x0273 AC Select Frase
0x0c 0x0274 AC Seleziona paragrafo
0x0c 0x0275 CACCHE SELEZIONA AC
0x0c 0x0276 Riga di selezione AC
0x0c 0x0277 Tabella seleziona AC
0x0c 0x0278 AC Select Object
0x0c 0x0279 AC Redo / Ripeti 0x00b6 Key_redo
0x0c 0x027a Tipo AC
0x0c 0x027b AC ordinamento ascendente
0x0c 0x027c AC ordinamento discesa
0x0c 0x027d Filtro AC
0x0c 0x027e Clock set AC
0x0c 0x027f Orologio di vista AC
0x0c 0x0280 AC Selezionare il fuso orario
0x0c 0x0281 AC Modifica fusi orari
0x0c 0x0282 ALAME AC set
0x0c 0x0283 ALLA ALLA CHIARO AC
0x0c 0x0284 ACN ANCOND AC SNOOZE
0x0c 0x0285 Allarme di ripristino CA.
0x0c 0x0286 Sincronizzazione AC
0x0c 0x0287 AC Send/Ricevi
0x0c 0x0288 Ac invia a
0x0c 0x0289 Risposta ac 0x00e8 Key_reply
0x0c 0x028a AC Rispondi a tutti
0x0c 0x028b Ac Forward MSG 0x00e9 Key_forwardmail
0x0c 0x028c Ac Send 0x00e7 Key_send
0x0c 0x028d File allegato AC
0x0c 0x028e Caricamento ac
0x0c 0x028f Download AC (salva target come)
0x0c 0x0290 Bordi set AC
0x0c 0x0291 AC Inserisci riga
0x0c 0x0292 Colonna di inserzione AC
0x0c 0x0293 File di inserimento AC
0x0c 0x0294 AC Insert Picture
0x0c 0x0295 Oggetto Inserisci AC
0x0c 0x0296 Simbolo di inserimento AC
0x0c 0x0297 AC Salva e chiudi
0x0c 0x0298 AC Riname
0x0c 0x0299 AC unire
0x0c 0x029a Spalato AC
0x0c 0x029b AC Distribuisci orizzontalmente
0x0c 0x029c AC Distribuisci verticalmente

Mapping non nascosti aggiuntivi

Queste mappature descrivono funzioni che non compaiono in HID ma per le quali esistono codici chiave Linux.

LKC Nome codice chiave Linux Versione Akc Nome codice chiave Android Appunti
0x01d0 Key_fn 3.0 0x0077 Keycode_function
0x01d1 Key_fn_esc 3.0 0x006f Keycode_escape 3
0x01d2 Key_fn_f1 3.0 0x0083 Keycode_f1 3
0x01d3 Key_fn_f2 3.0 0x0084 Keycode_f2 3
0x01d4 Key_fn_f3 3.0 0x0085 Keycode_f3 3
0x01d5 Key_fn_f4 3.0 0x0086 Keycode_f4 3
0x01d6 Key_fn_f5 3.0 0x0087 Keycode_f5 3
0x01d7 Key_fn_f6 3.0 0x0088 Keycode_f6 3
0x01d8 Key_fn_f7 3.0 0x0089 Keycode_f7 3
0x01d9 Key_fn_f8 3.0 0x008a Keycode_f8 3
0x01da Key_fn_f9 3.0 0x008b Keycode_f9 3
0x01db Key_fn_f10 3.0 0x008c Keycode_f10 3
0x01dc Key_fn_f11 3.0 0x008d Keycode_f11 3
0x01dd Key_fn_f12 3.0 0x008e Keycode_f12 3
0x01de Key_fn_1 3.0 0x0008 KeyCode_1 3
0x01df Key_fn_2 3.0 0x0009 KeyCode_2 3
0x01e0 Key_fn_d 3.0 0x0020 Keycode_d 3
0x01e1 Key_fn_e 3.0 0x0021 Keycode_e 3
0x01e2 Key_fn_f 3.0 0x0022 Keycode_f 3
0x01e3 Key_fn_s 3.0 0x002f Keycode_s 3
0x01e4 Key_fn_b 3.0 0x001e Keycode_b 3

Chiavi non supportate in eredità

Queste mappature sono apparse nelle versioni precedenti di Android ma erano incompatibili con codici chiave Linux HID o non standard. Non sono più supportati.

LKC Nome codice chiave Linux Versione Akc Nome codice chiave Android Appunti
0x00db Key_email 1.6 0x004d Keycode_at 4
"" "" 4.0 4
0x00e3 Key_star 1.6 0x0011 Keycode_star 4
"" "" 4.0 4
0x00e4 Key_sharp 1.6 0x0012 Keycode_pound 4
"" "" 4.0 4
0x00e5 Key_soft1 1.6 0x0052 Keycode_menu 4
"" "" 4.0 4
0x00e6 Key_soft2 1.6 0x0002 Keycode_soft_right 4
"" "" 4.0 4
0x00e7 Key_send 1.6 0x0005 Keycode_call 4
"" "" 4.0 4
0x00e8 Key_center 1.6 0x0017 Keycode_dpad_center 4
"" "" 4.0 4
0x00e9 Key_headsethook 1.6 0x004f Keycode_headsethook 4
"" "" 4.0 4
0x00ea Key_0_5 1.6 4
0x00eb Key_2_5 1.6 4

Appunti

  1. Il codice chiave Android associato a comuni chiavi alfanumeriche e simboliche può variare in base al layout e al linguaggio della tastiera. Per motivi storici, i codici di scansione fisica e gli usi HID associati alle chiavi su una tastiera sono spesso definiti posizionalmente anche se le etichette stampate su tali chiavi possono variare da una lingua all'altra.

    Su una tastiera americana inglese (Qwerty), la chiave alfabetica in alto a sinistra è etichettata Q. Su una tastiera francese (azerty), la chiave nella stessa posizione è etichettata A. Nonostante l'etichetta, su entrambe le tastiere la chiave alfabetica in alto a sinistra si fa riferimento all'utilizzo dell'utilizzo HID 0x07 0x0014 che è mappato al codice chiave Linux Key_Q.

    Quando Android è configurato con un layout della tastiera inglese degli Stati Uniti, il codice chiave Linux Key_Q verrà mappato sul codice chiave Android KeyCode_Q e produrrà i caratteri "Q" e "Q". Tuttavia, quando Android è configurato con un layout della tastiera francese, il codice chiave Linux Key_Q verrà mappato sul codice chiave Android KeyCode_A e produrrà i caratteri 'A' e 'A'.

    Il codice chiave Android riflette in genere l'interpretazione specifica della lingua della chiave, quindi un codice chiave Android diverso può essere utilizzato per linguaggi diversi.

  2. 0x0c 0x022f AC Zoom è definito nel HID come controllo lineare ma il kernel lo mappa come una chiave, che probabilmente non è corretta.

  3. Le chiavi della funzione Linux KEY_FN_* sono mappate su codici chiave più semplici ma vengono spediti con il bit META_FUNCTION meta -stato impostato su true.

  4. Prima di Android Ice Cream Sandwich 4.0, il layout chiave predefinito conteneva mappature per alcuni codici chiave extra che non erano definiti nelle intestazioni del kernel Linux principale. Da allora queste mappature sono state rimosse perché da allora questi codici chiave precedentemente non definiti sono stati assegnati significati diversi in versioni più recenti del kernel Linux.

Fonti

  1. Tabelle di utilizzo HID USB V1.12
  2. Linux 2.6.39 Kernel: include/Linux/Input.h, driver/hid/hid-input.c
  3. Android ICS: qwerty.kl, generic.kl, keyevent.java