Android es compatible con una variedad de dispositivos de teclado, incluidos teclados con funciones especiales (controles de volumen y encendido), teclados QWERTY integrados compactos y teclados externos estilo PC con todas las funciones.
Este documento describe únicamente los teclados físicos. Consulte el SDK de Android para obtener información sobre los teclados virtuales (editores de métodos de entrada).
Clasificación del teclado
Un dispositivo de entrada se clasifica como teclado si se cumple alguna de las siguientes condiciones:
El dispositivo de entrada informa la presencia de cualquier código de tecla de Linux utilizado en los teclados, incluidos
0
a0xff
oKEY_OK
aKEY_MAX
.El dispositivo de entrada informa la presencia de cualquier código de tecla de Linux utilizado en joysticks y gamepads, incluidos
BTN_0
aBTN_9
,BTN_TRIGGER
aBTN_DEAD
oBTN_A
aBTN_THUMBR
.
Actualmente, los joysticks se clasifican como teclados porque los eventos EV_KEY
informan sobre los botones del joystick y del gamepad de la misma manera que se informan las teclas del teclado. Por lo tanto, los joysticks y gamepads también utilizan archivos de mapas de teclas para la configuración.
Una vez que un dispositivo de entrada ha sido clasificado como teclado, el sistema carga el archivo de configuración del dispositivo de entrada y el diseño del teclado para el teclado.
A continuación, el sistema intenta determinar características adicionales del dispositivo.
Si el dispositivo de entrada tiene teclas asignadas a
KEYCODE_Q
, se considera que el dispositivo tiene un teclado alfabético (en lugar de numérico). La capacidad del teclado alfabético se informa en el objeto deConfiguration
del recurso comoKEYBOARD_QWERTY
.Si el dispositivo de entrada tiene teclas asignadas a
KEYCODE_DPAD_UP
,KEYCODE_DPAD_DOWN
,KEYCODE_DPAD_LEFT
,KEYCODE_DPAD_RIGHT
yKEYCODE_DPAD_CENTER
(todas deben estar presentes), se considera que el dispositivo tiene un teclado direccional. La capacidad del teclado direccional se informa en el objeto deConfiguration
del recurso comoNAVIGATION_DPAD
.Si el dispositivo de entrada tiene teclas asignadas a
KEYCODE_BUTTON_A
u otras teclas relacionadas con el gamepad, se considera que el dispositivo tiene un gamepad.
Requisitos del controlador de teclado
Los controladores de teclado solo deben registrar códigos de teclas para las teclas que realmente admiten. El registro de códigos de teclas en exceso puede confundir el algoritmo de clasificación del dispositivo o hacer que el sistema detecte incorrectamente las capacidades de teclado admitidas del dispositivo.
Los controladores de teclado deben usar
EV_KEY
para informar sobre las pulsaciones de teclas, utilizando un valor de0
para indicar que se suelta una tecla, un valor de1
para indicar que se pulsa una tecla y un valor mayor o igual a2
para indicar que la tecla se ha pulsado. repitiéndose automáticamente.Android realiza su propia repetición de teclado. La funcionalidad de repetición automática debe estar deshabilitada en el controlador.
Los controladores de teclado pueden indicar opcionalmente el uso de HID o el código de escaneo de bajo nivel enviando
EV_MSC
conMSC_SCANCODE
y un valor que indica el uso o el código de escaneo cuando se presiona la tecla. Esta información no es utilizada actualmente por Android.Los controladores de teclado deben admitir la configuración de estados LED cuando se escribe
EV_LED
en el dispositivo. El controladorhid-input
maneja esto automáticamente. En el momento de escribir este artículo, Android usaLED_CAPSLOCK
,LED_SCROLLLOCK
yLED_NUMLOCK
. Estos LED solo necesitan ser compatibles cuando el teclado realmente tiene las luces indicadoras asociadas.Los controladores de teclado para teclados integrados (por ejemplo, usando una matriz GPIO) deben asegurarse de enviar eventos
EV_KEY
con un valor de0
para cualquier tecla que aún esté presionada cuando el dispositivo se vaya a dormir. De lo contrario, las teclas podrían atascarse y repetirse automáticamente para siempre.
Operación del teclado
El siguiente es un breve resumen del funcionamiento del teclado en Android.
EventHub
lee eventos sin procesar del controladorevdev
y asigna códigos de teclas de Linux (a veces denominados códigos de escaneo) en códigos de teclas de Android utilizando el mapa de diseño de teclas del teclado.InputReader
consume los eventos sin procesar y actualiza el estado de la clave meta. Por ejemplo, si se presiona o suelta la tecla de mayúsculas a la izquierda, el lector establecerá o restablecerá los bitsMETA_SHIFT_LEFT_ON
yMETA_SHIFT_ON
según corresponda.InputReader
notifica aInputDispatcher
sobre el evento clave.InputDispatcher
le pregunta aWindowManagerPolicy
qué hacer con el evento clave llamando aWindowManagerPolicy.interceptKeyBeforeQueueing
. Este método es parte de una ruta crítica que se encarga de activar el dispositivo cuando se presionan ciertas teclas.EventHub
mantiene efectivamente un bloqueo de activación a lo largo de esta ruta crítica para garantizar que se ejecute hasta su finalización.Si un
InputFilter
está actualmente en uso,InputDispatcher
le da la oportunidad de consumir o transformar la clave. ElInputFilter
se puede usar para implementar políticas de accesibilidad de todo el sistema de bajo nivel.InputDispatcher
pone en cola la clave para su procesamiento en el subproceso de envío.Cuando
InputDispatcher
quita la cola de la clave, le da aWindowManagerPolicy
una segunda oportunidad de interceptar el evento clave llamando aWindowManagerPolicy.interceptKeyBeforeDispatching
. Este método maneja accesos directos del sistema y otras funciones.Luego,
InputDispatcher
identifica el objetivo del evento clave (la ventana enfocada) y espera a que esté listo. Luego,InputDispatcher
entrega el evento clave a la aplicación.Dentro de la aplicación, el evento clave se propaga por la jerarquía de vistas hasta la vista enfocada para el envío de claves previo al IME.
Si el evento clave no se maneja en el envío previo al IME y se está utilizando un IME, el evento clave se envía al IME.
Si el evento clave no fue consumido por el IME, entonces el evento clave se propaga hacia abajo en la jerarquía de vistas a la vista enfocada para el envío de claves estándar.
La aplicación informa al
InputDispatcher
si se consumió el evento clave. Si el evento no se consumió,InputDispatcher
llama aWindowManagerPolicy.dispatchUnhandledKey
para aplicar el comportamiento de "retroceso". Dependiendo de la acción de reserva, el ciclo de despacho de eventos clave puede reiniciarse utilizando un código de clave diferente. Por ejemplo, si una aplicación no manejaKEYCODE_ESCAPE
, el sistema puede volver a enviar el evento clave comoKEYCODE_BACK
en su lugar.
Configuración del teclado
El comportamiento del teclado está determinado por la disposición de las teclas del teclado, el mapa de caracteres de las teclas y la configuración del dispositivo de entrada.
Consulte las siguientes secciones para obtener más detalles sobre los archivos que participan en la configuración del teclado:
- Archivos de distribución de teclas
- Archivos de mapas de caracteres clave
- Archivos de configuración de dispositivos de entrada
Propiedades
Las siguientes propiedades de configuración del dispositivo de entrada se utilizan para los teclados.
keyboard.layout
Definición: keyboard.layout
= <nombre>
Especifica el nombre del archivo de diseño de teclas asociado con el dispositivo de entrada, sin incluir la extensión .kl
. Si no se encuentra este archivo, el sistema de entrada utilizará el diseño de teclas predeterminado en su lugar.
Los espacios en el nombre se convierten en guiones bajos durante la búsqueda.
Consulte la documentación del archivo de distribución de teclas para obtener más detalles.
keyboard.characterMap
Definición: keyboard.characterMap
= <nombre>
Especifica el nombre del archivo de mapa de caracteres clave asociado con el dispositivo de entrada, sin incluir la extensión .kcm
. Si no se encuentra este archivo, el sistema de entrada utilizará el mapa de caracteres clave predeterminado en su lugar.
Los espacios en el nombre se convierten en guiones bajos durante la búsqueda.
Consulte la documentación del archivo de mapa de caracteres clave para obtener más detalles.
keyboard.orientationAware
Definición: keyboard.orientationAware
= 0
| 1
Especifica si el teclado debe reaccionar a los cambios de orientación de la pantalla.
Si el valor es
1
, las teclas del teclado direccional giran cuando cambia la orientación de la pantalla asociada.Si el valor es
0
, el teclado es inmune a los cambios de orientación de la pantalla.
El valor predeterminado es 0
.
El conocimiento de la orientación se utiliza para respaldar la rotación de las teclas del teclado direccional, como en el Motorola Droid. Por ejemplo, cuando el dispositivo se gira 90 grados en el sentido de las agujas del reloj desde su orientación natural, KEYCODE_DPAD_UP
se reasigna para producir KEYCODE_DPAD_RIGHT
ya que la tecla 'arriba' termina apuntando a la 'derecha' cuando el dispositivo se mantiene en esa orientación.
keyboard.builtIn
Definición: keyboard.builtIn
= 0
| 1
Especifica si el teclado es el teclado integrado (conectado físicamente).
El valor predeterminado es 1
si el nombre del dispositivo termina con -keypad
, 0
en caso contrario.
Al teclado incorporado siempre se le asigna una identificación de dispositivo de 0
. A otros teclados que no están integrados se les asignan identificadores de dispositivo únicos distintos de cero.
El uso de una identificación de 0
para el teclado integrado es importante para mantener la compatibilidad con el campo KeyCharacterMap.BUILT_IN_KEYBOARD
, que especifica la identificación del teclado integrado y tiene un valor de 0
. Este campo ha quedado obsoleto en la API, pero es posible que las aplicaciones más antiguas aún lo utilicen.
Un teclado de función especial (uno cuyo mapa de caracteres de teclas especifica un tipo de SPECIAL_FUNCTION
) nunca se registrará como teclado incorporado, independientemente de la configuración de esta propiedad. Esto se debe a que, por definición, un teclado de funciones especiales no está destinado a ser utilizado para escribir con fines generales.
Configuraciones de ejemplo
# 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
Notas de compatibilidad
Antes de Honeycomb, el mapeador de entrada de teclado no usaba ninguna propiedad de configuración. Se asumió que todos los teclados estaban conectados físicamente y conscientes de la orientación. El diseño de teclas predeterminado y el mapa de caracteres clave se llamaron qwerty
en lugar de Generic
. El formato del mapa de caracteres clave también era muy diferente y el marco no admitía teclados completos estilo PC o teclados externos.
Al actualizar dispositivos a Honeycomb, asegúrese de crear o actualizar la configuración necesaria y los archivos de asignación de claves.
Usos de HID, códigos clave de Linux y códigos clave de Android
El sistema se refiere a claves usando varios identificadores diferentes, dependiendo de la capa de abstracción.
Para dispositivos HID, cada clave tiene un uso HID asociado. El controlador hid-input
Linux y los controladores HID específicos del dispositivo y del proveedor relacionado son responsables de analizar los informes de HID y asignar los usos de HID a los códigos clave de Linux.
A medida que Android lee los eventos EV_KEY
del kernel de Linux, traduce cada código de tecla de Linux a su correspondiente código de tecla de Android de acuerdo con el archivo de diseño de teclas del dispositivo.
Cuando el evento clave se envía a una aplicación, la instancia android.view.KeyEvent
informa el código clave de Linux como el valor de getScanCode()
y el código clave de Android como el valor de getKeyCode()
. A los efectos del marco, solo es importante el valor de getKeyCode()
.
Tenga en cuenta que Android no usa la información de uso de HID ni la pasa a las aplicaciones.
Tablas de códigos
Las siguientes tablas muestran cómo se relacionan entre sí los usos de HID, los códigos de clave de Linux y los códigos de clave de Android.
La columna LKC especifica el código clave de Linux en hexadecimal.
La columna AKC especifica el código clave de Android en hexadecimal.
La columna Notas hace referencia a las notas que se publican después de la tabla.
La columna Versión especifica la primera versión de la plataforma Android que ha incluido esta clave en su mapa de claves predeterminado. Se muestran varias filas en los casos en que el mapa de teclas predeterminado ha cambiado entre versiones. La versión más antigua indicada es la 1.6.
En Gingerbread (2.3) y versiones anteriores, el mapa de teclas predeterminado era
qwerty.kl
. Este mapa de teclas solo estaba diseñado para usarse con el emulador de Android y no para admitir teclados externos arbitrarios. Sin embargo, algunos OEM agregaron soporte de teclado Bluetooth a la plataforma y confiaron enqwerty.kl
para proporcionar las asignaciones de teclado necesarias. En consecuencia, estas asignaciones más antiguas pueden ser de interés para los OEM que están construyendo periféricos para estos dispositivos en particular. Tenga en cuenta que las asignaciones son sustancialmente diferentes de las actuales, particularmente con respecto al tratamiento de la teclaHOME
. Se recomienda que todos los periféricos nuevos se desarrollen de acuerdo con Honeycomb o mapas de teclas más recientes (es decir, HID estándar).A partir de Honeycomb (3.0), el mapa de teclas predeterminado es
Generic.kl
. Este mapa de teclas se diseñó para admitir teclados completos de estilo PC. La mayoría de las funciones de los teclados HID estándar deberían funcionar de inmediato.
La asignación de códigos clave puede variar según las versiones del kernel de Linux y Android. Cuando se sabe que se han producido cambios en los mapas de teclas predeterminados de Android, se indican en la columna de versión.
Los controladores HID específicos del dispositivo y los mapas de teclas pueden aplicar mapas diferentes a los que se indican aquí.
Teclado HID y página de teclado numérico (0x07)
Uso HID | Nombre de uso de HID | LKC | Nombre del código de clave de Linux | Versión | AKC | Nombre del código clave de Android | notas |
---|---|---|---|---|---|---|---|
0x07 0x0001 | Error de teclado al pasar por encima | ||||||
0x07 0x0002 | Error de POST del teclado | ||||||
0x07 0x0003 | Error de teclado indefinido | ||||||
0x07 0x0004 | Teclado a y A | 0x001e | CLAVE_A | 1.6 | 0x001d | CÓDIGO CLAVE_A | 1 |
0x07 0x0005 | Teclado b y b | 0x0030 | CLAVE_B | 1.6 | 0x001e | CÓDIGO_CLAVE_B | 1 |
0x07 0x0006 | Teclado c y c | 0x002e | CLAVE_C | 1.6 | 0x001f | CÓDIGO_CLAVE_C | 1 |
0x07 0x0007 | Teclado d y d | 0x0020 | CLAVE_D | 1.6 | 0x0020 | CÓDIGO_CLAVE_D | 1 |
0x07 0x0008 | Teclado e y E | 0x0012 | CLAVE_E | 1.6 | 0x0021 | CÓDIGO_CLAVE_E | 1 |
0x07 0x0009 | Teclado f y f | 0x0021 | CLAVE_F | 1.6 | 0x0022 | CÓDIGO_CLAVE_F | 1 |
0x07 0x000a | Teclado g y g | 0x0022 | CLAVE_G | 1.6 | 0x0023 | CÓDIGO_CLAVE_G | 1 |
0x07 0x000b | Teclado h y H | 0x0023 | CLAVE_H | 1.6 | 0x0024 | CÓDIGO_CLAVE_H | 1 |
0x07 0x000c | Teclado yo y yo | 0x0017 | CLAVE_I | 1.6 | 0x0025 | KEYCODE_I | 1 |
0x07 0x000d | Teclado j y j | 0x0024 | CLAVE_J | 1.6 | 0x0026 | CÓDIGO_CLAVE_J | 1 |
0x07 0x000e | Teclado k y k | 0x0025 | CLAVE_K | 1.6 | 0x0027 | CÓDIGO_CLAVE_K | 1 |
0x07 0x000f | Teclado l y L | 0x0026 | CLAVE_L | 1.6 | 0x0028 | CÓDIGO_CLAVE_L | 1 |
0x07 0x0010 | Teclado m y M | 0x0032 | CLAVE_M | 1.6 | 0x0029 | CÓDIGO_CLAVE_M | 1 |
0x07 0x0011 | Teclado n y n | 0x0031 | CLAVE_N | 1.6 | 0x002a | CÓDIGO_CLAVE_N | 1 |
0x07 0x0012 | Teclado o y O | 0x0018 | CLAVE_O | 1.6 | 0x002b | CÓDIGO_CLAVE_O | 1 |
0x07 0x0013 | Teclado p y p | 0x0019 | CLAVE_P | 1.6 | 0x002c | CÓDIGO_CLAVE_P | 1 |
0x07 0x0014 | Teclado q y q | 0x0010 | CLAVE_Q | 1.6 | 0x002d | CÓDIGO_CLAVE_Q | 1 |
0x07 0x0015 | Teclado r y R | 0x0013 | CLAVE_R | 1.6 | 0x002e | KEYCODE_R | 1 |
0x07 0x0016 | Teclado s y S | 0x001f | LLAVES | 1.6 | 0x002f | KEYCODE_S | 1 |
0x07 0x0017 | Teclado t y t | 0x0014 | CLAVE_T | 1.6 | 0x0030 | CÓDIGO_CLAVE_T | 1 |
0x07 0x0018 | teclado u y u | 0x0016 | CLAVE_U | 1.6 | 0x0031 | KEYCODE_U | 1 |
0x07 0x0019 | Teclado v y v | 0x002f | CLAVE_V | 1.6 | 0x0032 | CÓDIGO_CLAVE_V | 1 |
0x07 0x001a | Teclado w y w | 0x0011 | CLAVE_W | 1.6 | 0x0033 | CÓDIGO_CLAVE_W | 1 |
0x07 0x001b | Teclado x y x | 0x002d | CLAVE_X | 1.6 | 0x0034 | CÓDIGO_CLAVE_X | 1 |
0x07 0x001c | Teclado y e Y | 0x0015 | CLAVE_Y | 1.6 | 0x0035 | CÓDIGO_CLAVE_Y | 1 |
0x07 0x001d | Teclado z y z | 0x002c | CLAVE_Z | 1.6 | 0x0036 | KEYCODE_Z | 1 |
0x07 0x001e | Teclado 1 y ! | 0x0002 | CLAVE_1 | 1.6 | 0x0008 | CÓDIGO CLAVE_1 | 1 |
0x07 0x001f | Teclado 2 y @ | 0x0003 | CLAVE_2 | 1.6 | 0x0009 | CÓDIGO_LLAVE_2 | 1 |
0x07 0x0020 | Teclado 3 y # | 0x0004 | CLAVE_3 | 1.6 | 0x000a | CÓDIGO CLAVE_3 | 1 |
0x07 0x0021 | Teclado 4 y $ | 0x0005 | CLAVE_4 | 1.6 | 0x000b | CÓDIGO CLAVE_4 | 1 |
0x07 0x0022 | Teclado 5 y % | 0x0006 | CLAVE_5 | 1.6 | 0x000c | CÓDIGO CLAVE_5 | 1 |
0x07 0x0023 | Teclado 6 y ^ | 0x0007 | CLAVE_6 | 1.6 | 0x000d | CÓDIGO_LLAVE_6 | 1 |
0x07 0x0024 | Teclado 7 y & | 0x0008 | CLAVE_7 | 1.6 | 0x000e | CÓDIGO CLAVE_7 | 1 |
0x07 0x0025 | Teclado 8 y * | 0x0009 | CLAVE_8 | 1.6 | 0x000f | CÓDIGO CLAVE_8 | 1 |
0x07 0x0026 | Teclado 9 y ( | 0x000a | CLAVE_9 | 1.6 | 0x0010 | CÓDIGO_LLAVE_9 | 1 |
0x07 0x0027 | Teclado 0 y ) | 0x000b | CLAVE_0 | 1.6 | 0x0007 | CÓDIGO CLAVE_0 | 1 |
0x07 0x0028 | Retorno del teclado (ENTER) | 0x001c | TECLA_ENTRAR | 1.6 | 0x0042 | CÓDIGO_CLAVE_ENTRAR | 1 |
0x07 0x0029 | ESCAPE del teclado | 0x0001 | CLAVE_ESC | 3.0 | 0x006f | KEYCODE_ESCAPE | |
"" | "" | "" | "" | 2.3 | 0x0004 | KEYCODE_BACK | |
0x07 0x002a | Teclado ELIMINAR (retroceso) | 0x000e | TECLA_RETROCESO | 1.6 | 0x0043 | KEYCODE_DEL | |
0x07 0x002b | Pestaña de teclado | 0x000f | KEY_TAB | 1.6 | 0x003d | KEYCODE_TAB | |
0x07 0x002c | Barra espaciadora del teclado | 0x0039 | CLAVE_ESPACIO | 1.6 | 0x003e | CÓDIGO_CLAVE_ESPACIO | |
0x07 0x002d | Teclado - y _ | 0x000c | CLAVE_MINUS | 1.6 | 0x0045 | CÓDIGO_CLAVE_MINUS | 1 |
0x07 0x002e | Teclado = y + | 0x000d | CLAVE_IGUAL | 1.6 | 0x0046 | KEYCODE_EQUALS | 1 |
0x07 0x002f | Teclado [ y { | 0x001a | CLAVE_LEFTBRACE | 1.6 | 0x0047 | KEYCODE_LEFT_BRACKET | 1 |
0x07 0x0030 | Teclado ] y } | 0x001b | KEY_RIGHTBRACE | 1.6 | 0x0048 | KEYCODE_RIGHT_BRACKET | 1 |
0x07 0x0031 | Teclado \ y | | 0x002b | CLAVE_RETROCESO | 1.6 | 0x0049 | KEYCODE_BACKSLASH | 1 |
0x07 0x0032 | Teclado fuera de EE. UU. # y ~ | 0x002b | CLAVE_RETROCESO | 1.6 | 0x0049 | KEYCODE_BACKSLASH | 1 |
0x07 0x0033 | Teclado ; y : | 0x0027 | CLAVE_PUNTO Y COMA | 1.6 | 0x004a | CÓDIGO_CLAVE_PUNTO Y COMA | 1 |
0x07 0x0034 | Teclado ' y " | 0x0028 | CLAVE_APOSTROFE | 1.6 | 0x004b | CÓDIGO_CLAVE_APOSTROFE | 1 |
0x07 0x0035 | Teclado ` y ~ | 0x0029 | LLAVE_GRAVE | 3.0 | 0x0044 | KEYCODE_GRAVE | 1 |
0x07 0x0036 | Teclado y < | 0x0033 | CLAVE_COMA | 1.6 | 0x0037 | CÓDIGO_CLAVE_COMA | 1 |
0x07 0x0037 | Teclado . y > | 0x0034 | CLAVE_PUNTO | 1.6 | 0x0038 | CÓDIGO_CLAVE_PERIODO | 1 |
0x07 0x0038 | Teclado / y ? | 0x0035 | CLAVE_SLASH | 1.6 | 0x004c | KEYCODE_SLASH | 1 |
0x07 0x0039 | Bloqueo de mayúsculas del teclado | 0x003a | KEY_BLOQ MAYÚS | 3.0 | 0x0073 | KEYCODE_CAPS_LOCK | |
0x07 0x003a | Teclado F1 | 0x003b | CLAVE_F1 | 3.0 | 0x0083 | CÓDIGO_CLAVE_F1 | |
"" | "" | "" | "" | 1.6 | 0x0052 | KEYCODE_MENU | |
0x07 0x003b | Teclado F2 | 0x003c | CLAVE_F2 | 3.0 | 0x0084 | CÓDIGO_CLAVE_F2 | |
"" | "" | "" | "" | 1.6 | 0x0002 | KEYCODE_SOFT_RIGHT | |
0x07 0x003c | Teclado F3 | 0x003d | CLAVE_F3 | 3.0 | 0x0085 | CÓDIGO_CLAVE_F3 | |
"" | "" | "" | "" | 1.6 | 0x0005 | KEYCODE_CALL | |
0x07 0x003d | Teclado F4 | 0x003e | CLAVE_F4 | 3.0 | 0x0086 | CÓDIGO_CLAVE_F4 | |
"" | "" | "" | "" | 1.6 | 0x0006 | KEYCODE_ENDCALL | |
0x07 0x003e | Teclado F5 | 0x003f | CLAVE_F5 | 3.0 | 0x0087 | CÓDIGO_CLAVE_F5 | |
0x07 0x003f | Teclado F6 | 0x0040 | CLAVE_F6 | 3.0 | 0x0088 | CÓDIGO_CLAVE_F6 | |
0x07 0x0040 | Teclado F7 | 0x0041 | CLAVE_F7 | 3.0 | 0x0089 | CÓDIGO_CLAVE_F7 | |
0x07 0x0041 | Teclado F8 | 0x0042 | CLAVE_F8 | 3.0 | 0x008a | CÓDIGO_CLAVE_F8 | |
0x07 0x0042 | Teclado F9 | 0x0043 | CLAVE_F9 | 3.0 | 0x008b | CÓDIGO_CLAVE_F9 | |
0x07 0x0043 | Teclado F10 | 0x0044 | CLAVE_F10 | 3.0 | 0x008c | CÓDIGO_CLAVE_F10 | |
"" | "" | "" | "" | 2.3 | 0x0052 | KEYCODE_MENU | |
0x07 0x0044 | Teclado F11 | 0x0057 | CLAVE_F11 | 3.0 | 0x008d | CÓDIGO_CLAVE_F11 | |
0x07 0x0045 | Teclado F12 | 0x0058 | CLAVE_F12 | 3.0 | 0x008e | CÓDIGO_CLAVE_F12 | |
0x07 0x0046 | Pantalla de impresión de teclado | 0x0063 | CLAVE_SYSRQ | 3.0 | 0x0078 | KEYCODE_SYSRQ | |
0x07 0x0047 | Bloqueo de desplazamiento del teclado | 0x0046 | BLOQUEO_DESPLAZAMIENTO | 3.0 | 0x0074 | KEYCODE_SCROLL_LOCK | |
0x07 0x0048 | Pausa del teclado | 0x0077 | CLAVE_PAUSA | 3.0 | 0x0079 | KEYCODE_BREAK | |
0x07 0x0049 | Inserción de teclado | 0x006e | INSERTAR_LLAVE | 3.0 | 0x007c | CÓDIGO_CLAVE_INSERTAR | |
0x07 0x004a | Inicio del teclado | 0x0066 | CLAVE_INICIO | 3.0 | 0x007a | KEYCODE_MOVE_HOME | |
"" | "" | "" | "" | 1.6 | 0x0003 | KEYCODE_HOME | |
0x07 0x004b | Página del teclado hacia arriba | 0x0068 | KEY_PAGEUP | 3.0 | 0x005c | KEYCODE_PAGE_UP | |
0x07 0x004c | Teclado Eliminar Adelante | 0x006f | KEY_DELETE | 3.0 | 0x0070 | KEYCODE_FORWARD_DEL | |
0x07 0x004d | Fin del teclado | 0x006b | CLAVE_END | 3.0 | 0x007b | KEYCODE_MOVE_END | |
"" | "" | "" | "" | 1.6 | 0x0006 | KEYCODE_ENDCALL | |
0x07 0x004e | Avance de página del teclado | 0x006d | KEY_PAGEDOWN | 3.0 | 0x005d | KEYCODE_PAGE_DOWN | |
0x07 0x004f | Flecha derecha del teclado | 0x006a | CLAVE_DERECHA | 1.6 | 0x0016 | KEYCODE_DPAD_DERECHO | |
0x07 0x0050 | Flecha izquierda del teclado | 0x0069 | CLAVE_IZQUIERDA | 1.6 | 0x0015 | KEYCODE_DPAD_LEFT | |
0x07 0x0051 | Flecha hacia abajo del teclado | 0x006c | TECLA_ABAJO | 1.6 | 0x0014 | KEYCODE_DPAD_DOWN | |
0x07 0x0052 | Flecha arriba del teclado | 0x0067 | TECLA ARRIBA | 1.6 | 0x0013 | KEYCODE_DPAD_UP | |
0x07 0x0053 | Bloqueo numérico y borrado del teclado | 0x0045 | KEY_NUMLOCK | 3.0 | 0x008f | KEYCODE_NUM_LOCK | |
0x07 0x0054 | Teclado / | 0x0062 | CLAVE_KPSLASH | 3.0 | 0x009a | KEYCODE_NUMPAD_DIVIDE | |
0x07 0x0055 | Teclado * | 0x0037 | CLAVE_KPASTERISK | 3.0 | 0x009b | KEYCODE_NUMPAD_MULTIPLY | |
0x07 0x0056 | teclado - | 0x004a | CLAVE_KPMINUS | 3.0 | 0x009c | KEYCODE_NUMPAD_SUBTRACT | |
0x07 0x0057 | Teclado + | 0x004e | CLAVE_KPPLUS | 3.0 | 0x009d | KEYCODE_NUMPAD_ADD | |
0x07 0x0058 | Teclado ENTER | 0x0060 | CLAVE_KPENTER | 3.0 | 0x00a0 | KEYCODE_NUMPAD_ENTER | |
0x07 0x0059 | Teclado 1 y Fin | 0x004f | CLAVE_KP1 | 3.0 | 0x0091 | KEYCODE_NUMPAD_1 | |
0x07 0x005a | Teclado 2 y flecha hacia abajo | 0x0050 | CLAVE_KP2 | 3.0 | 0x0092 | KEYCODE_NUMPAD_2 | |
0x07 0x005b | Teclado 3 y PageDn | 0x0051 | CLAVE_KP3 | 3.0 | 0x0093 | KEYCODE_NUMPAD_3 | |
0x07 0x005c | Teclado 4 y flecha izquierda | 0x004b | CLAVE_KP4 | 3.0 | 0x0094 | KEYCODE_NUMPAD_4 | |
0x07 0x005d | Teclado 5 | 0x004c | CLAVE_KP5 | 3.0 | 0x0095 | KEYCODE_NUMPAD_5 | |
0x07 0x005e | Teclado 6 y flecha derecha | 0x004d | CLAVE_KP6 | 3.0 | 0x0096 | KEYCODE_NUMPAD_6 | |
0x07 0x005f | Teclado 7 y Inicio | 0x0047 | CLAVE_KP7 | 3.0 | 0x0097 | KEYCODE_NUMPAD_7 | |
0x07 0x0060 | Teclado 8 y flecha arriba | 0x0048 | CLAVE_KP8 | 3.0 | 0x0098 | KEYCODE_NUMPAD_8 | |
0x07 0x0061 | Teclado 9 y Re Pág | 0x0049 | CLAVE_KP9 | 3.0 | 0x0099 | KEYCODE_NUMPAD_9 | |
0x07 0x0062 | Teclado 0 e Insertar | 0x0052 | CLAVE_KP0 | 3.0 | 0x0090 | KEYCODE_NUMPAD_0 | |
0x07 0x0063 | teclado y Eliminar | 0x0053 | CLAVE_KPDOT | 3.0 | 0x009e | KEYCODE_NUMPAD_DOT | |
0x07 0x0064 | Teclado no estadounidense \ y | | 0x0056 | CLAVE_102ND | 4.0 | 0x0049 | KEYCODE_BACKSLASH | 1 |
0x07 0x0065 | Aplicación de teclado | 0x007f | CLAVE_COMPOSE | 3.0 | 0x0052 | KEYCODE_MENU | |
"" | "" | "" | "" | 1.6 | 0x0054 | CÓDIGO_CLAVE_BÚSQUEDA | |
0x07 0x0066 | Potencia del teclado | 0x0074 | KEY_POWER | 1.6 | 0x001a | KEYCODE_POWER | |
0x07 0x0067 | Teclado = | 0x0075 | CLAVE_KPIGUAL | 3.0 | 0x00a1 | KEYCODE_NUMPAD_EQUALS | |
0x07 0x0068 | Teclado F13 | 0x00b7 | CLAVE_F13 | ||||
0x07 0x0069 | Teclado F14 | 0x00b8 | CLAVE_F14 | ||||
0x07 0x006a | Teclado F15 | 0x00b9 | CLAVE_F15 | ||||
0x07 0x006b | Teclado F16 | 0x00ba | CLAVE_F16 | ||||
0x07 0x006c | Teclado F17 | 0x00bb | CLAVE_F17 | ||||
0x07 0x006d | Teclado F18 | 0x00bc | CLAVE_F18 | ||||
0x07 0x006e | Teclado F19 | 0x00bd | CLAVE_F19 | ||||
0x07 0x006f | Teclado F20 | 0x00be | CLAVE_F20 | ||||
0x07 0x0070 | Teclado F21 | 0x00bf | CLAVE_F21 | ||||
0x07 0x0071 | Teclado F22 | 0x00c0 | CLAVE_F22 | ||||
0x07 0x0072 | Teclado F23 | 0x00c1 | CLAVE_F23 | ||||
0x07 0x0073 | Teclado F24 | 0x00c2 | CLAVE_F24 | ||||
0x07 0x0074 | Ejecutar teclado | 0x0086 | LLAVE_ABRIR | ||||
0x07 0x0075 | Ayuda del teclado | 0x008a | CLAVE_AYUDA | ||||
0x07 0x0076 | Menú del teclado | 0x0082 | KEY_PROPS | ||||
0x07 0x0077 | Selección de teclado | 0x0084 | CLAVE_FRONTAL | ||||
0x07 0x0078 | Parada de teclado | 0x0080 | CLAVE_PARADA | 3.0 | 0x0056 | KEYCODE_MEDIA_STOP | |
0x07 0x0079 | Teclado otra vez | 0x0081 | CLAVE_DE NUEVO | ||||
0x07 0x007a | Deshacer teclado | 0x0083 | CLAVE_DESHACER | ||||
0x07 0x007b | Corte de teclado | 0x0089 | CORTE_LLAVE | ||||
0x07 0x007c | Copia de teclado | 0x0085 | COPIA_CLAVE | ||||
0x07 0x007d | Pegar teclado | 0x0087 | CLAVE_PEGAR | ||||
0x07 0x007e | Buscar teclado | 0x0088 | ENCONTRAR_LLAVE | ||||
0x07 0x007f | Silencio del teclado | 0x0071 | KEY_MUTE | 3.0 | 0x00a4 | KEYCODE_VOLUME_MUTE | |
0x07 0x0080 | Subir volumen del teclado | 0x0073 | LLAVE_VOLUMEN ARRIBA | 1.6 | 0x0018 | KEYCODE_VOLUME_UP | |
0x07 0x0081 | Bajar volumen del teclado | 0x0072 | BAJAR_VOLUMEN CLAVE | 1.6 | 0x0019 | KEYCODE_VOLUME_DOWN | |
0x07 0x0082 | Bloqueo de teclado Bloqueo de mayúsculas | ||||||
0x07 0x0083 | Bloqueo de teclado Bloq Num | ||||||
0x07 0x0084 | Bloqueo de teclado Bloqueo de desplazamiento | ||||||
0x07 0x0085 | Coma del teclado | 0x0079 | CLAVE_KPCOMMA | 3.0 | 0x009f | KEYCODE_NUMPAD_COMMA | |
0x07 0x0086 | Signo igual del teclado | ||||||
0x07 0x0087 | Teclado Internacional1 | 0x0059 | CLAVE_RO | ||||
0x07 0x0088 | Teclado internacional2 | 0x005d | CLAVE_KATAKANAHIRAGANA | ||||
0x07 0x0089 | Teclado Internacional3 | 0x007c | CLAVE_YEN | ||||
0x07 0x008a | Teclado Internacional4 | 0x005c | CLAVE_HENKAN | ||||
0x07 0x008b | Teclado Internacional5 | 0x005e | CLAVE_MUHENKAN | ||||
0x07 0x008c | Teclado internacional6 | 0x005f | CLAVE_KPJPCOMMA | ||||
0x07 0x008d | Teclado Internacional7 | ||||||
0x07 0x008e | Teclado Internacional8 | ||||||
0x07 0x008f | Teclado Internacional9 | ||||||
0x07 0x0090 | Teclado LANG1 | 0x007a | CLAVE_CAMBIO | ||||
0x07 0x0091 | Teclado LANG2 | 0x007b | CLAVE_HANJA | ||||
0x07 0x0092 | Teclado LANG3 | 0x005a | CLAVE_KATAKANA | ||||
0x07 0x0093 | Teclado LANG4 | 0x005b | CLAVE_HIRAGANA | ||||
0x07 0x0094 | Teclado LANG5 | 0x0055 | KEY_ZENKAKUHANKAKU | ||||
0x07 0x0095 | Teclado LANG6 | ||||||
0x07 0x0096 | Teclado LANG7 | ||||||
0x07 0x0097 | Teclado LANG8 | ||||||
0x07 0x0098 | Teclado LAN9 | ||||||
0x07 0x0099 | Borrado alternativo del teclado | ||||||
0x07 0x009a | Teclado SysReq/Atención | ||||||
0x07 0x009b | Teclado Cancelar | ||||||
0x07 0x009c | Borrar teclado | ||||||
0x07 0x009d | Teclado anterior | ||||||
0x07 0x009e | Retorno del teclado | ||||||
0x07 0x009f | Separador de teclado | ||||||
0x07 0x00a0 | Teclado fuera | ||||||
0x07 0x00a1 | Operador de teclado | ||||||
0x07 0x00a2 | Borrar teclado/otra vez | ||||||
0x07 0x00a3 | Teclado CrSel/Accesorios | ||||||
0x07 0x00a4 | Teclado ExSel | ||||||
0x07 0x00b0 | Teclado 00 | ||||||
0x07 0x00b1 | Teclado 000 | ||||||
0x07 0x00b2 | Separador de miles | ||||||
0x07 0x00b3 | Separador decimal | ||||||
0x07 0x00b4 | Unidad monetaria | ||||||
0x07 0x00b5 | Subunidad de moneda | ||||||
0x07 0x00b6 | Teclado ( | 0x00b3 | KEY_KPLEFTPAREN | 3.0 | 0x00a2 | KEYCODE_NUMPAD_LEFT_PAREN | |
0x07 0x00b7 | teclado) | 0x00b4 | KEY_KPRIGHTPAREN | 3.0 | 0x00a3 | KEYCODE_NUMPAD_RIGHT_PAREN | |
0x07 0x00b8 | Teclado { | ||||||
0x07 0x00b9 | Teclado } | ||||||
0x07 0x00ba | Pestaña Teclado | ||||||
0x07 0x00bb | Retroceso del teclado | ||||||
0x07 0x00bc | Teclado A | ||||||
0x07 0x00bd | Teclado B | ||||||
0x07 0x00be | Teclado C | ||||||
0x07 0x00bf | Teclado D | ||||||
0x07 0x00c0 | Teclado E | ||||||
0x07 0x00c1 | Teclado F | ||||||
0x07 0x00c2 | Teclado XOR | ||||||
0x07 0x00c3 | Teclado ^ | ||||||
0x07 0x00c4 | % del teclado | ||||||
0x07 0x00c5 | Teclado < | ||||||
0x07 0x00c6 | Teclado > | ||||||
0x07 0x00c7 | Teclado y | ||||||
0x07 0x00c8 | Teclado && | ||||||
0x07 0x00c9 | Teclado | | ||||||
0x07 0x00ca | Teclado || | ||||||
0x07 0x00cb | Teclado: | ||||||
0x07 0x00cc | Teclado # | ||||||
0x07 0x00cd | Espacio del teclado | ||||||
0x07 0x00ce | Teclado @ | ||||||
0x07 0x00cf | ¡Teclado! | ||||||
0x07 0x00d0 | Almacenamiento de memoria del teclado | ||||||
0x07 0x00d1 | Recuperación de la memoria del teclado | ||||||
0x07 0x00d2 | Borrado de la memoria del teclado | ||||||
0x07 0x00d3 | Agregar memoria de teclado | ||||||
0x07 0x00d4 | Resta de memoria del teclado | ||||||
0x07 0x00d5 | Multiplicación de memoria del teclado | ||||||
0x07 0x00d6 | División de memoria del teclado | ||||||
0x07 0x00d7 | Teclado +/- | ||||||
0x07 0x00d8 | Borrar teclado | ||||||
0x07 0x00d9 | Entrada clara del teclado | ||||||
0x07 0x00da | Binario del teclado | ||||||
0x07 0x00db | teclado octal | ||||||
0x07 0x00cc | Decimales del teclado | ||||||
0x07 0x00dd | Teclado Hexadecimal | ||||||
0x07 0x00e0 | Control izquierdo del teclado | 0x001d | CLAVE_LEFTCTRL | 3.0 | 0x0071 | KEYCODE_CTRL_IZQUIERDA | |
0x07 0x00e1 | Desplazamiento a la izquierda del teclado | 0x002a | TECLA_MAYÚS IZQUIERDA | 1.6 | 0x003b | CÓDIGO_CLAVE_MAYÚS_IZQUIERDA | |
0x07 0x00e2 | Alt izquierdo del teclado | 0x0038 | TECLA_ALTA IZQUIERDA | 1.6 | 0x0039 | CÓDIGO_CLAVE_ALT_IZQUIERDA | |
0x07 0x00e3 | Interfaz gráfica de usuario izquierda del teclado | 0x007d | KEY_LEFTMETA | 3.0 | 0x0075 | KEYCODE_META_LEFT | |
0x07 0x00e4 | Control derecho del teclado | 0x0061 | CLAVE_DERECHACTRL | 3.0 | 0x0072 | KEYCODE_CTRL_DERECHO | |
0x07 0x00e5 | Desplazamiento a la derecha del teclado | 0x0036 | TECLA_MAYÚS DERECHA | 1.6 | 0x003c | CÓDIGO_CLAVE_MAYÚS_DERECHA | |
0x07 0x00e6 | Alt derecho del teclado | 0x0064 | KEY_RIGHTALT | 1.6 | 0x003a | KEYCODE_ALT_RIGHT | |
0x07 0x00e7 | Interfaz gráfica de usuario derecha del teclado | 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 | CLAVE_CANCIÓN ANTERIOR | 3.0 | 0x0058 | CÓDIGO_CLAVE_MEDIA_ANTERIOR | ||
0x07 0x00eb | 0x00a3 | KEY_NEXTSONG | 3.0 | 0x0057 | KEYCODE_MEDIA_NEXT | ||
0x07 0x00ec | 0x00a1 | CLAVE_EJECTCD | 3.0 | 0x0081 | KEYCODE_MEDIA_EJECT | ||
0x07 0x00ed | 0x0073 | LLAVE_VOLUMEN ARRIBA | 1.6 | 0x0018 | KEYCODE_VOLUME_UP | ||
0x07 0x00ee | 0x0072 | BAJAR_VOLUMEN CLAVE | 1.6 | 0x0019 | KEYCODE_VOLUME_DOWN | ||
0x07 0x00ef | 0x0071 | KEY_MUTE | 3.0 | 0x00a4 | KEYCODE_VOLUME_MUTE | ||
0x07 0x00f0 | 0x0096 | CLAVE_WWW | 1.6 | 0x0040 | KEYCODE_EXPLORADOR | ||
0x07 0x00f1 | 0x009e | CLAVE_ATRÁS | 1.6 | 0x0004 | KEYCODE_BACK | ||
0x07 0x00f2 | 0x009f | CLAVE_ADELANTE | 3.0 | 0x007d | KEYCODE_FORWARD | ||
0x07 0x00f3 | 0x0080 | CLAVE_PARADA | 3.0 | 0x0056 | KEYCODE_MEDIA_STOP | ||
0x07 0x00f4 | 0x0088 | ENCONTRAR_LLAVE | |||||
0x07 0x00f5 | 0x00b1 | LLAVE_DESPLAZAMIENTO | 3.0 | 0x005c | KEYCODE_PAGE_UP | ||
0x07 0x00f6 | 0x00b2 | TECLA_DESPLAZARSE | 3.0 | 0x005d | KEYCODE_PAGE_DOWN | ||
0x07 0x00f7 | 0x00b0 | EDITAR CLAVE | |||||
0x07 0x00f8 | 0x008e | CLAVE_SLEEP | |||||
0x07 0x00f9 | 0x0098 | CLAVE_CAFÉ | 4.0 | 0x001a | KEYCODE_POWER | ||
0x07 0x00fa | 0x00ad | CLAVE_REFRESH | |||||
0x07 0x00fb | 0x008c | CLAVE_CALC | 4.0.3 | 0x00d2 | CÓDIGO_CLAVE_CALCULADORA |
Página de escritorio genérica de HID (0x01)
Uso HID | Nombre de uso de HID | LKC | Nombre del código de clave de Linux | Versión | AKC | Nombre del código clave de Android | notas |
---|---|---|---|---|---|---|---|
0x01 0x0081 | Apagado del sistema | 0x0074 | KEY_POWER | 1.6 | 0x001a | KEYCODE_POWER | |
0x01 0x0082 | Suspensión del sistema | 0x008e | CLAVE_SLEEP | 4.0 | 0x001a | KEYCODE_POWER | |
0x01 0x0083 | Activación del sistema | 0x008f | CLAVE_DESPERTAR | 4.0 | 0x001a | KEYCODE_POWER | |
0x01 0x0084 | Menú contextual del sistema | ||||||
0x01 0x0085 | Menú principal del sistema | ||||||
0x01 0x0086 | Menú de la aplicación del sistema | ||||||
0x01 0x0087 | Ayuda del menú del sistema | ||||||
0x01 0x0088 | Salir del menú del sistema | ||||||
0x01 0x0089 | Selección de menú del sistema | ||||||
0x01 0x008a | Menú del sistema a la derecha | ||||||
0x01 0x008b | Menú del sistema a la izquierda | ||||||
0x01 0x008c | Menú del sistema arriba | ||||||
0x01 0x008d | Menú del sistema abajo | ||||||
0x01 0x008e | Reinicio en frío del sistema | ||||||
0x01 0x008f | Reinicio en caliente del sistema | ||||||
0x01 0x00a0 | Muelle del sistema | ||||||
0x01 0x00a1 | Desacoplamiento del sistema | ||||||
0x01 0x00a2 | Configuración del sistema | ||||||
0x01 0x00a3 | Ruptura del sistema | ||||||
0x01 0x00a4 | Interrupción del depurador del sistema | ||||||
0x01 0x00a5 | Descanso de aplicación | ||||||
0x01 0x00a6 | Descanso del depurador de aplicaciones | ||||||
0x01 0x00a7 | Silencio del altavoz del sistema | ||||||
0x01 0x00a8 | Hibernación del sistema | ||||||
0x01 0x00b0 | Invertir pantalla del sistema | ||||||
0x01 0x00b1 | Pantalla del sistema interna | ||||||
0x01 0x00b2 | Pantalla del sistema externa | ||||||
0x01 0x00b3 | Pantalla del sistema Ambos | ||||||
0x01 0x00b4 | Pantalla del sistema doble | ||||||
0x01 0x00b5 | Cambio de pantalla del sistema Int/Ext | ||||||
0x01 0x00b6 | Cambio de pantalla del sistema Prim./Seg. | ||||||
0x01 0x00b7 | Pantalla del sistema LCD Escala automática |
Página de consumidor HID (0x0c)
Uso HID | Nombre de uso de HID | LKC | Nombre del código de clave de Linux | Versión | AKC | Nombre del código clave de Android | notas |
---|---|---|---|---|---|---|---|
0x0c 0x0030 | Energía | ||||||
0x0c 0x0031 | Reiniciar | ||||||
0x0c 0x0032 | Dormir | ||||||
0x0c 0x0033 | Dormir después | ||||||
0x0c 0x0034 | Modo de sueño | 0x008e | CLAVE_SLEEP | 4.0 | 0x001a | KEYCODE_POWER | |
0x0c 0x0040 | Menú | 0x008b | KEY_MENU | 1.6 | 0x0052 | KEYCODE_MENU | |
0x0c 0x0041 | Selección de menú | ||||||
0x0c 0x0042 | menú arriba | ||||||
0x0c 0x0043 | menú abajo | ||||||
0x0c 0x0044 | Menú a la izquierda | ||||||
0x0c 0x0045 | Menú a la derecha | 0x0181 | CLAVE_DERECHA | ||||
0x0c 0x0046 | Escape del menú | ||||||
0x0c 0x0047 | Aumento del valor del menú | ||||||
0x0c 0x0048 | Disminución del valor del menú | ||||||
0x0c 0x0067 | Cambio de imagen en imagen | 0x00ab | KEYCODE_WINDOW | Agregado en aosp/1365553 | |||
0x0c 0x0069 | Botón de menú rojo | 0x18e | CLAVE_RED | 0x00b7 | KEYCODE_PROG_RED | Agregado en aosp/1388616 | |
0x0c 0x006a | Botón de menú verde | 0x18f | CLAVE_VERDE | 0x00b8 | CÓDIGO_CLAVE_PROG_VERDE | Agregado en aosp/1388616 | |
0x0c 0x006b | Botón de menú azul | 0x191 | CLAVE_AZUL | 0x00ba | KEYCODE_PROG_BLUE | Agregado en aosp/1388616 | |
0x0c 0x006c | Botón de menú amarillo | 0x190 | CLAVE_AMARILLA | 0x00b9 | KEYCODE_PROG_YELLOW | Agregado en aosp/1388616 | |
0x0c 0x0081 | Asignar selección | ||||||
0x0c 0x0082 | Paso de modo | ||||||
0x0c 0x0083 | Recuperar último | 0x0195 | CLAVE_ÚLTIMO | 0xe5 | CÓDIGO_CLAVE_ÚLTIMO_CANAL | Agregado en aosp/1365551 | |
0x0c 0x0084 | Introducir canal | ||||||
0x0c 0x0085 | Pedir película | ||||||
0x0c 0x0088 | Equipo de selección de medios | 0x0178 | CLAVE_PC | ||||
0x0c 0x0089 | TV de selección de medios | 0x0179 | CLAVE_TV | 3.0 | 0x00aa | KEYCODE_TV | |
0x0c 0x008a | Selección de medios WWW | 0x0096 | CLAVE_WWW | 1.6 | 0x0040 | KEYCODE_EXPLORADOR | |
0x0c 0x008b | DVD de selección de medios | 0x0185 | CLAVE_DVD | ||||
0x0c 0x008c | Teléfono de selección de medios | 0x00a9 | LLAVE_TELÉFONO | 3.0 | 0x0005 | KEYCODE_CALL | |
0x0c 0x008d | Guía de programas de selección de medios | 0x016a | PROGRAMA_CLAVE | 3.0 | 0x00ac | KEYCODE_GUIDE | |
0x0c 0x008e | Videoteléfono de selección de medios | 0x01a0 | CLAVE_VIDEOTELÉFONO | ||||
0x0c 0x008f | Juegos de selección de medios | 0x01a1 | JUEGOS_CLAVE | ||||
0x0c 0x0090 | Mensajes de selección de medios | 0x018c | CLAVE_MEMO | ||||
0x0c 0x0091 | CD de selección de medios | 0x017f | CLAVE_CD | ||||
0x0c 0x0092 | Videograbadora de selección de medios | 0x017b | CLAVE_VCR | ||||
0x0c 0x0093 | Sintonizador de selección de medios | 0x0182 | KEY_TUNER | ||||
0x0c 0x0094 | Abandonar | 0x00ae | CLAVE_SALIR | ||||
0x0c 0x0095 | Ayuda | 0x008a | CLAVE_AYUDA | ||||
0x0c 0x0096 | Cinta de selección de medios | 0x0180 | CINTA_LLAVE | ||||
0x0c 0x0097 | Cable de selección de medios | 0x017a | CLAVE_TV2 | ||||
0x0c 0x0098 | Satélite de selección de medios | 0x017d | CLAVE_SAT | ||||
0x0c 0x0099 | Seguridad de selección de medios | ||||||
0x0c 0x009a | Inicio de selección de medios | 0x016e | CLAVE_PVR | 3.0 | 0x00ad | KEYCODE_DVR | |
0x0c 0x0061 | Subtítulos | 0x0172 | SUBTÍTULO_CLAVE | 0x00af | KEYCODE_CAPTIONS | Agregado en aosp/1365552 | |
0x0c 0x009c | Incremento de canal | 0x0192 | KEY_CHANNELUP | 3.0 | 0x00a6 | KEYCODE_CHANNEL_UP | |
0x0c 0x009d | Decremento de canal | 0x0193 | CLAVE_CANAL ABAJO | 3.0 | 0x00a7 | KEYCODE_CHANNEL_DOWN | |
0x0c 0x009e | Selección de medios SAP | ||||||
0x0c 0x00a0 | Videograbadora Plus | 0x017c | CLAVE_VCR2 | ||||
0x0c 0x00a1 | Una vez | ||||||
0x0c 0x00a2 | Diariamente | ||||||
0x0c 0x00a3 | Semanalmente | ||||||
0x0c 0x00a4 | Mensual | ||||||
0x0c 0x00b0 | Tocar | 0x00cf | KEY_PLAY | 3.0 | 0x007e | KEYCODE_MEDIA_PLAY | |
0x0c 0x00b1 | Pausa | 0x0077 | CLAVE_PAUSA | 3.0 | 0x0079 | KEYCODE_BREAK | |
0x0c 0x00b2 | Registro | 0x00a7 | CLAVE_REGISTRO | 3.0 | 0x0082 | KEYCODE_MEDIA_RECORD | |
0x0c 0x00b3 | Avance rápido | 0x00d0 | CLAVE_AVANCE RÁPIDO | 3.0 | 0x005a | KEYCODE_MEDIA_FAST_FORWARD | |
0x0c 0x00b4 | Rebobinar | 0x00a8 | TECLA_REBOBINADO | 3.0 | 0x0059 | KEYCODE_MEDIA_REWIND | |
0x0c 0x00b5 | Escanear siguiente pista | 0x00a3 | KEY_NEXTSONG | 3.0 | 0x0057 | KEYCODE_MEDIA_NEXT | |
0x0c 0x00b6 | Escanear pista anterior | 0x00a5 | CLAVE_CANCIÓN ANTERIOR | 3.0 | 0x0058 | CÓDIGO_CLAVE_MEDIA_ANTERIOR | |
0x0c 0x00b7 | Deténgase | 0x00a6 | KEY_STOPCD | 3.0 | 0x0056 | KEYCODE_MEDIA_STOP | |
0x0c 0x00b8 | Expulsar | 0x00a1 | CLAVE_EJECTCD | 3.0 | 0x0081 | KEYCODE_MEDIA_EJECT | |
0x0c 0x00b9 | Reproducción aleatoria | ||||||
0x0c 0x00ba | Seleccionar disco | ||||||
0x0c 0x00bb | Introducir disco | ||||||
0x0c 0x00bc | Repetir | 0x01b7 | KEY_MEDIA_REPEAT | ||||
0x0c 0x00be | Pista normal | ||||||
0x0c 0x00c0 | Fotograma adelante | ||||||
0x0c 0x00c1 | Parte posterior del marco | ||||||
0x0c 0x00c2 | Marca | ||||||
0x0c 0x00c3 | borrar marca | ||||||
0x0c 0x00c4 | Repetir desde marca | ||||||
0x0c 0x00c5 | volver a marcar | ||||||
0x0c 0x00c6 | Buscar Marcar adelante | ||||||
0x0c 0x00c7 | Buscar marca al revés | ||||||
0x0c 0x00c8 | Restablecimiento del contador | ||||||
0x0c 0x00c9 | Mostrar contador | ||||||
0x0c 0x00ca | Incremento de seguimiento | ||||||
0x0c 0x00cb | Decremento de seguimiento | ||||||
0x0c 0x00cc | Detener / Expulsar | ||||||
0x0c 0x00cd | Reproducir pausar | 0x00a4 | KEY_PLAYPAUSE | 3.0 | 0x0055 | KEYCODE_MEDIA_PLAY_PAUSE | |
0x0c 0x00ce | Reproducir / Saltar | ||||||
0x0c 0x00e2 | Silencio | 0x0071 | KEY_MUTE | 3.0 | 0x00a4 | KEYCODE_VOLUME_MUTE | |
0x0c 0x00e5 | Refuerzo de graves | 0x00d1 | KEY_BASSBOOST | ||||
0x0c 0x00e6 | Modo envolvente | ||||||
0x0c 0x00e7 | Volumen | ||||||
0x0c 0x00e8 | MPX | ||||||
0x0c 0x00e9 | Incremento de volumen | 0x0073 | LLAVE_VOLUMEN ARRIBA | 1.6 | 0x0018 | KEYCODE_VOLUME_UP | |
0x0c 0x00ea | Disminución de volumen | 0x0072 | BAJAR_VOLUMEN CLAVE | 1.6 | 0x0019 | KEYCODE_VOLUME_DOWN | |
0x0c 0x0173 | Incremento de audio alternativo | 0x00de | KEYCODE_MEDIA_AUDIO_TRACK | Agregado en aosp/1365554 | |||
0x0c 0x0181 | Configuración del botón de lanzamiento AL. Herramienta | ||||||
0x0c 0x0182 | Configuración de botones programables AL. | 0x009c | MARCADORES_CLAVE | 3.0 | 0x00ae | CÓDIGO CLAVE_MARCADOR | |
0x0c 0x0183 | Configuración de control del consumidor AL. | 0x00ab | CLAVE_CONFIG | 4.0.3 | 0x00d1 | CÓDIGO_CLAVE_MÚSICA | |
0x0c 0x0184 | Procesador de textos AL | 0x01a5 | CLAVE_PROCESADOR DE PALABRAS | ||||
0x0c 0x0185 | Editor de texto AL | 0x01a6 | EDITOR_CLAVE | ||||
0x0c 0x0186 | Hoja de cálculo AL | 0x01a7 | CLAVE_HOJA DE CÁLCULO | ||||
0x0c 0x0187 | Editor de gráficos AL | 0x01a8 | KEY_GRAPHICSEDITOR | ||||
0x0c 0x0188 | Aplicación de presentación AL | 0x01a9 | CLAVE_PRESENTACIÓN | ||||
0x0c 0x0189 | Aplicación de base de datos AL | 0x01aa | CLAVE_BASE DE DATOS | ||||
0x0c 0x018a | Lector de correo electrónico AL | 0x009b | KEY_MAIL | 1.6 | 0x0041 | CÓDIGO_LLAVE_SOBRE | |
0x0c 0x018b | Lector de noticias AL | 0x01ab | CLAVE_NOTICIAS | ||||
0x0c 0x018c | Correo de voz AL | 0x01ac | KEY_VOICEMAIL | ||||
0x0c 0x018d | AL Contactos / Libreta de direcciones | 0x01anuncio | KEY_ADDRESSBOOK | 4.0.3 | 0x00cf | CÓDIGO_CLAVE_CONTACTOS | |
0x0c 0x018e | AL Calendario / Horario | 0x018d | CLAVE_CALENDARIO | 4.0.3 | 0x00d0 | CÓDIGO_CLAVE_CALENDARIO | |
0x0c 0x018f | Administrador de tareas/proyectos AL | ||||||
0x0c 0x0190 | Registro AL / Diario / Tarjeta de tiempo | ||||||
0x0c 0x0191 | AL Talonario de cheques / Finanzas | 0x00db | CLAVE_FINANZAS | ||||
0x0c 0x0192 | Calculadora AL | 0x008c | CLAVE_CALC | 4.0.3 | 0x00d2 | CÓDIGO_CLAVE_CALCULADORA | |
0x0c 0x0193 | AL A/V Captura / Reproducción | ||||||
0x0c 0x0194 | Navegador de máquina local AL | 0x0090 | ARCHIVO DE CLAVE | ||||
0x0c 0x0195 | AL Navegador LAN/WAN | ||||||
0x0c 0x0196 | Navegador de Internet AL | 0x0096 | CLAVE_WWW | 1.6 | 0x0040 | KEYCODE_EXPLORADOR | |
0x0c 0x0197 | Red remota AL/Conexión ISP | ||||||
0x0c 0x0198 | Conferencia de la Red AL | ||||||
0x0c 0x0199 | Charla en red AL | 0x00d8 | CLAVE_CHAT | ||||
0x0c 0x019a | AL Telefonía / Marcador | ||||||
0x0c 0x019b | Inicio de sesión AL | ||||||
0x0c 0x019c | Cierre de sesión AL | 0x01b1 | KEY_LOGOFF | ||||
0x0c 0x019d | Inicio/cierre de sesión AL | ||||||
0x0c 0x019e | Bloqueo de terminal AL / Protector de pantalla | 0x0098 | CLAVE_CAFÉ | 4.0 | 0x001a | KEYCODE_POWER | |
0x0c 0x019f | Panel de control AL | ||||||
0x0c 0x01a0 | Procesador de línea de comandos AL / Ejecutar | ||||||
0x0c 0x01a1 | Proceso AL / Administrador de tareas | ||||||
0x0c 0x01a2 | AL Seleccionar tarea/aplicación | ||||||
0x0c 0x01a3 | AL Siguiente Tarea/Aplicación | ||||||
0x0c 0x01a4 | AL Tarea anterior/Aplicación | ||||||
0x0c 0x01a5 | AL Tarea/aplicación de parada preventiva. | ||||||
0x0c 0x01a6 | Centro de ayuda integrado AL | 0x008a | CLAVE_AYUDA | ||||
0x0c 0x01a7 | Documentos AL | 0x00eb | DOCUMENTOS_CLAVE | ||||
0x0c 0x01a8 | AL diccionario de sinónimos | ||||||
0x0c 0x01a9 | Diccionario AL | ||||||
0x0c 0x01aa | Escritorio AL | ||||||
0x0c 0x01ab | Corrector ortográfico AL | 0x01b0 | CLAVE_CHEQUEO ORTOGRAFICO | ||||
0x0c 0x01ac | Verificación de gramática AL | ||||||
0x0c 0x01ad | Estado inalámbrico AL | ||||||
0x0c 0x01ae | Disposición del teclado AL | ||||||
0x0c 0x01af | Protección contra virus AL | ||||||
0x0c 0x01b0 | Cifrado AL | ||||||
0x0c 0x01b1 | Protector de pantalla AL | ||||||
0x0c 0x01b2 | AL Alarmas | ||||||
0x0c 0x01b3 | Reloj AL | ||||||
0x0c 0x01b4 | Navegador de archivos AL | ||||||
0x0c 0x01b5 | Estado de alimentación AL | ||||||
0x0c 0x01b6 | Navegador de imágenes AL | 0x00e2 | CLAVE_MEDIA | 3.0 | 0x004f | KEYCODE_HEADSETHOOK | |
0x0c 0x01b7 | Navegador de audio AL | 0x00d5 | SONIDO CLAVE | 4.0.3 | 0x00d1 | CÓDIGO_CLAVE_MÚSICA | |
0x0c 0x01b8 | AL Movie Browser | ||||||
0x0c 0x01b9 | AL Digital Rights Manager | ||||||
0x0c 0x01ba | AL Digital Wallet | ||||||
0x0c 0x01bc | AL Instant Messaging | 0x01ae | KEY_MESSENGER | ||||
0x0c 0x01bd | AL OEM Features / Tips Browser | 0x0166 | KEY_INFO | ||||
0x0c 0x01be | AL OEM Help | ||||||
0x0c 0x01bf | AL Online Community | ||||||
0x0c 0x01c0 | AL Entertainment Content Browser | ||||||
0x0c 0x01c1 | AL Online Shopping Browser | ||||||
0x0c 0x01c2 | AL SmartCard Information / Help | ||||||
0x0c 0x01c3 | AL Market / Finance Browser | ||||||
0x0c 0x01c4 | AL Customized Corp. News Browser | ||||||
0x0c 0x01c5 | AL Online Activity Browser | ||||||
0x0c 0x01c6 | AL Research / Search Browser | ||||||
0x0c 0x01c7 | AL Audio Player | ||||||
0x0c 0x0201 | AC New | 0x00b5 | KEY_NEW | ||||
0x0c 0x0202 | AC Open | 0x0086 | KEY_OPEN | ||||
0x0c 0x0203 | AC Close | 0x00ce | KEY_CLOSE | ||||
0x0c 0x0204 | AC Exit | 0x00ae | KEY_EXIT | ||||
0x0c 0x0205 | AC Maximize | ||||||
0x0c 0x0206 | AC Minimize | ||||||
0x0c 0x0207 | AC Save | 0x00ea | KEY_SAVE | ||||
0x0c 0x0208 | AC Print | 0x00d2 | KEY_PRINT | ||||
0x0c 0x0209 | AC Properties | 0x0082 | KEY_PROPS | ||||
0x0c 0x021a | AC Undo | 0x0083 | KEY_UNDO | ||||
0x0c 0x021b | AC Copy | 0x0085 | KEY_COPY | ||||
0x0c 0x021c | AC Cut | 0x0089 | KEY_CUT | ||||
0x0c 0x021d | AC Paste | 0x0087 | KEY_PASTE | ||||
0x0c 0x021e | AC Select All | ||||||
0x0c 0x021f | AC Find | 0x0088 | KEY_FIND | ||||
0x0c 0x0220 | AC Find and Replace | ||||||
0x0c 0x0221 | AC Search | 0x00d9 | KEY_SEARCH | 1.6 | 0x0054 | KEYCODE_SEARCH | |
0x0c 0x0222 | AC Go To | 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 Forward | 0x009f | KEY_FORWARD | 3.0 | 0x007d | KEYCODE_FORWARD | |
0x0c 0x0226 | AC Stop | 0x0080 | KEY_STOP | 3.0 | 0x0056 | KEYCODE_MEDIA_STOP | |
0x0c 0x0227 | AC Refresh | 0x00ad | KEY_REFRESH | ||||
0x0c 0x0228 | AC Previous Link | ||||||
0x0c 0x0229 | AC Next Link | ||||||
0x0c 0x022a | AC Bookmarks | 0x009c | KEY_BOOKMARKS | 3.0 | 0x00ae | KEYCODE_BOOKMARK | |
0x0c 0x022b | AC History | ||||||
0x0c 0x022c | AC Subscriptions | ||||||
0x0c 0x022d | AC Zoom In | 0x01a2 | KEY_ZOOMIN | ||||
0x0c 0x022e | AC Zoom Out | 0x01a3 | KEY_ZOOMOUT | ||||
0x0c 0x022f | AC Zoom | 0x01a4 | KEY_ZOOMRESET | 2 | |||
0x0c 0x0230 | AC Full Screen View | ||||||
0x0c 0x0231 | AC Normal View | ||||||
0x0c 0x0232 | AC View Toggle | ||||||
0x0c 0x0233 | AC Scroll Up | 0x00b1 | KEY_SCROLLUP | 3.0 | 0x005c | KEYCODE_PAGE_UP | |
0x0c 0x0234 | AC Scroll Down | 0x00b2 | KEY_SCROLLDOWN | 3.0 | 0x005d | KEYCODE_PAGE_DOWN | |
0x0c 0x0236 | AC Pan Left | ||||||
0x0c 0x0237 | AC Pan Right | ||||||
0x0c 0x0239 | AC New Window | ||||||
0x0c 0x023a | AC Tile Horizontally | ||||||
0x0c 0x023b | AC Tile Vertically | ||||||
0x0c 0x023c | AC Format | ||||||
0x0c 0x023d | AC Edit | ||||||
0x0c 0x023e | AC Bold | ||||||
0x0c 0x023f | AC Italics | ||||||
0x0c 0x0240 | AC Underline | ||||||
0x0c 0x0241 | AC Strikethrough | ||||||
0x0c 0x0242 | AC Subscript | ||||||
0x0c 0x0243 | AC Superscript | ||||||
0x0c 0x0244 | AC All Caps | ||||||
0x0c 0x0245 | AC Rotate | ||||||
0x0c 0x0246 | AC Resize | ||||||
0x0c 0x0247 | AC Flip horizontal | ||||||
0x0c 0x0248 | AC Flip Vertical | ||||||
0x0c 0x0249 | AC Mirror Horizontal | ||||||
0x0c 0x024a | AC Mirror Vertical | ||||||
0x0c 0x024b | AC Font Select | ||||||
0x0c 0x024c | AC Font Color | ||||||
0x0c 0x024d | AC Font Size | ||||||
0x0c 0x024e | AC Justify Left | ||||||
0x0c 0x024f | AC Justify Center H | ||||||
0x0c 0x0250 | AC Justify Right | ||||||
0x0c 0x0251 | AC Justify Block H | ||||||
0x0c 0x0252 | AC Justify Top | ||||||
0x0c 0x0253 | AC Justify Center V | ||||||
0x0c 0x0254 | AC Justify Bottom | ||||||
0x0c 0x0255 | AC Justify Block V | ||||||
0x0c 0x0256 | AC Indent Decrease | ||||||
0x0c 0x0257 | AC Indent Increase | ||||||
0x0c 0x0258 | AC Numbered List | ||||||
0x0c 0x0259 | AC Restart Numbering | ||||||
0x0c 0x025a | AC Bulleted List | ||||||
0x0c 0x025b | AC Promote | ||||||
0x0c 0x025c | AC Demote | ||||||
0x0c 0x025d | AC Yes | ||||||
0x0c 0x025e | AC No | ||||||
0x0c 0x025f | AC Cancel | 0x00df | KEY_CANCEL | ||||
0x0c 0x0260 | AC Catalog | ||||||
0x0c 0x0261 | AC Buy / Checkout | ||||||
0x0c 0x0262 | AC Add to Cart | ||||||
0x0c 0x0263 | AC Expand | ||||||
0x0c 0x0264 | AC Expand All | ||||||
0x0c 0x0265 | AC Collapse | ||||||
0x0c 0x0266 | AC Collapse All | ||||||
0x0c 0x0267 | AC Print Preview | ||||||
0x0c 0x0268 | AC Paste Special | ||||||
0x0c 0x0269 | AC Insert Mode | ||||||
0x0c 0x026a | AC Delete | ||||||
0x0c 0x026b | AC Lock | ||||||
0x0c 0x026c | AC Unlock | ||||||
0x0c 0x026d | AC Protect | ||||||
0x0c 0x026e | AC Unprotect | ||||||
0x0c 0x026f | AC Attach Comment | ||||||
0x0c 0x0270 | AC Delete Comment | ||||||
0x0c 0x0271 | AC View Comment | ||||||
0x0c 0x0272 | AC Select Word | ||||||
0x0c 0x0273 | AC Select Sentence | ||||||
0x0c 0x0274 | AC Select Paragraph | ||||||
0x0c 0x0275 | AC Select Column | ||||||
0x0c 0x0276 | AC Select Row | ||||||
0x0c 0x0277 | AC Select Table | ||||||
0x0c 0x0278 | AC Select Object | ||||||
0x0c 0x0279 | AC Redo / Repeat | 0x00b6 | KEY_REDO | ||||
0x0c 0x027a | AC Sort | ||||||
0x0c 0x027b | AC Sort Ascending | ||||||
0x0c 0x027c | AC Sort Descending | ||||||
0x0c 0x027d | AC Filter | ||||||
0x0c 0x027e | AC Set Clock | ||||||
0x0c 0x027f | AC View Clock | ||||||
0x0c 0x0280 | AC Select Time Zone | ||||||
0x0c 0x0281 | AC Edit Time Zones | ||||||
0x0c 0x0282 | AC Set Alarm | ||||||
0x0c 0x0283 | AC Clear Alarm | ||||||
0x0c 0x0284 | AC Snooze Alarm | ||||||
0x0c 0x0285 | AC Reset Alarm | ||||||
0x0c 0x0286 | AC Synchronize | ||||||
0x0c 0x0287 | AC Send/Receive | ||||||
0x0c 0x0288 | AC Send To | ||||||
0x0c 0x0289 | AC Reply | 0x00e8 | KEY_REPLY | ||||
0x0c 0x028a | AC Reply All | ||||||
0x0c 0x028b | AC Forward Msg | 0x00e9 | KEY_FORWARDMAIL | ||||
0x0c 0x028c | AC Send | 0x00e7 | KEY_SEND | ||||
0x0c 0x028d | AC Attach File | ||||||
0x0c 0x028e | AC Upload | ||||||
0x0c 0x028f | AC Download (Save Target As) | ||||||
0x0c 0x0290 | AC Set Borders | ||||||
0x0c 0x0291 | AC Insert Row | ||||||
0x0c 0x0292 | AC Insert Column | ||||||
0x0c 0x0293 | AC Insert File | ||||||
0x0c 0x0294 | AC Insert Picture | ||||||
0x0c 0x0295 | AC Insert Object | ||||||
0x0c 0x0296 | AC Insert Symbol | ||||||
0x0c 0x0297 | AC Save and Close | ||||||
0x0c 0x0298 | AC Rename | ||||||
0x0c 0x0299 | AC Merge | ||||||
0x0c 0x029a | AC Split | ||||||
0x0c 0x029b | AC Distribute Horizontally | ||||||
0x0c 0x029c | AC Distribute Vertically |
Additional non-HID Mappings
These mappings describe functions that do not appear in HID but for which Linux key codes exist.
LKC | Linux Key Code Name | Versión | AKC | Android Key Code Name | notas |
---|---|---|---|---|---|
0x01d0 | KEY_FN | 3.0 | 0x0077 | KEYCODE_FUNCTION | |
0x01d1 | KEY_FN_ESC | 3.0 | 0x006f | KEYCODE_ESCAPE | 3 |
0x01d2 | KEY_FN_F1 | 3.0 | 0x0083 | KEYCODE_F1 | 3 |
0x01d3 | KEY_FN_F2 | 3.0 | 0x0084 | KEYCODE_F2 | 3 |
0x01d4 | KEY_FN_F3 | 3.0 | 0x0085 | KEYCODE_F3 | 3 |
0x01d5 | KEY_FN_F4 | 3.0 | 0x0086 | KEYCODE_F4 | 3 |
0x01d6 | KEY_FN_F5 | 3.0 | 0x0087 | KEYCODE_F5 | 3 |
0x01d7 | KEY_FN_F6 | 3.0 | 0x0088 | KEYCODE_F6 | 3 |
0x01d8 | KEY_FN_F7 | 3.0 | 0x0089 | KEYCODE_F7 | 3 |
0x01d9 | KEY_FN_F8 | 3.0 | 0x008a | KEYCODE_F8 | 3 |
0x01da | KEY_FN_F9 | 3.0 | 0x008b | KEYCODE_F9 | 3 |
0x01db | KEY_FN_F10 | 3.0 | 0x008c | KEYCODE_F10 | 3 |
0x01dc | KEY_FN_F11 | 3.0 | 0x008d | KEYCODE_F11 | 3 |
0x01dd | KEY_FN_F12 | 3.0 | 0x008e | KEYCODE_F12 | 3 |
0x01de | KEY_FN_1 | 3.0 | 0x0008 | KEYCODE_1 | 3 |
0x01df | KEY_FN_2 | 3.0 | 0x0009 | KEYCODE_2 | 3 |
0x01e0 | KEY_FN_D | 3.0 | 0x0020 | KEYCODE_D | 3 |
0x01e1 | KEY_FN_E | 3.0 | 0x0021 | KEYCODE_E | 3 |
0x01e2 | KEY_FN_F | 3.0 | 0x0022 | KEYCODE_F | 3 |
0x01e3 | KEY_FN_S | 3.0 | 0x002f | KEYCODE_S | 3 |
0x01e4 | KEY_FN_B | 3.0 | 0x001e | KEYCODE_B | 3 |
Legacy Unsupported Keys
These mappings appeared in previous versions of Android but were inconsistent with HID or used non-standard Linux key codes. They are no longer supported.
LKC | Linux Key Code Name | Versión | AKC | Android Key Code Name | notas |
---|---|---|---|---|---|
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 |
notas
The Android key code associated with common alphanumeric and symbolic keys may vary based on the keyboard layout and language. For historical reasons, the physical scan codes and HID usages associated with keys on a keyboard are often defined positionally even though the labels printed on those keys may vary from one language to another.
On a US English (QWERTY) keyboard, the top-left alphabetic key is labeled Q. On a French (AZERTY) keyboard, the key in the same position is labeled A. Despite the label, on both keyboards the top-left alphabetic key is referred to using the HID usage 0x07 0x0014 which is mapped to the Linux key code KEY_Q.
When Android is configured with a US English keyboard layout, then the Linux key code KEY_Q will be mapped to the Android key code KEYCODE_Q and will produce the characters 'Q' and 'q'. However, when Android is configured with a French keyboard layout, then the Linux key code KEY_Q will be mapped to the Android key code KEYCODE_A and will produce the characters 'A' and 'a'.
The Android key code typically reflects the language-specific interpretation of the key, so a different Android key code may be used for different languages.
0x0c 0x022f AC Zoom
is defined in the HID as a linear control but the kernel maps it as a key, which is probably incorrect.The Linux function keys
KEY_FN_*
are mapped to simpler key codes but are dispatched with theMETA_FUNCTION
meta state bit set to true.Prior to Android Ice Cream Sandwich 4.0, the default key layout contained mappings for some extra key codes that were not defined in the mainline Linux kernel headers. These mappings have since been removed because these previously undefined key codes have since been assigned different meanings in more recent versions of the Linux kernel.
Sources
- USB HID Usage Tables v1.12
- Linux 2.6.39 kernel: include/linux/input.h, drivers/hid/hid-input.c
- Android ICS: qwerty.kl, Generic.kl, KeyEvent.java