Android admite una variedad de dispositivos de teclado, incluidos los teclados con funciones especiales (controles de volumen y encendido), teclados QWERTY compactos incorporados y teclados externos con todas las funciones de estilo PC.
En este documento, solo se describen los teclados físicos. Consulta el SDK de Android para obtener información sobre los teclados en pantalla (editores de métodos de entrada).
Clasificación del teclado
Un dispositivo de entrada se clasifica como un teclado si se cumple alguna de las siguientes condiciones:
-
El dispositivo de entrada informa la presencia de cualquier código de tecla de Linux que se use 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 que se use 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 los botones del joystick y del control de juegos de la misma manera que se informan las teclas del teclado. Por lo tanto, los joysticks y los gamepads también usan archivos de asignación de teclas para la configuración.
Una vez que se clasifica un dispositivo de entrada como teclado, el sistema carga el archivo de configuración del dispositivo de entrada y el diseño del teclado.
Luego, el sistema intenta determinar características adicionales del dispositivo.
-
Si el dispositivo de entrada tiene alguna tecla asignada a
KEYCODE_Q
, se considera que tiene un teclado alfabético (en lugar de numérico). La función del teclado alfabético se informa en el objetoConfiguration
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 función del teclado direccional se informa en el objetoConfiguration
del recurso comoNAVIGATION_DPAD
. -
Si el dispositivo de entrada tiene alguna tecla asignada a
KEYCODE_BUTTON_A
o a 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 de forma incorrecta las capacidades compatibles del teclado del dispositivo.
-
Los controladores de teclado deben usar
EV_KEY
para informar las pulsaciones de teclas, con un valor de0
para indicar que se suelta una tecla, un valor de1
para indicar que se presiona una tecla y un valor mayor o igual que2
para indicar que la tecla se repite automáticamente. -
Android realiza su propia repetición del teclado. La función de repetición automática debe estar inhabilitada en el controlador.
-
De manera opcional, los controladores de teclado pueden indicar el uso de HID o el código de análisis de bajo nivel enviando
EV_MSC
conMSC_SCANCODE
y un valor que indique el uso o el código de análisis cuando se presiona la tecla. Actualmente, Android no usa esta información. -
Los controladores de teclado deben admitir la configuración de estados de LED cuando se escribe
EV_LED
en el dispositivo. El controladorhid-input
lo controla automáticamente. En el momento de escribir este artículo, Android usaLED_CAPSLOCK
,LED_SCROLLLOCK
yLED_NUMLOCK
. Estos LED solo deben admitirse cuando el teclado realmente tiene las luces indicadoras asociadas. -
Los controladores de teclado para teclados incorporados (por ejemplo, con una matriz GPIO) deben asegurarse de enviar eventos
EV_KEY
con un valor de0
para las teclas que aún están presionadas cuando el dispositivo entra en modo de suspensión. De lo contrario, las teclas podrían quedar atascadas y repetirse automáticamente para siempre.
Operación del teclado
A continuación, se incluye un breve resumen del funcionamiento del teclado en Android.
-
EventHub
lee eventos sin procesar del controladorevdev
y asigna los códigos de teclas de Linux (a veces denominados códigos de escaneo) a los códigos de teclas de Android con el mapa de diseño de teclas del teclado. -
InputReader
consume los eventos sin procesar y actualiza el estado de la meta clave. Por ejemplo, si se presiona o suelta la tecla de mayúsculas izquierda, el lector establecerá o restablecerá los bitsMETA_SHIFT_LEFT_ON
yMETA_SHIFT_ON
según corresponda. -
InputReader
notifica aInputDispatcher
sobre el evento de tecla. -
InputDispatcher
le pregunta aWindowManagerPolicy
qué hacer con el evento de tecla llamando aWindowManagerPolicy.interceptKeyBeforeQueueing
. Este método forma parte de una ruta crítica que es responsable de activar el dispositivo cuando se presionan ciertas teclas. ElEventHub
mantiene de manera efectiva un bloqueo de activación a lo largo de esta ruta crítica para garantizar que se ejecute hasta completarse. -
Si se está usando un
InputFilter
,InputDispatcher
le da la oportunidad de consumir o transformar la clave. Se puede usarInputFilter
para implementar políticas de accesibilidad de bajo nivel en todo el sistema. -
InputDispatcher
pone en cola la clave para su procesamiento en el subproceso de envío. -
Cuando
InputDispatcher
quita la clave de la cola, le da aWindowManagerPolicy
una segunda oportunidad para interceptar el evento de tecla llamando aWindowManagerPolicy.interceptKeyBeforeDispatching
. Este método controla los 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 de tecla a la aplicación. -
Dentro de la aplicación, el evento de tecla se propaga por la jerarquía de vistas hasta la vista enfocada para el envío de teclas previas al IME.
-
Si el evento de tecla no se controla en el envío previo al IME y se está usando un IME, el evento de tecla se entrega al IME.
-
Si el IME no consumió el evento de tecla, este se propaga por la jerarquía de vistas hasta la vista enfocada para el envío de teclas estándar.
-
La aplicación informa a
InputDispatcher
si se consumió el evento de tecla. Si no se consumió el evento,InputDispatcher
llama aWindowManagerPolicy.dispatchUnhandledKey
para aplicar el comportamiento de "reemplazo". Según la acción de resguardo, es posible que se reinicie el ciclo de envío de eventos de teclas con un código de tecla diferente. Por ejemplo, si una aplicación no controlaKEYCODE_ESCAPE
, el sistema puede volver a enviar el evento de tecla comoKEYCODE_BACK
.
Configuración del teclado
El comportamiento del teclado se determina según el diseño de teclas, el mapa de caracteres clave y la configuración del dispositivo de entrada.
Consulta las siguientes secciones para obtener más detalles sobre los archivos que participan en la configuración del teclado:
- Archivos de diseño de claves
- Archivos de mapas de caracteres clave
- Archivos de configuración de dispositivos de entrada
Propiedades
Las siguientes propiedades de configuración de dispositivos de entrada se usan para teclados.
keyboard.layout
Definición: keyboard.layout
= <name>
Especifica el nombre del archivo de diseño de teclas asociado con el dispositivo de entrada, sin la extensión .kl
. Si no se encuentra este archivo, el sistema de entrada usará el diseño de teclas predeterminado.
Los espacios en el nombre se convierten en guiones bajos durante la búsqueda.
Consulta la documentación del archivo de diseño de claves para obtener más detalles.
keyboard.characterMap
Definición: keyboard.characterMap
= <name>
Especifica el nombre del archivo de mapa de caracteres de teclas asociado con el dispositivo de entrada, sin la extensión .kcm
. Si no se encuentra este archivo, el sistema de entrada usará el mapa de caracteres de teclas predeterminado.
Los espacios en el nombre se convierten en guiones bajos durante la búsqueda.
Consulta 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 se rotan cuando cambia la orientación de la pantalla asociada. -
Si el valor es
0
, el teclado no se ve afectado por los cambios de orientación de la pantalla.
El valor predeterminado es 0
.
La detección de orientación se usa para admitir la rotación de las teclas del teclado direccional, como en el Motorola Droid. Por ejemplo, cuando el dispositivo se rota en el sentido de las manecillas del reloj 90 grados desde su orientación natural, KEYCODE_DPAD_UP
se vuelve a asignar para producir KEYCODE_DPAD_RIGHT
, ya que la tecla "arriba" termina apuntando a "derecha" cuando el dispositivo se sostiene en esa orientación.
keyboard.builtIn
Definición: keyboard.builtIn
= 0
| 1
Especifica si el teclado es el integrado (conectado físicamente).
El valor predeterminado es 1
si el nombre del dispositivo termina con -keypad
, 0
de lo contrario.
Al teclado integrado siempre se le asigna un ID de dispositivo de 0
. A los otros teclados que no son integrados se les asignan IDs de dispositivos únicos distintos de cero.
Usar un ID de 0
para el teclado integrado es importante para mantener la compatibilidad con el campo KeyCharacterMap.BUILT_IN_KEYBOARD
, que especifica el ID del teclado integrado y tiene un valor de 0
. Este campo dejó de estar disponible en la API, pero es posible que las aplicaciones más antiguas aún lo usen.
Un teclado de funciones especiales (cuyo mapa de caracteres clave especifique un tipo de SPECIAL_FUNCTION
) nunca se registrará como el teclado integrado, independientemente de la configuración de esta propiedad. Esto se debe a que, por definición, un teclado con funciones especiales no está diseñado para escribir texto de uso general.
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 asignador de entrada del teclado no usaba ninguna propiedad de configuración.
Se suponía que todos los teclados estaban conectados físicamente y tenían en cuenta la orientación. El diseño de teclas y el mapa de caracteres de teclas predeterminados se llamaron qwerty
en lugar de Generic
. El formato del mapa de caracteres clave también era muy diferente, y el framework no admitía teclados externos ni teclados completos al estilo de PC.
Cuando actualices los dispositivos a Honeycomb, asegúrate de crear o actualizar los archivos de configuración y mapa de claves necesarios.
Usos de HID, códigos de teclas de Linux y códigos de teclas de Android
El sistema hace referencia a las claves con varios identificadores diferentes, según la capa de abstracción.
En el caso de los dispositivos HID, cada tecla tiene un uso HID asociado. El controlador hid-input
de Linux y los controladores HID específicos del proveedor y del dispositivo relacionados son responsables de analizar los informes HID y asignar los usos de HID a los códigos de teclas de Linux.
A medida que Android lee eventos EV_KEY
del kernel de Linux, traduce cada código de tecla de Linux en su código de tecla de Android correspondiente según el archivo de diseño de teclas del dispositivo.
Cuando el evento de tecla se envía a una aplicación, la instancia de android.view.KeyEvent
informa el código de tecla de Linux como el valor de getScanCode()
y el código de tecla de Android como el valor de getKeyCode()
. A los efectos del framework, solo el valor de getKeyCode()
es importante.
Ten en cuenta que Android no usa la información de uso de HID ni la pasa a las aplicaciones.
Tablas de códigos
En las siguientes tablas, se muestra cómo se relacionan entre sí los usos de HID, los códigos de teclas de Linux y los códigos de teclas de Android.
La columna LKC especifica el código de tecla de Linux en hexadecimal.
La columna AKC especifica el código de clave de Android en hexadecimal.
La columna Notas hace referencia a las notas que se publican después de la tabla.
La columna Version especifica la primera versión de la plataforma de Android que incluyó esta clave en su mapa de teclas predeterminado. Se muestran varias filas en los casos en que el mapa de teclas predeterminado cambió entre versiones. La versión más antigua que se indica es 1.6.
-
En Gingerbread (2.3) y versiones anteriores, el mapa de teclas predeterminado era
qwerty.kl
. Este mapa de teclas solo se diseñó para usarse con Android Emulator y no para admitir teclados externos arbitrarios. Sin embargo, algunos OEMs agregaron compatibilidad con teclados Bluetooth a la plataforma y se basaron enqwerty.kl
para proporcionar las asignaciones de teclado necesarias. En consecuencia, estas asignaciones anteriores pueden ser de interés para los OEM que compilan periféricos para estos dispositivos en particular. Ten en cuenta que las asignaciones son muy diferentes de las actuales, en particular, con respecto al tratamiento de la claveHOME
. Se recomienda que todos los periféricos nuevos se desarrollen de acuerdo con Honeycomb o mapas de teclas más recientes (p. ej., 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 de estilo PC completos. La mayoría de las funciones de los teclados HID estándar deberían funcionar de inmediato.
La asignación de códigos de teclas puede variar según las versiones del kernel de Linux y Android. Cuando se sabe que se produjeron cambios en los mapas de teclas predeterminados de Android, estos se indican en la columna de versión.
Los controladores HID y los mapas de teclas específicos del dispositivo pueden aplicar asignaciones diferentes de las que se indican aquí.
Página del teclado y el teclado numérico HID (0x07)
Uso de HID | Nombre de uso de HID | LKC | Nombre del código de clave de Linux | Versión | AKC | Nombre de código de clave de Android | Notas |
---|---|---|---|---|---|---|---|
0x07 0x0001 | Error de teclado | ||||||
0x07 0x0002 | Falla en la POST del teclado | ||||||
0x07 0x0003 | Error de teclado no definido | ||||||
0x07 0x0004 | Teclado a y A | 0x001e | KEY_A | 1.6 | 0x001d | KEYCODE_A | 1 |
0x07 0x0005 | Teclado b y B | 0x0030 | KEY_B | 1.6 | 0x001e | KEYCODE_B | 1 |
0x07 0x0006 | Teclado c y C | 0x002e | KEY_C | 1.6 | 0x001f | KEYCODE_C | 1 |
0x07 0x0007 | Teclado d y D | 0x0020 | KEY_D | 1.6 | 0x0020 | KEYCODE_D | 1 |
0x07 0x0008 | Teclado e y E | 0x0012 | KEY_E | 1.6 | 0x0021 | KEYCODE_E | 1 |
0x07 0x0009 | Teclado f y F | 0x0021 | KEY_F | 1.6 | 0x0022 | KEYCODE_F | 1 |
0x07 0x000a | Teclado g y G | 0x0022 | KEY_G | 1.6 | 0x0023 | KEYCODE_G | 1 |
0x07 0x000b | Teclado h y H | 0x0023 | KEY_H | 1.6 | 0x0024 | KEYCODE_H | 1 |
0x07 0x000c | Teclado i y I | 0x0017 | KEY_I | 1.6 | 0x0025 | KEYCODE_I | 1 |
0x07 0x000d | J y J del teclado | 0x0024 | KEY_J | 1.6 | 0x0026 | KEYCODE_J | 1 |
0x07 0x000e | Teclas K y K del teclado | 0x0025 | KEY_K | 1.6 | 0x0027 | KEYCODE_K | 1 |
0x07 0x000f | Teclado l y L | 0x0026 | KEY_L | 1.6 | 0x0028 | KEYCODE_L | 1 |
0x07 0x0010 | Teclado m y M | 0x0032 | KEY_M | 1.6 | 0x0029 | KEYCODE_M | 1 |
0x07 0x0011 | Teclado n y N | 0x0031 | KEY_N | 1.6 | 0x002a | KEYCODE_N | 1 |
0x07 0x0012 | Teclado o y O | 0x0018 | KEY_O | 1.6 | 0x002b | KEYCODE_O | 1 |
0x07 0x0013 | Teclado p y P | 0x0019 | KEY_P | 1.6 | 0x002c | KEYCODE_P | 1 |
0x07 0x0014 | Teclado Q y q | 0x0010 | KEY_Q | 1.6 | 0x002d | KEYCODE_Q | 1 |
0x07 0x0015 | Teclado r y R | 0x0013 | KEY_R | 1.6 | 0x002e | KEYCODE_R | 1 |
0x07 0x0016 | Teclado S y S | 0x001f | KEY_S | 1.6 | 0x002f | KEYCODE_S | 1 |
0x07 0x0017 | Teclado t y T | 0x0014 | KEY_T | 1.6 | 0x0030 | KEYCODE_T | 1 |
0x07 0x0018 | Teclado u y U | 0x0016 | KEY_U | 1.6 | 0x0031 | KEYCODE_U | 1 |
0x07 0x0019 | Teclado v y V | 0x002f | KEY_V | 1.6 | 0x0032 | KEYCODE_V | 1 |
0x07 0x001a | Teclado w y W | 0x0011 | KEY_W | 1.6 | 0x0033 | KEYCODE_W | 1 |
0x07 0x001b | X y X del teclado | 0x002d | KEY_X | 1.6 | 0x0034 | KEYCODE_X | 1 |
0x07 0x001c | Teclado Y y Y | 0x0015 | KEY_Y | 1.6 | 0x0035 | KEYCODE_Y | 1 |
0x07 0x001d | Teclado z y Z | 0x002c | KEY_Z | 1.6 | 0x0036 | KEYCODE_Z | 1 |
0x07 0x001e | Teclado 1 y ! | 0x0002 | KEY_1 | 1.6 | 0x0008 | KEYCODE_1 | 1 |
0x07 0x001f | Teclado 2 y @ | 0x0003 | KEY_2 | 1.6 | 0x0009 | KEYCODE_2 | 1 |
0x07 0x0020 | Teclado 3 y # | 0x0004 | KEY_3 | 1.6 | 0x000a | KEYCODE_3 | 1 |
0x07 0x0021 | Teclado 4 y $ | 0x0005 | KEY_4 | 1.6 | 0x000b | KEYCODE_4 | 1 |
0x07 0x0022 | Teclado 5 y % | 0x0006 | KEY_5 | 1.6 | 0x000c | KEYCODE_5 | 1 |
0x07 0x0023 | Teclado 6 y ^ | 0x0007 | KEY_6 | 1.6 | 0x000d | KEYCODE_6 | 1 |
0x07 0x0024 | Teclado 7 y & | 0x0008 | KEY_7 | 1.6 | 0x000e | KEYCODE_7 | 1 |
0x07 0x0025 | Teclado 8 y * | 0x0009 | KEY_8 | 1.6 | 0x000f | KEYCODE_8 | 1 |
0x07 0x0026 | Teclado 9 y ( | 0x000a | KEY_9 | 1.6 | 0x0010 | KEYCODE_9 | 1 |
0x07 0x0027 | Teclado 0 y ) | 0x000b | KEY_0 | 1.6 | 0x0007 | KEYCODE_0 | 1 |
0x07 0x0028 | Tecla Intro (ENTER) | 0x001c | KEY_ENTER | 1.6 | 0x0042 | KEYCODE_ENTER | 1 |
0x07 0x0029 | Tecla ESCAPE del teclado | 0x0001 | KEY_ESC | 3.0 | 0x006f | KEYCODE_ESCAPE | |
"" | "" | "" | "" | 2.3 | 0x0004 | KEYCODE_BACK | |
0x07 0x002a | Tecla DELETE (retroceso) del teclado | 0x000e | KEY_BACKSPACE | 1.6 | 0x0043 | KEYCODE_DEL | |
0x07 0x002b | Tecla Tab del teclado | 0x000f | KEY_TAB | 1.6 | 0x003d | KEYCODE_TAB | |
0x07 0x002c | Barra espaciadora del teclado | 0x0039 | KEY_SPACE | 1.6 | 0x003e | KEYCODE_SPACE | |
0x07 0x002d | Teclado: y _ | 0x000c | KEY_MINUS | 1.6 | 0x0045 | KEYCODE_MINUS | 1 |
0x07 0x002e | Teclado = y + | 0x000d | KEY_EQUAL | 1.6 | 0x0046 | KEYCODE_EQUALS | 1 |
0x07 0x002f | Teclado [ y { | 0x001a | KEY_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 | KEY_BACKSLASH | 1.6 | 0x0049 | KEYCODE_BACKSLASH | 1 |
0x07 0x0032 | Teclado con # y ~ que no son de EE.UU. | 0x002b | KEY_BACKSLASH | 1.6 | 0x0049 | KEYCODE_BACKSLASH | 1 |
0x07 0x0033 | Teclado ; y : | 0x0027 | KEY_SEMICOLON | 1.6 | 0x004a | KEYCODE_SEMICOLON | 1 |
0x07 0x0034 | Teclas " y " | 0x0028 | KEY_APOSTROPHE | 1.6 | 0x004b | KEYCODE_APOSTROPHE | 1 |
0x07 0x0035 | Acento grave y virgulilla del teclado | 0x0029 | KEY_GRAVE | 3.0 | 0x0044 | KEYCODE_GRAVE | 1 |
0x07 0x0036 | Teclado, , y < | 0x0033 | KEY_COMMA | 1.6 | 0x0037 | KEYCODE_COMMA | 1 |
0x07 0x0037 | Teclado . y > | 0x0034 | KEY_DOT | 1.6 | 0x0038 | KEYCODE_PERIOD | 1 |
0x07 0x0038 | Teclado / y ? | 0x0035 | KEY_SLASH | 1.6 | 0x004c | KEYCODE_SLASH | 1 |
0x07 0x0039 | Bloq Mayús del teclado | 0x003a | KEY_CAPSLOCK | 3.0 | 0x0073 | KEYCODE_CAPS_LOCK | |
0x07 0x003a | Tecla F1 del teclado | 0x003b | KEY_F1 | 3.0 | 0x0083 | KEYCODE_F1 | |
"" | "" | "" | "" | 1.6 | 0x0052 | KEYCODE_MENU | |
0x07 0x003b | Tecla F2 del teclado | 0x003c | KEY_F2 | 3.0 | 0x0084 | KEYCODE_F2 | |
"" | "" | "" | "" | 1.6 | 0x0002 | KEYCODE_SOFT_RIGHT | |
0x07 0x003c | Teclado F3 | 0x003d | KEY_F3 | 3.0 | 0x0085 | KEYCODE_F3 | |
"" | "" | "" | "" | 1.6 | 0x0005 | KEYCODE_CALL | |
0x07 0x003d | Teclado F4 | 0x003e | KEY_F4 | 3.0 | 0x0086 | KEYCODE_F4 | |
"" | "" | "" | "" | 1.6 | 0x0006 | KEYCODE_ENDCALL | |
0x07 0x003e | Tecla F5 del teclado | 0x003f | KEY_F5 | 3.0 | 0x0087 | KEYCODE_F5 | |
0x07 0x003f | Tecla F6 del teclado | 0x0040 | KEY_F6 | 3.0 | 0x0088 | KEYCODE_F6 | |
0x07 0x0040 | Teclado F7 | 0x0041 | KEY_F7 | 3.0 | 0x0089 | KEYCODE_F7 | |
0x07 0x0041 | Teclado F8 | 0x0042 | KEY_F8 | 3.0 | 0x008a | KEYCODE_F8 | |
0x07 0x0042 | Tecla F9 del teclado | 0x0043 | KEY_F9 | 3.0 | 0x008b | KEYCODE_F9 | |
0x07 0x0043 | Tecla F10 del teclado | 0x0044 | KEY_F10 | 3.0 | 0x008c | KEYCODE_F10 | |
"" | "" | "" | "" | 2.3 | 0x0052 | KEYCODE_MENU | |
0x07 0x0044 | Tecla F11 del teclado | 0x0057 | KEY_F11 | 3.0 | 0x008d | KEYCODE_F11 | |
0x07 0x0045 | Teclado F12 | 0x0058 | KEY_F12 | 3.0 | 0x008e | KEYCODE_F12 | |
0x07 0x0046 | Imprimir pantalla del teclado | 0x0063 | KEY_SYSRQ | 3.0 | 0x0078 | KEYCODE_SYSRQ | |
0x07 0x0047 | Bloqueo de desplazamiento del teclado | 0x0046 | KEY_SCROLLLOCK | 3.0 | 0x0074 | KEYCODE_SCROLL_LOCK | |
0x07 0x0048 | Pausa del teclado | 0x0077 | KEY_PAUSE | 3.0 | 0x0079 | KEYCODE_BREAK | |
0x07 0x0049 | Inserción del teclado | 0x006e | KEY_INSERT | 3.0 | 0x007c | KEYCODE_INSERT | |
0x07 0x004a | Tecla de inicio del teclado | 0x0066 | KEY_HOME | 3.0 | 0x007a | KEYCODE_MOVE_HOME | |
"" | "" | "" | "" | 1.6 | 0x0003 | KEYCODE_HOME | |
0x07 0x004b | Tecla Page Up del teclado | 0x0068 | KEY_PAGEUP | 3.0 | 0x005c | KEYCODE_PAGE_UP | |
0x07 0x004c | Tecla Borrar hacia adelante | 0x006f | KEY_DELETE | 3.0 | 0x0070 | KEYCODE_FORWARD_DEL | |
0x07 0x004d | Tecla de fin del teclado | 0x006b | KEY_END | 3.0 | 0x007b | KEYCODE_MOVE_END | |
"" | "" | "" | "" | 1.6 | 0x0006 | KEYCODE_ENDCALL | |
0x07 0x004e | Tecla AvPág del teclado | 0x006d | KEY_PAGEDOWN | 3.0 | 0x005d | KEYCODE_PAGE_DOWN | |
0x07 0x004f | Flecha hacia la derecha del teclado | 0x006a | KEY_RIGHT | 1.6 | 0x0016 | KEYCODE_DPAD_RIGHT | |
0x07 0x0050 | Flecha hacia la izquierda del teclado | 0x0069 | KEY_LEFT | 1.6 | 0x0015 | KEYCODE_DPAD_LEFT | |
0x07 0x0051 | Flecha hacia abajo del teclado | 0x006c | KEY_DOWN | 1.6 | 0x0014 | KEYCODE_DPAD_DOWN | |
0x07 0x0052 | Flecha hacia arriba del teclado | 0x0067 | KEY_UP | 1.6 | 0x0013 | KEYCODE_DPAD_UP | |
0x07 0x0053 | Bloqueo numérico y Borrar del teclado | 0x0045 | KEY_NUMLOCK | 3.0 | 0x008f | KEYCODE_NUM_LOCK | |
0x07 0x0054 | Teclado / | 0x0062 | KEY_KPSLASH | 3.0 | 0x009a | KEYCODE_NUMPAD_DIVIDE | |
0x07 0x0055 | Teclado * | 0x0037 | KEY_KPASTERISK | 3.0 | 0x009b | KEYCODE_NUMPAD_MULTIPLY | |
0x07 0x0056 | Teclado: | 0x004a | KEY_KPMINUS | 3.0 | 0x009c | KEYCODE_NUMPAD_SUBTRACT | |
0x07 0x0057 | Teclado + | 0x004e | KEY_KPPLUS | 3.0 | 0x009d | KEYCODE_NUMPAD_ADD | |
0x07 0x0058 | Tecla ENTER del teclado | 0x0060 | KEY_KPENTER | 3.0 | 0x00a0 | KEYCODE_NUMPAD_ENTER | |
0x07 0x0059 | Teclado 1 y Fin | 0x004f | KEY_KP1 | 3.0 | 0x0091 | KEYCODE_NUMPAD_1 | |
0x07 0x005a | Teclado 2 y flecha hacia abajo | 0x0050 | KEY_KP2 | 3.0 | 0x0092 | KEYCODE_NUMPAD_2 | |
0x07 0x005b | Teclado 3 y PageDn | 0x0051 | KEY_KP3 | 3.0 | 0x0093 | KEYCODE_NUMPAD_3 | |
0x07 0x005c | Teclado 4 y flecha hacia la izquierda | 0x004b | KEY_KP4 | 3.0 | 0x0094 | KEYCODE_NUMPAD_4 | |
0x07 0x005d | Teclado 5 | 0x004c | KEY_KP5 | 3.0 | 0x0095 | KEYCODE_NUMPAD_5 | |
0x07 0x005e | Teclado numérico 6 y flecha hacia la derecha | 0x004d | KEY_KP6 | 3.0 | 0x0096 | KEYCODE_NUMPAD_6 | |
0x07 0x005f | Teclado 7 y Home | 0x0047 | KEY_KP7 | 3.0 | 0x0097 | KEYCODE_NUMPAD_7 | |
0x07 0x0060 | Teclado 8 y flecha hacia arriba | 0x0048 | KEY_KP8 | 3.0 | 0x0098 | KEYCODE_NUMPAD_8 | |
0x07 0x0061 | Teclado 9 y Página arriba | 0x0049 | KEY_KP9 | 3.0 | 0x0099 | KEYCODE_NUMPAD_9 | |
0x07 0x0062 | Teclado 0 y Insert | 0x0052 | KEY_KP0 | 3.0 | 0x0090 | KEYCODE_NUMPAD_0 | |
0x07 0x0063 | Teclado . y Borrar | 0x0053 | KEY_KPDOT | 3.0 | 0x009e | KEYCODE_NUMPAD_DOT | |
0x07 0x0064 | Teclado no estadounidense \ y | | 0x0056 | KEY_102ND | 4.0 | 0x0049 | KEYCODE_BACKSLASH | 1 |
0x07 0x0065 | Aplicación de teclado | 0x007f | KEY_COMPOSE | 3.0 | 0x0052 | KEYCODE_MENU | |
"" | "" | "" | "" | 1.6 | 0x0054 | KEYCODE_SEARCH | |
0x07 0x0066 | Teclado de encendido | 0x0074 | KEY_POWER | 1.6 | 0x001a | KEYCODE_POWER | |
0x07 0x0067 | Teclado = | 0x0075 | KEY_KPEQUAL | 3.0 | 0x00a1 | KEYCODE_NUMPAD_EQUALS | |
0x07 0x0068 | Teclado F13 | 0x00b7 | KEY_F13 | ||||
0x07 0x0069 | Teclado F14 | 0x00b8 | KEY_F14 | ||||
0x07 0x006a | Teclado F15 | 0x00b9 | KEY_F15 | ||||
0x07 0x006b | Teclado F16 | 0x00ba | KEY_F16 | ||||
0x07 0x006c | Teclado F17 | 0x00bb | KEY_F17 | ||||
0x07 0x006d | Teclado F18 | 0x00bc | KEY_F18 | ||||
0x07 0x006e | Teclado F19 | 0x00bd | KEY_F19 | ||||
0x07 0x006f | Teclado F20 | 0x00be | KEY_F20 | ||||
0x07 0x0070 | Teclado F21 | 0x00bf | KEY_F21 | ||||
0x07 0x0071 | Teclado F22 | 0x00c0 | KEY_F22 | ||||
0x07 0x0072 | Teclado F23 | 0x00c1 | KEY_F23 | ||||
0x07 0x0073 | Teclado F24 | 0x00c2 | KEY_F24 | ||||
0x07 0x0074 | Ejecutar con el teclado | 0x0086 | KEY_OPEN | ||||
0x07 0x0075 | Ayuda del teclado | 0x008a | KEY_HELP | ||||
0x07 0x0076 | Menú del teclado | 0x0082 | KEY_PROPS | ||||
0x07 0x0077 | Selección del teclado | 0x0084 | KEY_FRONT | ||||
0x07 0x0078 | Tope del teclado | 0x0080 | KEY_STOP | 3.0 | 0x0056 | KEYCODE_MEDIA_STOP | |
0x07 0x0079 | Teclado de nuevo | 0x0081 | KEY_AGAIN | ||||
0x07 0x007a | Deshacer del teclado | 0x0083 | KEY_UNDO | ||||
0x07 0x007b | Corte del teclado | 0x0089 | KEY_CUT | ||||
0x07 0x007c | Copiar con el teclado | 0x0085 | KEY_COPY | ||||
0x07 0x007d | Pegar con el teclado | 0x0087 | KEY_PASTE | ||||
0x07 0x007e | Búsqueda con el teclado | 0x0088 | KEY_FIND | ||||
0x07 0x007f | Silenciar teclado | 0x0071 | KEY_MUTE | 3.0 | 0x00a4 | KEYCODE_VOLUME_MUTE | |
0x07 0x0080 | Subir volumen del teclado | 0x0073 | KEY_VOLUMEUP | 1.6 | 0x0018 | KEYCODE_VOLUME_UP | |
0x07 0x0081 | Bajar volumen del teclado | 0x0072 | KEY_VOLUMEDOWN | 1.6 | 0x0019 | KEYCODE_VOLUME_DOWN | |
0x07 0x0082 | Bloqueo de mayúsculas del teclado | ||||||
0x07 0x0083 | Bloqueo numérico del teclado | ||||||
0x07 0x0084 | Bloqueo de desplazamiento del bloqueo del teclado | ||||||
0x07 0x0085 | Coma del teclado | 0x0079 | KEY_KPCOMMA | 3.0 | 0x009f | KEYCODE_NUMPAD_COMMA | |
0x07 0x0086 | Signo igual del teclado | ||||||
0x07 0x0087 | Teclado internacional1 | 0x0059 | KEY_RO | ||||
0x07 0x0088 | Teclado internacional2 | 0x005d | KEY_KATAKANAHIRAGANA | ||||
0x07 0x0089 | Teclado internacional3 | 0x007c | KEY_YEN | ||||
0x07 0x008a | Teclado internacional4 | 0x005c | KEY_HENKAN | ||||
0x07 0x008b | Teclado internacional5 | 0x005e | KEY_MUHENKAN | ||||
0x07 0x008c | Teclado internacional 6 | 0x005f | KEY_KPJPCOMMA | ||||
0x07 0x008d | Teclado internacional7 | ||||||
0x07 0x008e | Teclado internacional8 | ||||||
0x07 0x008f | Teclado internacional 9 | ||||||
0x07 0x0090 | Teclado LANG1 | 0x007a | KEY_HANGEUL | ||||
0x07 0x0091 | LANG2 del teclado | 0x007b | KEY_HANJA | ||||
0x07 0x0092 | Teclado LANG3 | 0x005a | KEY_KATAKANA | ||||
0x07 0x0093 | Teclado LANG4 | 0x005b | KEY_HIRAGANA | ||||
0x07 0x0094 | Teclado LANG5 | 0x0055 | KEY_ZENKAKUHANKAKU | ||||
0x07 0x0095 | Teclado LANG6 | ||||||
0x07 0x0096 | Teclado LANG7 | ||||||
0x07 0x0097 | Teclado LANG8 | ||||||
0x07 0x0098 | Teclado LANG9 | ||||||
0x07 0x0099 | Borrado alternativo del teclado | ||||||
0x07 0x009a | SysReq/atención del teclado | ||||||
0x07 0x009b | Cancelación del teclado | ||||||
0x07 0x009c | Teclado claro | ||||||
0x07 0x009d | Prioridad del teclado | ||||||
0x07 0x009e | Intro del teclado | ||||||
0x07 0x009f | Separador de teclado | ||||||
0x07 0x00a0 | Teclado fuera | ||||||
0x07 0x00a1 | Oper del teclado | ||||||
0x07 0x00a2 | Teclado Borrar/Otra vez | ||||||
0x07 0x00a3 | Teclado CrSel/Props | ||||||
0x07 0x00a4 | ExSel del teclado | ||||||
0x07 0x00b0 | Teclado 00 | ||||||
0x07 0x00b1 | Teclado 000 | ||||||
0x07 0x00b2 | Separador de miles | ||||||
0x07 0x00b3 | Separador decimal | ||||||
0x07 0x00b4 | Unidad de moneda | ||||||
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 | Tecla Tab del teclado | ||||||
0x07 0x00bb | Tecla de 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 | XOR del teclado | ||||||
0x07 0x00c3 | Teclado ^ | ||||||
0x07 0x00c4 | Porcentaje de 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 | Almacén de memoria del teclado | ||||||
0x07 0x00d1 | Recuperación de la memoria del teclado | ||||||
0x07 0x00d2 | Borrado de la memoria del teclado | ||||||
0x07 0x00d3 | Adición de memoria del 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 | Teclado claro | ||||||
0x07 0x00d9 | Borrado de entrada del teclado | ||||||
0x07 0x00da | Binario del teclado | ||||||
0x07 0x00db | Teclado octal | ||||||
0x07 0x00dc | Decimal del teclado | ||||||
0x07 0x00dd | Teclado hexadecimal | ||||||
0x07 0x00e0 | Control izquierdo del teclado | 0x001d | KEY_LEFTCTRL | 3.0 | 0x0071 | KEYCODE_CTRL_LEFT | |
0x07 0x00e1 | Tecla Mayúsculas izquierda del teclado | 0x002a | KEY_LEFTSHIFT | 1.6 | 0x003b | KEYCODE_SHIFT_LEFT | |
0x07 0x00e2 | Tecla Alt izquierda del teclado | 0x0038 | KEY_LEFTALT | 1.6 | 0x0039 | KEYCODE_ALT_LEFT | |
0x07 0x00e3 | GUI del teclado izquierdo | 0x007d | KEY_LEFTMETA | 3.0 | 0x0075 | KEYCODE_META_LEFT | |
0x07 0x00e4 | Control derecho del teclado | 0x0061 | KEY_RIGHTCTRL | 3.0 | 0x0072 | KEYCODE_CTRL_RIGHT | |
0x07 0x00e5 | Tecla Mayúsculas derecha del teclado | 0x0036 | KEY_RIGHTSHIFT | 1.6 | 0x003c | KEYCODE_SHIFT_RIGHT | |
0x07 0x00e6 | Tecla Alt derecha del teclado | 0x0064 | KEY_RIGHTALT | 1.6 | 0x003a | KEYCODE_ALT_RIGHT | |
0x07 0x00e7 | GUI del lado derecho 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 | KEY_PREVIOUSSONG | 3.0 | 0x0058 | KEYCODE_MEDIA_PREVIOUS | ||
0x07 0x00eb | 0x00a3 | KEY_NEXTSONG | 3.0 | 0x0057 | KEYCODE_MEDIA_NEXT | ||
0x07 0x00ec | 0x00a1 | KEY_EJECTCD | 3.0 | 0x0081 | KEYCODE_MEDIA_EJECT | ||
0x07 0x00ed | 0x0073 | KEY_VOLUMEUP | 1.6 | 0x0018 | KEYCODE_VOLUME_UP | ||
0x07 0x00ee | 0x0072 | KEY_VOLUMEDOWN | 1.6 | 0x0019 | KEYCODE_VOLUME_DOWN | ||
0x07 0x00ef | 0x0071 | KEY_MUTE | 3.0 | 0x00a4 | KEYCODE_VOLUME_MUTE | ||
0x07 0x00f0 | 0x0096 | KEY_WWW | 1.6 | 0x0040 | KEYCODE_EXPLORER | ||
0x07 0x00f1 | 0x009e | KEY_BACK | 1.6 | 0x0004 | KEYCODE_BACK | ||
0x07 0x00f2 | 0x009f | KEY_FORWARD | 3.0 | 0x007d | KEYCODE_FORWARD | ||
0x07 0x00f3 | 0x0080 | KEY_STOP | 3.0 | 0x0056 | KEYCODE_MEDIA_STOP | ||
0x07 0x00f4 | 0x0088 | KEY_FIND | |||||
0x07 0x00f5 | 0x00b1 | KEY_SCROLLUP | 3.0 | 0x005c | KEYCODE_PAGE_UP | ||
0x07 0x00f6 | 0x00b2 | KEY_SCROLLDOWN | 3.0 | 0x005d | KEYCODE_PAGE_DOWN | ||
0x07 0x00f7 | 0x00b0 | KEY_EDIT | |||||
0x07 0x00f8 | 0x008e | KEY_SLEEP | |||||
0x07 0x00f9 | 0x0098 | KEY_COFFEE | 4.0 | 0x001a | KEYCODE_POWER | ||
0x07 0x00fa | 0x00ad | KEY_REFRESH | |||||
0x07 0x00fb | 0x008c | KEY_CALC | 4.0.3 | 0x00d2 | KEYCODE_CALCULATOR |
Página de escritorio genérica HID (0x01)
Uso de HID | Nombre de uso de HID | LKC | Nombre del código de clave de Linux | Versión | AKC | Nombre de código de clave de Android | Notas |
---|---|---|---|---|---|---|---|
0x01 0x0081 | Apagado del sistema | 0x0074 | KEY_POWER | 1.6 | 0x001a | KEYCODE_POWER | |
0x01 0x0082 | Suspensión del sistema | 0x008e | KEY_SLEEP | 4.0 | 0x001a | KEYCODE_POWER | |
0x01 0x0083 | Activación del sistema | 0x008f | KEY_WAKEUP | 4.0 | 0x001a | KEYCODE_POWER | |
0x01 0x0084 | Menú contextual del sistema | ||||||
0x01 0x0085 | Menú principal del sistema | ||||||
0x01 0x0086 | Menú de la app del sistema | ||||||
0x01 0x0087 | Ayuda del menú del sistema | ||||||
0x01 0x0088 | Salida del menú del sistema | ||||||
0x01 0x0089 | Selección del menú del sistema | ||||||
0x01 0x008a | Menú del sistema a la derecha | ||||||
0x01 0x008b | Menú del sistema (izquierda) | ||||||
0x01 0x008c | Menú del sistema hacia arriba | ||||||
0x01 0x008d | Menú del sistema inactivo | ||||||
0x01 0x008e | Reinicio en frío del sistema | ||||||
0x01 0x008f | Reinicio en caliente del sistema | ||||||
0x01 0x00a0 | Sistema de la estación de carga | ||||||
0x01 0x00a1 | Desconexión del sistema | ||||||
0x01 0x00a2 | Configuración del sistema | ||||||
0x01 0x00a3 | Pausa del sistema | ||||||
0x01 0x00a4 | Pausa del depurador del sistema | ||||||
0x01 0x00a5 | Pausa de la aplicación | ||||||
0x01 0x00a6 | Pausa del depurador de aplicaciones | ||||||
0x01 0x00a7 | Silenciar bocinas del sistema | ||||||
0x01 0x00a8 | Hibernación del sistema | ||||||
0x01 0x00b0 | Invertir la 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 | Botón de activación para cambiar la pantalla del sistema entre interior y exterior | ||||||
0x01 0x00b6 | Intercambio de pantalla del sistema primario/secundario | ||||||
0x01 0x00b7 | Escalamiento automático de la pantalla LCD del sistema |
Página de consumidor de HID (0x0c)
Uso de HID | Nombre de uso de HID | LKC | Nombre del código de clave de Linux | Versión | AKC | Nombre de código de clave de Android | Notas |
---|---|---|---|---|---|---|---|
0x0c 0x0030 | Energía | ||||||
0x0c 0x0031 | Restablecer | ||||||
0x0c 0x0032 | Sueño | ||||||
0x0c 0x0033 | Dormir después de | ||||||
0x0c 0x0034 | Modo de suspensión | 0x008e | KEY_SLEEP | 4.0 | 0x001a | KEYCODE_POWER | |
0x0c 0x0040 | Menú | 0x008b | KEY_MENU | 1.6 | 0x0052 | KEYCODE_MENU | |
0x0c 0x0041 | Selección del menú | ||||||
0x0c 0x0042 | Menú arriba | ||||||
0x0c 0x0043 | Menú hacia abajo | ||||||
0x0c 0x0044 | Menú de la izquierda | ||||||
0x0c 0x0045 | Menú derecho | 0x0181 | KEY_RIGHT | ||||
0x0c 0x0046 | Escape del menú | ||||||
0x0c 0x0047 | Aumento del valor del menú | ||||||
0x0c 0x0048 | Disminución del valor del menú | ||||||
0x0c 0x0067 | Activar Pantalla en pantalla | 0x00ab | KEYCODE_WINDOW | Se agregó en aosp/1365553 | |||
0x0c 0x0069 | Botón de menú rojo | 0x18e | KEY_RED | 0x00b7 | KEYCODE_PROG_RED | Se agregó en aosp/1388616. | |
0x0c 0x006a | Botón de menú verde | 0x18f | KEY_GREEN | 0x00b8 | KEYCODE_PROG_GREEN | Se agregó en aosp/1388616. | |
0x0c 0x006b | Botón de menú azul | 0x191 | KEY_BLUE | 0x00ba | KEYCODE_PROG_BLUE | Se agregó en aosp/1388616. | |
0x0c 0x006c | Botón de menú amarillo | 0x190 | KEY_YELLOW | 0x00b9 | KEYCODE_PROG_YELLOW | Se agregó en aosp/1388616. | |
0x0c 0x0081 | Asignar selección | ||||||
0x0c 0x0082 | Paso de modo | ||||||
0x0c 0x0083 | Recordar último | 0x0195 | KEY_LAST | 0xe5 | KEYCODE_LAST_CHANNEL | Se agregó en aosp/1365551. | |
0x0c 0x0084 | Ingresa el canal | ||||||
0x0c 0x0085 | Pedir película | ||||||
0x0c 0x0088 | Computadora con Media Select | 0x0178 | KEY_PC | ||||
0x0c 0x0089 | TV con Media Select | 0x0179 | KEY_TV | 3.0 | 0x00aa | KEYCODE_TV | |
0x0c 0x008a | Media Select WWW | 0x0096 | KEY_WWW | 1.6 | 0x0040 | KEYCODE_EXPLORER | |
0x0c 0x008b | DVD de Media Select | 0x0185 | KEY_DVD | ||||
0x0c 0x008c | Teléfono de selección de contenido multimedia | 0x00a9 | KEY_PHONE | 3.0 | 0x0005 | KEYCODE_CALL | |
0x0c 0x008d | Guía del programa de Media Select | 0x016a | KEY_PROGRAM | 3.0 | 0x00ac | KEYCODE_GUIDE | |
0x0c 0x008e | Teléfono con videoteléfono de selección de contenido multimedia | 0x01a0 | KEY_VIDEOPHONE | ||||
0x0c 0x008f | Juegos de Media Select | 0x01a1 | KEY_GAMES | ||||
0x0c 0x0090 | Mensajes de selección de contenido multimedia | 0x018c | KEY_MEMO | ||||
0x0c 0x0091 | CD de Media Select | 0x017f | KEY_CD | ||||
0x0c 0x0092 | VCR de Media Select | 0x017b | KEY_VCR | ||||
0x0c 0x0093 | Sintonizador de Media Select | 0x0182 | KEY_TUNER | ||||
0x0c 0x0094 | Salir | 0x00ae | KEY_EXIT | ||||
0x0c 0x0095 | Ayuda | 0x008a | KEY_HELP | ||||
0x0c 0x0096 | Cinta de selección de contenido multimedia | 0x0180 | KEY_TAPE | ||||
0x0c 0x0097 | Cable de selección de contenido multimedia | 0x017a | KEY_TV2 | ||||
0x0c 0x0098 | Satélite de Media Select | 0x017d | KEY_SAT | ||||
0x0c 0x0099 | Seguridad de Media Select | ||||||
0x0c 0x009a | Media Select Home | 0x016e | KEY_PVR | 3.0 | 0x00ad | KEYCODE_DVR | |
0x0c 0x0061 | Subtítulos | 0x0172 | KEY_SUBTITLE | 0x00af | KEYCODE_CAPTIONS | Se agregó en aosp/1365552. | |
0x0c 0x009c | Incremento de canal | 0x0192 | KEY_CHANNELUP | 3.0 | 0x00a6 | KEYCODE_CHANNEL_UP | |
0x0c 0x009d | Decremento de canal | 0x0193 | KEY_CHANNELDOWN | 3.0 | 0x00a7 | KEYCODE_CHANNEL_DOWN | |
0x0c 0x009e | SAP de Media Select | ||||||
0x0c 0x00a0 | VCR Plus | 0x017c | KEY_VCR2 | ||||
0x0c 0x00a1 | Una vez | ||||||
0x0c 0x00a2 | Diario | ||||||
0x0c 0x00a3 | Semanal | ||||||
0x0c 0x00a4 | Mensual | ||||||
0x0c 0x00b0 | Reproducir | 0x00cf | KEY_PLAY | 3.0 | 0x007e | KEYCODE_MEDIA_PLAY | |
0x0c 0x00b1 | Pausar | 0x0077 | KEY_PAUSE | 3.0 | 0x0079 | KEYCODE_BREAK | |
0x0c 0x00b2 | Grabar | 0x00a7 | KEY_RECORD | 3.0 | 0x0082 | KEYCODE_MEDIA_RECORD | |
0x0c 0x00b3 | Avanzar rápido | 0x00d0 | KEY_FASTFORWARD | 3.0 | 0x005a | KEYCODE_MEDIA_FAST_FORWARD | |
0x0c 0x00b4 | Retroceder | 0x00a8 | KEY_REWIND | 3.0 | 0x0059 | KEYCODE_MEDIA_REWIND | |
0x0c 0x00b5 | Scan Next Track | 0x00a3 | KEY_NEXTSONG | 3.0 | 0x0057 | KEYCODE_MEDIA_NEXT | |
0x0c 0x00b6 | Escanear pista anterior | 0x00a5 | KEY_PREVIOUSSONG | 3.0 | 0x0058 | KEYCODE_MEDIA_PREVIOUS | |
0x0c 0x00b7 | Detener | 0x00a6 | KEY_STOPCD | 3.0 | 0x0056 | KEYCODE_MEDIA_STOP | |
0x0c 0x00b8 | Expulsar | 0x00a1 | KEY_EJECTCD | 3.0 | 0x0081 | KEYCODE_MEDIA_EJECT | |
0x0c 0x00b9 | Reproducción aleatoria | ||||||
0x0c 0x00ba | Selecciona Disco | ||||||
0x0c 0x00bb | Ingresar disco | ||||||
0x0c 0x00bc | Repetir | 0x01b7 | KEY_MEDIA_REPEAT | ||||
0x0c 0x00be | Pista normal | ||||||
0x0c 0x00c0 | Fotograma hacia adelante | ||||||
0x0c 0x00c1 | Parte posterior del marco | ||||||
0x0c 0x00c2 | Marcar | ||||||
0x0c 0x00c3 | Marca clara | ||||||
0x0c 0x00c4 | Repetir desde la marca | ||||||
0x0c 0x00c5 | Volver a la marca | ||||||
0x0c 0x00c6 | Marcar búsqueda para avanzar | ||||||
0x0c 0x00c7 | Marca de búsqueda hacia atrás | ||||||
0x0c 0x00c8 | Restablecimiento del contador | ||||||
0x0c 0x00c9 | Mostrar contador | ||||||
0x0c 0x00ca | Seguimiento de incrementos | ||||||
0x0c 0x00cb | Disminución del seguimiento | ||||||
0x0c 0x00cc | Detener / expulsar | ||||||
0x0c 0x00cd | Reproducir/Pausar | 0x00a4 | KEY_PLAYPAUSE | 3.0 | 0x0055 | KEYCODE_MEDIA_PLAY_PAUSE | |
0x0c 0x00ce | Reproducir / Omitir | ||||||
0x0c 0x00e2 | Silenciar | 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 | Aumento del volumen | 0x0073 | KEY_VOLUMEUP | 1.6 | 0x0018 | KEYCODE_VOLUME_UP | |
0x0c 0x00ea | Bajar el volumen | 0x0072 | KEY_VOLUMEDOWN | 1.6 | 0x0019 | KEYCODE_VOLUME_DOWN | |
0x0c 0x0173 | Incremento de audio alternativo | 0x00de | KEYCODE_MEDIA_AUDIO_TRACK | Se agregó en aosp/1365554 | |||
0x0c 0x0181 | Configuración del botón de inicio de AL Herramienta | ||||||
0x0c 0x0182 | Configuración del botón programable de AL | 0x009c | KEY_BOOKMARKS | 3.0 | 0x00ae | KEYCODE_BOOKMARK | |
0x0c 0x0183 | Configuración de control de consumo de AL | 0x00ab | KEY_CONFIG | 4.0.3 | 0x00d1 | KEYCODE_MUSIC | |
0x0c 0x0184 | Procesador de texto de AL | 0x01a5 | KEY_WORDPROCESSOR | ||||
0x0c 0x0185 | Editor de texto de AL | 0x01a6 | KEY_EDITOR | ||||
0x0c 0x0186 | Hoja de cálculo de AL | 0x01a7 | KEY_SPREADSHEET | ||||
0x0c 0x0187 | Editor de gráficos de AL | 0x01a8 | KEY_GRAPHICSEDITOR | ||||
0x0c 0x0188 | App de presentación de AL | 0x01a9 | KEY_PRESENTATION | ||||
0x0c 0x0189 | App de base de datos de IA | 0x01aa | KEY_DATABASE | ||||
0x0c 0x018a | Lector de correo electrónico de AL | 0x009b | KEY_MAIL | 1.6 | 0x0041 | KEYCODE_ENVELOPE | |
0x0c 0x018b | Lector de noticias de AL | 0x01ab | KEY_NEWS | ||||
0x0c 0x018c | Buzón de voz de AL | 0x01ac | KEY_VOICEMAIL | ||||
0x0c 0x018d | Contactos o Libreta de direcciones de AL | 0x01ad | KEY_ADDRESSBOOK | 4.0.3 | 0x00cf | KEYCODE_CONTACTS | |
0x0c 0x018e | Calendario o agenda de AL | 0x018d | KEY_CALENDAR | 4.0.3 | 0x00d0 | KEYCODE_CALENDAR | |
0x0c 0x018f | Administrador de tareas o proyectos de AL | ||||||
0x0c 0x0190 | Registro de AL / Diario / Tarjeta de tiempo | ||||||
0x0c 0x0191 | Chequera o finanzas de AL | 0x00db | KEY_FINANCE | ||||
0x0c 0x0192 | Calculadora de AL | 0x008c | KEY_CALC | 4.0.3 | 0x00d2 | KEYCODE_CALCULATOR | |
0x0c 0x0193 | Captura o reproducción de A/V de AL | ||||||
0x0c 0x0194 | Navegador de la máquina local de AL | 0x0090 | KEY_FILE | ||||
0x0c 0x0195 | Navegador de LAN/WAN de AL | ||||||
0x0c 0x0196 | Navegador de Internet de AL | 0x0096 | KEY_WWW | 1.6 | 0x0040 | KEYCODE_EXPLORER | |
0x0c 0x0197 | Conexión remota de AL/ISP Connect | ||||||
0x0c 0x0198 | AL Network Conference | ||||||
0x0c 0x0199 | Chat de red de AL | 0x00d8 | KEY_CHAT | ||||
0x0c 0x019a | Telefonía o Dialer de AL | ||||||
0x0c 0x019b | Acceso de AL | ||||||
0x0c 0x019c | Salida de AL | 0x01b1 | KEY_LOGOFF | ||||
0x0c 0x019d | Acceso o salida de AL | ||||||
0x0c 0x019e | Bloqueo o protector de pantalla de la terminal de AL | 0x0098 | KEY_COFFEE | 4.0 | 0x001a | KEYCODE_POWER | |
0x0c 0x019f | Panel de control de AL | ||||||
0x0c 0x01a0 | Procesador de línea de comandos o ejecución de AL | ||||||
0x0c 0x01a1 | Administrador de tareas o proceso de AL | ||||||
0x0c 0x01a2 | AL Select Task / Application | ||||||
0x0c 0x01a3 | AL Next Task / Application | ||||||
0x0c 0x01a4 | Tarea o aplicación anterior de AL | ||||||
0x0c 0x01a5 | Tarea o app de detención preventiva de AL. | ||||||
0x0c 0x01a6 | Centro de ayuda integrado de AL | 0x008a | KEY_HELP | ||||
0x0c 0x01a7 | Documentos de AL | 0x00eb | KEY_DOCUMENTS | ||||
0x0c 0x01a8 | Tesauro de AL | ||||||
0x0c 0x01a9 | Diccionario de AL | ||||||
0x0c 0x01aa | AL Desktop | ||||||
0x0c 0x01ab | Corrector ortográfico de AL | 0x01b0 | KEY_SPELLCHECK | ||||
0x0c 0x01ac | Revisión gramatical de AL | ||||||
0x0c 0x01ad | Estado de la red inalámbrica de AL | ||||||
0x0c 0x01ae | Diseño del teclado de AL | ||||||
0x0c 0x01af | Protección contra virus de AL | ||||||
0x0c 0x01b0 | Encriptación de AL | ||||||
0x0c 0x01b1 | Protector de pantalla de AL | ||||||
0x0c 0x01b2 | Alarmas de AL | ||||||
0x0c 0x01b3 | Reloj AL | ||||||
0x0c 0x01b4 | Navegador de archivos de AL | ||||||
0x0c 0x01b5 | Estado de la alimentación de AL | ||||||
0x0c 0x01b6 | Navegador de imágenes de AL | 0x00e2 | KEY_MEDIA | 3.0 | 0x004f | KEYCODE_HEADSETHOOK | |
0x0c 0x01b7 | Navegador de audio de AL | 0x00d5 | KEY_SOUND | 4.0.3 | 0x00d1 | KEYCODE_MUSIC | |
0x0c 0x01b8 | Navegador de películas de AL | ||||||
0x0c 0x01b9 | Administrador de derechos digitales de AL | ||||||
0x0c 0x01ba | Billetera digital de AL | ||||||
0x0c 0x01bc | Mensajería instantánea de AL | 0x01ae | KEY_MESSENGER | ||||
0x0c 0x01bd | Navegador de funciones y sugerencias de OEM de AL | 0x0166 | KEY_INFO | ||||
0x0c 0x01be | Ayuda para OEM de AL | ||||||
0x0c 0x01bf | Comunidad en línea de AL | ||||||
0x0c 0x01c0 | Navegador de contenido de entretenimiento de AL | ||||||
0x0c 0x01c1 | Navegador de compras en línea de AL | ||||||
0x0c 0x01c2 | Información o ayuda sobre la tarjeta inteligente de AL | ||||||
0x0c 0x01c3 | Navegador de mercado o finanzas de AL | ||||||
0x0c 0x01c4 | Navegador de noticias personalizado de AL Corp. | ||||||
0x0c 0x01c5 | Navegador de actividad en línea de AL | ||||||
0x0c 0x01c6 | Navegador de búsqueda o investigación de IA | ||||||
0x0c 0x01c7 | Reproductor de audio de AL | ||||||
0x0c 0x0201 | AC nuevo | 0x00b5 | KEY_NEW | ||||
0x0c 0x0202 | Apertura en AC | 0x0086 | KEY_OPEN | ||||
0x0c 0x0203 | AC Close | 0x00ce | KEY_CLOSE | ||||
0x0c 0x0204 | Salida de CA | 0x00ae | KEY_EXIT | ||||
0x0c 0x0205 | Maximizar AC | ||||||
0x0c 0x0206 | AC Minimize | ||||||
0x0c 0x0207 | Ahorro de AC | 0x00ea | KEY_SAVE | ||||
0x0c 0x0208 | AC Print | 0x00d2 | KEY_PRINT | ||||
0x0c 0x0209 | Propiedades de AC | 0x0082 | KEY_PROPS | ||||
0x0c 0x021a | AC Undo | 0x0083 | KEY_UNDO | ||||
0x0c 0x021b | Texto de AC | 0x0085 | KEY_COPY | ||||
0x0c 0x021c | Corte de CA | 0x0089 | KEY_CUT | ||||
0x0c 0x021d | Pegar AC | 0x0087 | KEY_PASTE | ||||
0x0c 0x021e | Seleccionar todo en AC | ||||||
0x0c 0x021f | Búsqueda de AC | 0x0088 | KEY_FIND | ||||
0x0c 0x0220 | Buscar y reemplazar de AC | ||||||
0x0c 0x0221 | Búsqueda de AC | 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 | Respaldo de AC | 0x009e | KEY_BACK | 1.6 | 0x0004 | KEYCODE_BACK | |
0x0c 0x0225 | AC Forward | 0x009f | KEY_FORWARD | 3.0 | 0x007d | KEYCODE_FORWARD | |
0x0c 0x0226 | Parada de AC | 0x0080 | KEY_STOP | 3.0 | 0x0056 | KEYCODE_MEDIA_STOP | |
0x0c 0x0227 | Actualización de AC | 0x00ad | KEY_REFRESH | ||||
0x0c 0x0228 | Vínculo anterior de AC | ||||||
0x0c 0x0229 | AC Next Link | ||||||
0x0c 0x022a | Favoritos de AC | 0x009c | KEY_BOOKMARKS | 3.0 | 0x00ae | KEYCODE_BOOKMARK | |
0x0c 0x022b | Historial de AC | ||||||
0x0c 0x022c | Suscripciones a AC | ||||||
0x0c 0x022d | Zoom de AC | 0x01a2 | KEY_ZOOMIN | ||||
0x0c 0x022e | AC Zoom Out | 0x01a3 | KEY_ZOOMOUT | ||||
0x0c 0x022f | Zoom de AC | 0x01a4 | KEY_ZOOMRESET | 2 | |||
0x0c 0x0230 | Vista de pantalla completa de AC | ||||||
0x0c 0x0231 | Vista normal de AC | ||||||
0x0c 0x0232 | Activar o desactivar la vista de CA | ||||||
0x0c 0x0233 | Desplazamiento hacia arriba de AC | 0x00b1 | KEY_SCROLLUP | 3.0 | 0x005c | KEYCODE_PAGE_UP | |
0x0c 0x0234 | Desplazamiento hacia abajo del aire acondicionado | 0x00b2 | KEY_SCROLLDOWN | 3.0 | 0x005d | KEYCODE_PAGE_DOWN | |
0x0c 0x0236 | Desplazamiento lateral hacia la izquierda | ||||||
0x0c 0x0237 | Desplazamiento lateral hacia la derecha (AC) | ||||||
0x0c 0x0239 | Ventana nueva de AC | ||||||
0x0c 0x023a | Mosaico de AC horizontal | ||||||
0x0c 0x023b | Mosaico vertical de AC | ||||||
0x0c 0x023c | Formato de AC | ||||||
0x0c 0x023d | Edición de AC | ||||||
0x0c 0x023e | AC Bold | ||||||
0x0c 0x023f | Cursiva de AC | ||||||
0x0c 0x0240 | Subrayado de AC | ||||||
0x0c 0x0241 | Tachado de AC | ||||||
0x0c 0x0242 | Subíndice de AC | ||||||
0x0c 0x0243 | Superíndice de CA | ||||||
0x0c 0x0244 | AC en mayúsculas | ||||||
0x0c 0x0245 | Rotación de AC | ||||||
0x0c 0x0246 | Cambio de tamaño de AC | ||||||
0x0c 0x0247 | AC Flip horizontal | ||||||
0x0c 0x0248 | AC Flip Vertical | ||||||
0x0c 0x0249 | Espejo horizontal con aire acondicionado | ||||||
0x0c 0x024a | Espejo vertical de AC | ||||||
0x0c 0x024b | Selección de fuentes de AC | ||||||
0x0c 0x024c | Color de la fuente de AC | ||||||
0x0c 0x024d | Tamaño de la fuente de AC | ||||||
0x0c 0x024e | AC Justify Left | ||||||
0x0c 0x024f | AC Justify Center H | ||||||
0x0c 0x0250 | Justificación a la derecha del AC | ||||||
0x0c 0x0251 | Bloque de justificación de CA (H) | ||||||
0x0c 0x0252 | AC Justify Top | ||||||
0x0c 0x0253 | AC Justify Center V | ||||||
0x0c 0x0254 | Justificación inferior de CA | ||||||
0x0c 0x0255 | Bloque de justificación de CA en V | ||||||
0x0c 0x0256 | Disminución de la sangría de AC | ||||||
0x0c 0x0257 | Aumento de sangría de CA | ||||||
0x0c 0x0258 | Lista numerada de AC | ||||||
0x0c 0x0259 | Numeración de reinicios del AC | ||||||
0x0c 0x025a | Lista con viñetas de AC | ||||||
0x0c 0x025b | Promoción de AC | ||||||
0x0c 0x025c | Desactivación de AC | ||||||
0x0c 0x025d | AC Sí | ||||||
0x0c 0x025e | No hay CA | ||||||
0x0c 0x025f | Cancelación de AC | 0x00df | KEY_CANCEL | ||||
0x0c 0x0260 | Catálogo de AC | ||||||
0x0c 0x0261 | Compra o confirmación de la compra de AC | ||||||
0x0c 0x0262 | AC Add to Cart | ||||||
0x0c 0x0263 | Expansión de AC | ||||||
0x0c 0x0264 | AC Expandir todo | ||||||
0x0c 0x0265 | AC Collapse | ||||||
0x0c 0x0266 | AC Collapse All | ||||||
0x0c 0x0267 | Vista previa de la impresión de AC | ||||||
0x0c 0x0268 | Pegar elemento especial de AC | ||||||
0x0c 0x0269 | Modo de inserción de AC | ||||||
0x0c 0x026a | Eliminación de AC | ||||||
0x0c 0x026b | Bloqueo de CA | ||||||
0x0c 0x026c | Desbloqueo de AC | ||||||
0x0c 0x026d | AC Protect | ||||||
0x0c 0x026e | AC Unprotect | ||||||
0x0c 0x026f | AC Attach Comment | ||||||
0x0c 0x0270 | AC Borrar comentario | ||||||
0x0c 0x0271 | AC View Comment | ||||||
0x0c 0x0272 | Palabra seleccionada de AC | ||||||
0x0c 0x0273 | Sentencia de selección de AC | ||||||
0x0c 0x0274 | AC Select Paragraph | ||||||
0x0c 0x0275 | Seleccionar columna de AC | ||||||
0x0c 0x0276 | AC Select Row | ||||||
0x0c 0x0277 | Tabla de selección de AC | ||||||
0x0c 0x0278 | Objeto de selección de AC | ||||||
0x0c 0x0279 | Rehacer o repetir el AC | 0x00b6 | KEY_REDO | ||||
0x0c 0x027a | Ordenar por AC | ||||||
0x0c 0x027b | AC Sort Ascending | ||||||
0x0c 0x027c | AC Sort Descending | ||||||
0x0c 0x027d | Filtro de CA | ||||||
0x0c 0x027e | AC Set Clock | ||||||
0x0c 0x027f | Reloj de vista de CA | ||||||
0x0c 0x0280 | AC Select Time Zone | ||||||
0x0c 0x0281 | AC Edit Time Zones | ||||||
0x0c 0x0282 | Cómo configurar una alarma en el AC | ||||||
0x0c 0x0283 | Alarma de AC clara | ||||||
0x0c 0x0284 | Posponer alarma del aire acondicionado | ||||||
0x0c 0x0285 | Alarma de restablecimiento del aire acondicionado | ||||||
0x0c 0x0286 | Sincronización de AC | ||||||
0x0c 0x0287 | Envío y recepción de AC | ||||||
0x0c 0x0288 | AC Send To | ||||||
0x0c 0x0289 | Respuesta de AC | 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 | Archivo adjunto de AC | ||||||
0x0c 0x028e | Carga de AC | ||||||
0x0c 0x028f | Descarga de AC (Guardar objetivo como) | ||||||
0x0c 0x0290 | AC Set Borders | ||||||
0x0c 0x0291 | AC Insert Row | ||||||
0x0c 0x0292 | Insertar columna de AC | ||||||
0x0c 0x0293 | Archivo de inserción de AC | ||||||
0x0c 0x0294 | Insertar imagen de AC | ||||||
0x0c 0x0295 | Objeto de inserción de AC | ||||||
0x0c 0x0296 | Símbolo de inserción de AC | ||||||
0x0c 0x0297 | Guardar y cerrar el aire acondicionado | ||||||
0x0c 0x0298 | Cambio de nombre de AC | ||||||
0x0c 0x0299 | Combinación de AC | ||||||
0x0c 0x029a | División de AC | ||||||
0x0c 0x029b | AC Distribute Horizontally | ||||||
0x0c 0x029c | AC Distribute Vertically |
Asignaciones adicionales que no son HID
Estas asignaciones describen funciones que no aparecen en HID, pero para las que existen códigos de teclas de Linux.
LKC | Nombre del código de clave de Linux | Versión | AKC | Nombre de código de clave de Android | 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 |
Claves heredadas no admitidas
Estas asignaciones aparecieron en versiones anteriores de Android, pero no eran coherentes con HID o usaban códigos de teclas no estándar de Linux. Ya no son compatibles.
LKC | Nombre del código de clave de Linux | Versión | AKC | Nombre de código de clave de Android | 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
-
El código de tecla de Android asociado con las teclas alfanuméricas y simbólicas comunes puede variar según el diseño y el idioma del teclado. Por razones históricas, los códigos de escaneo físicos y los usos de HID asociados con las teclas de un teclado suelen definirse de forma posicional, aunque las etiquetas impresas en esas teclas pueden variar de un idioma a otro.
En un teclado en inglés de EE.UU. (QWERTY), la tecla alfabética de la esquina superior izquierda está etiquetada como Q. En un teclado francés (AZERTY), la tecla en la misma posición está etiquetada como A. A pesar de la etiqueta, en ambos teclados, la tecla alfabética superior izquierda se refiere al uso de HID 0x07 0x0014, que se asigna al código de tecla KEY_Q de Linux.
Cuando Android se configura con un diseño de teclado en inglés de EE.UU., el código de tecla KEY_Q de Linux se asignará al código de tecla KEYCODE_Q de Android y producirá los caracteres "Q" y "q". Sin embargo, cuando Android se configura con un diseño de teclado francés, el código de tecla KEY_Q de Linux se asignará al código de tecla KEYCODE_A de Android y producirá los caracteres "A" y "a".
Por lo general, el código de clave de Android refleja la interpretación de la clave específica del idioma, por lo que se puede usar un código de clave de Android diferente para diferentes idiomas.
-
0x0c 0x022f AC Zoom
se define en el HID como un control lineal, pero el kernel lo asigna como una clave, lo que probablemente sea incorrecto. -
Las teclas de función de Linux
KEY_FN_*
se asignan a códigos de teclas más simples, pero se envían con el bit de estado metaMETA_FUNCTION
establecido en verdadero. -
Antes de Android Ice Cream Sandwich 4.0, el diseño de teclas predeterminado contenía asignaciones para algunos códigos de teclas adicionales que no se definían en los encabezados del kernel de Linux principal. Desde entonces, se quitaron estas asignaciones porque a estos códigos de teclas no definidos anteriormente se les asignaron significados diferentes en versiones más recientes del kernel de Linux.
Fuentes
- Tablas de uso de HID USB v1.12
- Kernel de Linux 2.6.39: include/linux/input.h, drivers/hid/hid-input.c
- Android ICS: qwerty.kl, Generic.kl, KeyEvent.java