Dispositivos con teclado

Android admite diferentes dispositivos de teclado, como las funciones especiales teclados (controles de volumen y encendido), teclados QWERTY compactos incorporados, y teclados externos similares a PC con todas las funciones.

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 teclado si alguna de las siguientes opciones se aplican las siguientes condiciones:

  • El dispositivo de entrada informa la presencia de códigos de teclas de Linux que se usan en teclados. incluidos 0 a 0xff o KEY_OK a KEY_MAX.

  • El dispositivo de entrada informa la presencia de códigos de teclas de Linux que se usan en los joysticks. y controles de juegos, incluidos BTN_0 a BTN_9, de BTN_TRIGGER a BTN_DEAD, o de BTN_A a BTN_THUMBR.

Actualmente, los joysticks se clasifican como teclados porque los botones del joystick y del control de juegos. Los eventos EV_KEY los informan de la misma manera que las teclas del teclado. Por lo tanto, los joysticks y los controles de juegos también usan archivos de mapas de teclas para la configuración.

Una vez que un dispositivo de entrada se clasificó 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 teclas asignadas a KEYCODE_Q, el se considera que el dispositivo tiene un teclado alfabético (a diferencia del numérico). La capacidad del teclado alfabético se informa en el recurso Configuration. objeto como KEYBOARD_QWERTY.

  • Si el dispositivo de entrada tiene teclas asignadas a KEYCODE_DPAD_UP, KEYCODE_DPAD_DOWN, KEYCODE_DPAD_LEFT, KEYCODE_DPAD_RIGHT y KEYCODE_DPAD_CENTER (todos deben estar presentes), entonces, se considera que el dispositivo para tener un teclado direccional. La capacidad del teclado direccional se informa en el recurso Configuration objeto como NAVIGATION_DPAD.

  • Si el dispositivo de entrada tiene teclas asignadas a KEYCODE_BUTTON_A u otras teclas relacionadas con un control de juegos, se considera que el dispositivo tiene un control de juegos.

Requisitos del controlador del teclado

  1. Los controladores del teclado solo deben registrar los códigos de tecla para las teclas que realmente admiten. El registro de códigos de tecla excesivo podría confundir el dispositivo de clasificación o hacer que el sistema detecte incorrectamente las capacidades de teclado compatibles del dispositivo.

  2. Los controladores del teclado deben usar EV_KEY para informar las pulsaciones de teclas mediante un valor de 0 para indicar que se libera una clave, un valor de 1 para indicar que se presiona una tecla y un valor mayor o igual que 2 para indicar que la clave se repite automáticamente.

  3. Android realiza su propio teclado que se repite. Función de repetición automática debe estar inhabilitado en el controlador.

  4. De manera opcional, los controladores del teclado pueden indicar el uso de HID o la búsqueda de bajo nivel envía EV_MSC con MSC_SCANCODE y un valor que indique el uso o escanear código cuando se presiona la tecla. Esta información no se encuentra actualmente que usa Android.

  5. Los controladores del teclado deben admitir la configuración de estados de luz LED cuando se escribe EV_LED al dispositivo. El controlador hid-input controla esto automáticamente. Al momento de la redacción de este documento, Android usa LED_CAPSLOCK, LED_SCROLLLOCK, y LED_NUMLOCK. Estos LED solo deben ser compatibles cuando el teclado tiene luces indicadoras asociadas.

  6. Controladores de teclado para teclados incorporados (por ejemplo, con una matriz GPIO) debes asegurarte de enviar eventos EV_KEY con un valor de 0 para cualquier clave que aún estén presionados cuando el dispositivo se suspenda. De lo contrario, las claves podrían se detenga y se repetirá automáticamente para siempre.

Funcionamiento del teclado

A continuación, se incluye un breve resumen del funcionamiento del teclado en Android.

  1. EventHub lee eventos sin procesar del controlador evdev y asigna códigos de teclas de Linux. (a veces denominados códigos de escaneo) a códigos de clave de Android usando el mapa de diseño de teclas del teclado.

  2. InputReader consume los eventos sin procesar y actualiza el estado de la tecla meta. Por ejemplo, si presionas o sueltas la tecla Mayúsculas de la izquierda, el lector Configura o restablece los bits META_SHIFT_LEFT_ON y META_SHIFT_ON según corresponda.

  3. El InputReader notifica al InputDispatcher sobre el evento clave.

  4. InputDispatcher le pregunta al WindowManagerPolicy qué hacer con la clave. evento llamando a WindowManagerPolicy.interceptKeyBeforeQueueing. Este método es parte de una ruta crítica que es responsable de activar el dispositivo cuando se presionan ciertas teclas. EventHub tiene eficazmente un bloqueo de activación. a lo largo de esta ruta crítica para garantizar que se ejecutará hasta su finalización.

  5. Si un InputFilter está en uso actualmente, InputDispatcher le da una de consumir o transformar la clave. Se puede usar InputFilter para implementar políticas de accesibilidad en todo el sistema de bajo nivel.

  6. InputDispatcher pone en cola la clave para procesarla en el subproceso de envío.

  7. Cuando InputDispatcher quita la clave de la cola, le da a WindowManagerPolicy una segunda oportunidad para interceptar el evento clave llamando WindowManagerPolicy.interceptKeyBeforeDispatching Este método controla las variables atajos y otras funciones.

  8. Luego, el InputDispatcher identifica el objetivo del evento clave (la ventana enfocada). y espera a que estén listos. Luego, InputDispatcher entrega el evento clave a la aplicación.

  9. Dentro de la aplicación, el evento clave se propaga hacia abajo en la jerarquía de vistas para la vista enfocada para el envío de claves previo al IME

  10. Si el evento clave no se controla en el envío previo al IME y hay uno en uso, el el evento clave se entrega al IME.

  11. Si el IME no consumió el evento clave, se propaga el evento clave. hacia abajo en la jerarquía de vistas hasta la vista enfocada para el envío de claves estándar.

  12. La aplicación informa a InputDispatcher si la clave se consumió el evento. Si el evento no se consumió, InputDispatcher Llama a WindowManagerPolicy.dispatchUnhandledKey para aplicar el "resguardo". el comportamiento de los usuarios. Según la acción de resguardo, el ciclo de envío de eventos clave puede reiniciarse usando un código de tecla diferente. Por ejemplo, si una aplicación no controla KEYCODE_ESCAPE, el sistema puede volver a enviar el evento clave como KEYCODE_BACK en su lugar.

Configuración del teclado

El comportamiento del teclado se determina por el diseño de las teclas del teclado, los caracteres del mapa y del dispositivo de entrada.

Consulta las siguientes secciones para obtener más detalles sobre los archivos que participar en la configuración del teclado:

Propiedades

Las siguientes propiedades de configuración del dispositivo de entrada se usan para teclados.

teclado.layout

Definición: keyboard.layout = <nombre>

Especifica el nombre del archivo de diseño de claves asociado con el dispositivo de entrada. excepto la extensión .kl. Si no se encuentra este archivo, el sistema de entrada usará el diseño de teclas predeterminado.

Los espacios del nombre se convierten en guiones bajos durante la búsqueda.

Consulta la documentación del archivo de diseño clave para obtener más detalles.

teclado.caracteres

Definición: keyboard.characterMap = <nombre>

Especifica el nombre del archivo de mapa de caracteres clave asociado con el dispositivo de entrada. excepto la extensión .kcm. Si no se encuentra este archivo, el sistema de entrada usará el mapa de caracteres clave predeterminado.

Los espacios del 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.

teclado.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 direccionales del teclado rotan cuando el valor cambios de orientación de la pantalla asociados.

  • Si el valor es 0, el teclado es inmune a los cambios de orientación de la pantalla.

El valor predeterminado es 0.

El reconocimiento de orientación se usa para admitir la rotación de las teclas direccionales del teclado como el Motorola Droid. Por ejemplo, cuando se rota el dispositivo en el sentido de las manecillas del reloj 90 grados desde su orientación natural, KEYCODE_DPAD_UP es se reasignó para producir KEYCODE_DPAD_RIGHT desde el termina apuntando 'derecha' cuando el dispositivo se mantiene en esa orientación.

teclado.builtIn

Definición: keyboard.builtIn = 0 | 1

Especifica si el teclado es el integrado (conectado físicamente) teclado.

El valor predeterminado es 1 si el nombre del dispositivo termina en -keypad; de lo contrario, es 0.

Al teclado integrado siempre se le asigna un ID de dispositivo de 0. Otros teclados no integrados reciben ID de dispositivos únicos distintos de cero.

El uso de un ID de 0 para el teclado integrado es importante para el mantenimiento compatibilidad con el campo KeyCharacterMap.BUILT_IN_KEYBOARD, que especifica El ID del teclado integrado y tiene un valor de 0. Este campo se dado que dejó de estar disponible en la API, pero es posible que las aplicaciones más antiguas aún lo utilicen.

Un teclado de funciones especiales (uno cuyo mapa de caracteres de tecla especifica una tipo de SPECIAL_FUNCTION) nunca se registrarán como el teclado integrado. independientemente de la configuración de esta propiedad. Esto se debe a que una función especial el teclado está, por definición, no está diseñado para usarse con la escritura 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 da por sentado que todos los teclados están conectados físicamente y reconocen la orientación. Predeterminado El diseño de la clave y el mapa de caracteres clave se denominaba qwerty en lugar de Generic. La clave también era muy diferente y el framework no era compatible Teclados completos tipo PC o externos.

Cuando actualices dispositivos a Honeycomb, asegúrate de crear o actualizar las configuración y archivos de mapas de claves.

Usos de HID, códigos de teclas de Linux y códigos de teclas de Android

El sistema se refiere a las claves que usan varios identificadores diferentes, según el capa de abstracción.

En el caso de los dispositivos HID, cada clave tiene un uso de HID asociado. El hid-input de Linux el controlador y los controladores HID de proveedores relacionados y específicos del dispositivo son responsables para analizar informes HID y asignar usos de HID a códigos de teclas de Linux.

A medida que Android lee los eventos EV_KEY del kernel de Linux, traduce cada uno de Linux en su código de tecla de Android correspondiente de acuerdo con el archivo de diseño de claves del dispositivo.

Cuando el evento clave se envía a una aplicación, el android.view.KeyEvent informa el código de clave de Linux como el valor de getScanCode() y el Código de clave de Android como valor de getKeyCode() A los efectos del solo es importante el valor de getKeyCode().

Ten en cuenta que Android no utiliza la información de uso de HID ni pasan a las aplicaciones.

Tablas de códigos

En las siguientes tablas, se muestra cómo los usos de HID, los códigos de teclas de Linux y Android los códigos de tecla están relacionados entre sí.

La columna LKC especifica el código de clave de Linux en hexadecimal.

La columna AKC especifica el código de clave de Android en hexadecimal.

La columna Notes 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 de Android incluir esta clave en su mapa de claves predeterminado. Varias filas se se muestra en los casos en los que el mapa de claves predeterminado cambia entre versiones. La versión más antigua que se indicó es la 1.6.

  • En Gingerbread (2.3) y versiones anteriores, el mapa de claves predeterminado era qwerty.kl Este mapa de claves se diseñó solo para usarse con la plataforma emulador y no estaba diseñado para usarse para admitir arquitecturas teclados externos. Sin embargo, algunos OEMs agregaron Bluetooth compatibilidad del teclado con la plataforma y dependió de qwerty.kl para proporcionar las asignaciones de teclado necesarias. Por lo tanto, estos Los mapeos más antiguos pueden ser de interés para los OEM que están creando periféricos para estos dispositivos en particular. Ten en cuenta que las asignaciones son muy diferentes de los actuales, especialmente con respecto al tratamiento de la clave HOME. Se recomienda que todos los periféricos nuevos se desarrollen según la normativa Honeycomb o más mapas de claves 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 estilo PC. La mayoría de las funciones de los teclados HID estándar deberían funcionar. de la caja.

La asignación de códigos de teclas puede variar según las versiones del kernel de Linux y Android. Cuando se sabe que ocurrieron cambios en los mapas de claves predeterminados de Android, se indican en la columna de versión.

Es posible que los controladores de claves y los controladores HID específicos de cada dispositivo apliquen asignaciones diferentes. que las que se indican aquí.

Página del teclado y teclado HID (0x07)

Uso de HID Nombre de uso de HID LKC Nombre interno de la clave de Linux Versión AKC Nombre interno de la clave de Android Notas
0x07 0x0001 Desplazamiento de error del teclado
0x07 0x0002 Error POST del teclado
0x07 0x0003 Error de teclado no definido
0x07 0x0004. Teclado a y A 0x001e CLAVE_A 1.6 0 × 001 d KEYCODE_A 1
0x07 0x0005. Teclado B y B 0 × 0030 CLAVE_B 1.6 0x001e KEYCODE_B 1
0x07 0x0006 Teclado C y C 0x002e CLAVE_C 1.6 0 × 001 f KEYCODE_C 1
0x07 0x0007. Teclados d y D 0 × 0020 CLAVE_D 1.6 0 × 0020 KEYCODE_D 1
0x07 0x0008 Teclados E y E 0 × 0012 CLAVE_E 1.6 0 × 0021 KEYCODE_E 1
0x07 0x0009. Teclado F y F 0 × 0021 CLAVE_F 1.6 0 × 0022 KEYCODE_F 1
0x07 0x000a Teclado G y G 0 × 0022 CLAVE_G 1.6 0x0023 KEYCODE_G 1
0x07 0x000b Teclado H y H 0x0023 CLAVE_H 1.6 0x0024 KEYCODE_H 1
0x07 0x000c Teclado i e I 0 × 0017 CLAVE_I 1.6 0 × 0025 KEYCODE_I 1
0x07 0x000d Teclado j y J 0x0024 CLAVE_J 1.6 0 × 0026 KEYCODE_J 1
0x07 0x000e Teclado k y K 0 × 0025 CLAVE_K 1.6 0x0027 KEYCODE_K 1
0x07 0x000f Teclados l y L 0 × 0026 CLAVE_L 1.6 0 × 0028 KEYCODE_L 1
0x07 0x0010 Teclado m y M 0 × 0032 CLAVE_M 1.6 0 × 0029 KEYCODE_M 1
0x07 0x0011. Teclado n y N 0 × 0031 CLAVE_N 1.6 0x002a KEYCODE_N 1
0x07 0x0012 Teclado O y O 0 × 0018 CLAVE_O 1.6 0x002b KEYCODE_O 1
0x07 0x0013 P y P del teclado 0 × 0019 CLAVE_P 1.6 0x002c KEYCODE_P 1
0x07 0x0014. Q y Q del teclado 0 × 0010 CLAVE_P 1.6 0x002d KEYCODE_Q 1
0x07 0x0015. Teclado r y R 0 × 0013 CLAVE_R 1.6 0x002e KEYCODE_R 1
0x07 0x0016 Teclado s y S 0 × 001 f CLAVE_S 1.6 0x002f KEYCODE_S 1
0x07 0x0017 Teclado t y T 0 × 0014 CLAVE_T 1.6 0 × 0030 KEYCODE_T 1
0x07 0x0018 Teclado u y U 0 × 0016 CLAVE_U 1.6 0 × 0031 KEYCODE_U 1
0x07 0x0019 Teclado V y V 0x002f CLAVE_V 1.6 0 × 0032 KEYCODE_V 1
0x07 0x001a Teclado w y W 0 × 0011 CLAVE_O 1.6 0x0033 KEYCODE_W 1
0x07 0x001b Teclado x y X 0x002d CLAVE_X 1.6 0 × 0034 KEYCODE_X 1
0x07 0x001c Teclado Y e Y 0 × 0015 CLAVE_Y 1.6 0 × 0035 KEYCODE_Y 1
0x07 0x001d Teclado z y Z 0x002c CLAVE_Z 1.6 0 × 0036 KEYCODE_Z 1
0x07 0x001e Teclado 1 y ! 0x0002 CLAVE_1 1.6 0 × 0008 KEYCODE_1 1
0x07 0x001f Teclado 2 y @ 0 × 0003 CLAVE_2 1.6 0 × 0009 KEYCODE_2 1
0x07 0x0020 Teclado 3 y # 0 × 0004 CLAVE_3 1.6 0x000a KEYCODE_3 1
0x07 0x0021 Teclado 4 y $ 0x0005 CLAVE_4 1.6 0x000b KEYCODE_4 1
0x07 0x0022 Teclado 5 y % 0 × 0006 CLAVE_5 1.6 0x000c KEYCODE_5 1
0x07 0x0023 Teclado 6 y ^ 0 × 0007 CLAVE_6 1.6 0x000d KEYCODE_6 1
0x07 0x0024 Teclado 7 y & 0 × 0008 CLAVE_7 1.6 0x000e KEYCODE_7 1
0x07 0x0025 Teclado 8 y * 0 × 0009 CLAVE_8 1.6 0x000f KEYCODE_8 1
0x07 0x0026 Teclado 9 y ( 0x000a CLAVE_9 1.6 0 × 0010 KEYCODE_9 1
0x07 0x0027 Teclado 0 y ) 0x000b CLAVE_0 1.6 0 × 0007 KEYCODE_0 1
0x07 0x0028 Retorno del teclado (ENTER) 0x001c CLAVE_INTRO 1.6 0x0042 KEYCODE_ENTER 1
0x07 0x0029 Teclado ESCAPE 0x0001 CLAVE_ESC 3.0 0x006f KEYCODE_ESCAPE
"" "" "" "" 2.3 0 × 0004 KEYCODE_BACK
0x07 0x002a Teclado DELETE (retroceso) 0x000e CLAVE_RETROCESO 1.6 0x0043 KEYCODE_DEL
0x07 0x002b Pestaña de teclado 0x000f PESTAÑA_CLAVE 1.6 0 × 003 d PESTAÑA KEYCODE_TAB
0x07 0x002c Barra espaciadora del teclado 0 × 0039 KEY_SPACE 1.6 0x003e KEYCODE_SPACE
0x07 0x002d Teclado - y _ 0x000c MINUS_CLAVE 1.6 0x0045 KEYCODE_MINUS 1
0x07 0x002e Teclado = y + 0x000d KEY_EQUAL 1.6 0x0046 KEYCODE_EQUALS 1
0x07 0x002f Teclado [ y { 0x001a CLAVE_IZQUIERDABRACE 1.6 0x0047 KEYCODE_LEFT_BRACKET 1
0x07 0x0030 Teclado ] y } 0x001b CLAVE_DERECHABRACE 1.6 0x0048 KEYCODE_RIGHT_BRACKET 1
0x07 0x0031 Teclado \ y | 0x002b KEY_BACKSLASH 1.6 0x0049 KEYCODE_BACKSLASH 1
0x07 0x0032 Teclado fuera de EE.UU., # y ~ 0x002b KEY_BACKSLASH 1.6 0x0049 KEYCODE_BACKSLASH 1
0x07 0x0033 Teclado ; y 0x0027 KEY_SEMICOLON 1.6 0x004a KEYCODE_SEMICOLON 1
0x07 0x0034 Teclado " y " 0 × 0028 CLAVE_APOSTROFO 1.6 0x004b KEYCODE_APOSTROPHE 1
0x07 0x0035 Teclado ` y ~ 0 × 0029 CLAVE_GRAVE 3.0 0x0044 KEYCODE_GRAVE 1
0x07 0x0036 Teclado , y < 0x0033 COMMA_CLAVE 1.6 0 × 0037 KEYCODE_COMMA 1
0x07 0x0037 Teclado . y > 0 × 0034 CLAVE_PUNTO 1.6 0 × 0038 KEYCODE_PERIOD 1
0x07 0x0038 Teclado / y ? 0 × 0035 CLAVE_SLASH 1.6 0x004c KEYCODE_SLASH 1
0x07 0x0039 Bloq Mayús del teclado 0x003a BLOQUEO DE MAYÚSCULAS 3.0 0x0073 KEYCODE_CAPS_LOCK
0x07 0x003a Teclado F1 0x003b CLAVE_F1 3.0 0 × 0083 KEYCODE_F1
"" "" "" "" 1.6 0 × 0052 KEYCODE_MENÚ
0x07 0x003b Teclado F2 0x003c CLAVE_F2 3.0 0 × 0084 KEYCODE_F2
"" "" "" "" 1.6 0x0002 KEYCODE_SOFT_RIGHT
0x07 0x003c Teclado F3 0 × 003 d CLAVE_F3 3.0 0 × 0085 KEYCODE_F3
"" "" "" "" 1.6 0x0005 KEYCODE_CALL
0x07 0x003d Teclado F4 0x003e CLAVE_F4 3.0 0 × 0086 KEYCODE_F4
"" "" "" "" 1.6 0 × 0006 KEYCODE_ENDLLAMADA
0x07 0x003e Teclado F5 0x003f CLAVE_F5 3.0 0x0087 KEYCODE_F5
0x07 0x003f Teclado F6 0 × 0040 CLAVE_F6 3.0 0 × 0088 KEYCODE_F6
0x07 0x0040 Teclado F7 0 × 0041 CLAVE_F7 3.0 0 × 0089 KEYCODE_F7
0x07 0x0041. Teclado F8 0x0042 CLAVE_F8 3.0 0x008a KEYCODE_F8
0x07 0x0042 Teclado F9 0x0043 CLAVE_F9 3.0 0x008b KEYCODE_F9
0x07 0x0043 Teclado F10 0x0044 CLAVE_F10 3.0 0x008c KEYCODE_F10
"" "" "" "" 2.3 0 × 0052 KEYCODE_MENÚ
0x07 0x0044. Teclado F11 0 × 0057 CLAVE_F11 3.0 0 × 008 d KEYCODE_F11
0x07 0x0045. Teclado F12 0 × 0058 CLAVE_F12 3.0 0x008e KEYCODE_F12
0x07 0x0046 Imprimir pantalla del teclado 0 × 0063 CLAVE_SYSRQ 3.0 0x0078 KEYCODE_SYSRQ
0x07 0x0047 Bloqueo de desplazamiento del teclado 0x0046 BLOQUEO DE DESPLAZAMIENTO 3.0 0x0074 KEYCODE_SCROLL_LOCK
0x07 0x0048 Pausa del teclado 0x0077 PAUSA_CLAVE 3.0 0x0079 KEYCODE_BREAK
0x07 0x0049 Inserción de teclado 0x006e INSERCIÓN DE CLAVE 3.0 0x007c KEYCODE_INSERT
0x07 0x004a Inicio del teclado 0 × 0066 PÁGINA_PRINCIPAL_CLAVE 3.0 0x007a KEYCODE_MOVE_HOME
"" "" "" "" 1.6 0 × 0003 PÁGINA PRINCIPAL DE KEYCODE_HOME
0x07 0x004b Teclado Re Pág 0 × 0068 KEY_RePág 3.0 0x005c KEYCODE_PAGE_UP
0x07 0x004c Teclado borrado adelante 0x006f ELIMINAR_CLAVE 3.0 0 × 0070 KEYCODE_FORWARD_DEL
0x07 0x004d Fin del teclado 0x006b CLAVE_END 3.0 0x007b KEYCODE_MOVE_END
"" "" "" "" 1.6 0 × 0006 KEYCODE_ENDLLAMADA
0x07 0x004e Teclado Av Pág 0 × 006 d KEY_PAGEDOWN 3.0 0 × 005 d KEYCODE_PAGE_DOWN
0x07 0x004f Flecha hacia la derecha del teclado 0x006a CLAVE_DERECHA 1.6 0 × 0016 KEYCODE_DPAD_RIGHT
0x07 0x0050 Flecha hacia la izquierda del teclado 0 × 0069 CLAVE_IZQUIERDA 1.6 0 × 0015 KEYCODE_DPAD_LEFT
0x07 0x0051. Flecha hacia abajo del teclado 0x006c CLAVE_ABAJO 1.6 0 × 0014 KEYCODE_DPAD_DOWN
0x07 0x0052 Flecha hacia arriba del teclado 0 × 0067 CLAVE_ARRIBA 1.6 0 × 0013 KEYCODE_DPAD_UP
0x07 0x0053 Bloq Num del teclado y Borrar 0x0045 KEY_NUMBLOQUEO 3.0 0x008f KEYCODE_NUM_LOCK
0x07 0x0054 Teclado / 0 × 0062 CLAVE_KPSLASH 3.0 0x009a KEYCODE_NUMPAD_DIVIDE
0x07 0x0055 Teclado * 0 × 0037 CLAVE_KPASTERISK 3.0 0x009b KEYCODE_NUMPAD_MULTIPLY
0x07 0x0056 Teclado - 0x004a CLAVE_KPMINUS 3.0 0x009c KEYCODE_NUMPAD_SUBTRACT
0x07 0x0057 Teclado + 0x004e KEY_KPPLUS 3.0 0 × 009 d KEYCODE_NUMPAD_ADD
0x07 0x0058 Teclado INTRO 0 × 0060 CLAVE_KPENTER 3.0 0x00a0 KEYCODE_NUMPAD_ENTER
0x07 0x0059 Teclado 1 y Fin 0x004f CLAVE_KP1 3.0 0 × 0091 KEYCODE_NUMPAD_1
0x07 0x005a Teclado 2 y flecha hacia abajo 0x0050 CLAVE_KP2 3.0 0 × 0092 KEYCODE_NUMPAD_2
0x07 0x005b Teclado 3 y PageDn 0 × 0051 CLAVE_KP3 3.0 0x0093 KEYCODE_NUMPAD_3
0x07 0x005c Teclado 4 y flecha hacia la izquierda 0x004b CLAVE_KP4 3.0 0 × 0094 KEYCODE_NUMPAD_4
0x07 0x005d Teclado 5 0x004c CLAVE_KP5 3.0 0 × 0095 KEYCODE_NUMPAD_5
0x07 0x005e Teclado 6 y flecha hacia la derecha 0 x 004 días CLAVE_KP6 3.0 0 × 0096 KEYCODE_NUMPAD_6
0x07 0x005f Teclado 7 y Inicio 0x0047 CLAVE_KP7 3.0 0 × 0097 KEYCODE_NUMPAD_7
0x07 0x0060 Teclado 8 y flecha hacia arriba 0x0048 CLAVE_KP8 3.0 0 × 0098 KEYCODE_NUMPAD_8
0x07 0x0061. Teclado 9 y Re Pág 0x0049 CLAVE_KP9 3.0 0 × 0099 KEYCODE_NUMPAD_9
0x07 0x0062 Teclado 0 e Insertar 0 × 0052 CLAVE_KP0 3.0 0 × 0090 KEYCODE_NUMPAD_0
0x07 0x0063 Teclado . y Borrar 0 × 0053 CLAVE_KPDOT 3.0 0x009e KEYCODE_NUMPAD_DOT
0x07 0x0064. Teclado de fuera de EE.UU. \ y | 0 × 0056 KEY_102ND 4.0 0x0049 KEYCODE_BACKSLASH 1
0x07 0x0065. Aplicación del teclado 0x007f CLAVE_REDACTAR 3.0 0 × 0052 KEYCODE_MENÚ
"" "" "" "" 1.6 0 × 0054 KEYCODE_SEARCH
0x07 0x0066 Potencia del teclado 0x0074 POTENCIA_CLAVE 1.6 0x001a KEYCODE_POWER
0x07 0x0067 Teclado = 0x0075 CLAVE_KPEQUAL 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 KEY_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. Ejecución del teclado 0 × 0086 CLAVE_ABRIR
0x07 0x0075. Ayuda del teclado 0x008a CLAVE_AYUDA
0x07 0x0076 Menú del teclado 0 × 0082 PROPUESTAS_CLAVE
0x07 0x0077 Selección de teclado 0 × 0084 CLAVE_FRENTE
0x07 0x0078 Detención del teclado 0 × 0080 KEY_STOP 3.0 0 × 0056 KEYCODE_MEDIA_STOP
0x07 0x0079 Teclado de nuevo 0 × 0081 CLAVE_OTRA VEZ
0x07 0x007a Deshacer el teclado 0 × 0083 DESHACER CLAVE
0x07 0x007b Corte del teclado 0 × 0089 CORTE_CLAVE
0x07 0x007c Texto del teclado 0 × 0085 COPIA_CLAVE
0x07 0x007d Pegar con el teclado 0x0087 PESTAÑA_CLAVE
0x07 0x007e Búsqueda del teclado 0 × 0088 BUSCAR_CLAVE
0x07 0x007f Silenciar el teclado 0x0071 CLAVE_SILENCIAR 3.0 0x00a4 KEYCODE_VOLUME_MUTE
0x07 0x0080 Subir volumen del teclado 0x0073 VOLUMEN_CLAVE 1.6 0 × 0018 KEYCODE_VOLUME_UP
0x07 0x0081 Bajar volumen del teclado 0x0072 VOLUMEN DE CLAVES 1.6 0 × 0019 KEYCODE_VOLUME_DOWN
0x07 0x0082 Bloq Mayús del teclado
0x07 0x0083 Bloqueo numérico del teclado
0x07 0x0084 Bloqueo del 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 0 × 0059 CLAVE_RO
0x07 0x0088 Teclado internacional2 0 × 005 d CLAVE_KATAKANAHIRAGANA
0x07 0x0089 Teclado internacional3 0x007c KEY_YEN
0x07 0x008a Teclado internacional4 0x005c CLAVE_HENKAN
0x07 0x008b Teclado internacional5 0x005e CLAVE_MUHENKAN
0x07 0x008c Teclado internacional6 0 × 005 f CLAVE_KPJPCOMMA
0x07 0x008d Teclado internacional7
0x07 0x008e Teclado internacional8
0x07 0x008f Teclado internacional 9
0x07 0x0090 LANG1 del teclado 0x007a CLAVE_HANGEUL
0x07 0x0091. LANG2 del teclado 0x007b CLAVE_HANJA
0x07 0x0092 Teclado LANG3 0x005a CLAVE_KATAKANA
0x07 0x0093 Teclado LANG4 0x005b CLAVE_HIRAGANA
0x07 0x0094. Teclado LANG5 0 × 0055 CLAVE_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 Cancelar teclado
0x07 0x009c Teclado claro
0x07 0x009d Teclado anterior
0x07 0x009e Retorno del teclado
0x07 0x009f Separador de teclado
0x07 0x00a0 Teclado de salida
0x07 0x00a1 Opera de teclado
0x07 0x00a2 Teclado claro/de nuevo
0x07 0x00a3 Utilidades y herramientas para el teclado
0x07 0x00a4 Teclado ExSel
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 CLAVE_KPLEFTPAREN 3.0 0x00a2 KEYCODE_NUMPAD_LEFT_PAREN
0x07 0x00b7 teclado). 0x00b4 CLAVE_KPRIGHTPAREN 3.0 0x00a3 KEYCODE_NUMPAD_RIGHT_PAREN
0x07 0x00b8 Teclado {
0x07 0x00b9 Teclado }
0x07 0x00ba Pestaña del 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 XOR del teclado
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 Núm. de 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 memoria del teclado
0x07 0x00d3 Agregar 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 Borrar teclado
0x07 0x00d9 Borrar entrada del teclado
0x07 0x00da Binario del teclado
0x07 0x00db Teclado octal
0x07 0x00dc Número decimal del teclado
0x07 0x00dd Teclado hexadecimal
0x07 0x00e0 Control izquierdo del teclado 0 × 001 d KEY_LEFTCTRL 3.0 0x0071 KEYCODE_CTRL_LEFT
0x07 0x00e1 Mayúsculas del teclado a la izquierda 0x002a KEY_LEFTSHIFT 1.6 0x003b KEYCODE_SHIFT_LEFT
0x07 0x00e2 Alt izquierdo del teclado 0 × 0038 KEY_LEFTALT 1.6 0 × 0039 KEYCODE_ALT_LEFT
0x07 0x00e3 GUI izquierdo del teclado 0 × 007 d KEY_LEFTMETA 3.0 0x0075 KEYCODE_META_LEFT
0x07 0x00e4 Control derecho del teclado 0 × 0061 CLAVE_DERECHACTRL 3.0 0x0072 KEYCODE_CTRL_RIGHT
0x07 0x00e5 Mayúsculas del teclado a la derecha 0 × 0036 KEY_RIGHTSHIFT 1.6 0x003c KEYCODE_SHIFT_RIGHT
0x07 0x00e6 Alt derecho del teclado 0 × 0064 CLAVE_DERECHAALT 1.6 0x003a KEYCODE_ALT_RIGHT
0x07 0x00e7 GUI derecho del teclado 0x007e CLAVE_RIGHTMETA 3.0 0x0076 KEYCODE_META_RIGHT
0x07 0x00e8 0x00a4 CLAVE_PLAYPAUSA 3.0 0 × 0055 KEYCODE_MEDIA_PLAY_PAUSA
0x07 0x00e9 0x00a6 KEY_STOPCD 3.0 0 × 0056 KEYCODE_MEDIA_STOP
0x07 0x00c 0x00a5 CLAVE_PREVIOUSSONG 3.0 0 × 0058 KEYCODE_MEDIA_PREVIO
0x07 0x00eb 0x00a3 CLAVE_NEXTSONG 3.0 0 × 0057 KEYCODE_MEDIA_NEXT
0x07 0x00ec 0x00a1 CLAVE_EJECTCD 3.0 0 × 0081 KEYCODE_MEDIA_EJECT
0x07 0x00ed 0x0073 VOLUMEN_CLAVE 1.6 0 × 0018 KEYCODE_VOLUME_UP
0x07 0x00ee 0x0072 VOLUMEN DE CLAVES 1.6 0 × 0019 KEYCODE_VOLUME_DOWN
0x07 0x00ef 0x0071 CLAVE_SILENCIAR 3.0 0x00a4 KEYCODE_VOLUME_MUTE
0x07 0x00f0 0 × 0096 KEY_WWW 1.6 0 × 0040 KEYCODE_EXPLORER
0x07 0x00f1 0x009e ATRÁS DE CLAVE 1.6 0 × 0004 KEYCODE_BACK
0x07 0x00f2 0x009f REENVIAR_CLAVE 3.0 0 × 007 d KEYCODE_FORWARD
0x07 0x00f3 0 × 0080 KEY_STOP 3.0 0 × 0056 KEYCODE_MEDIA_STOP
0x07 0x00f4 0 × 0088 BUSCAR_CLAVE
0x07 0x00f5 0x00b1 DESPLAZAMIENTO_CLAVE 3.0 0x005c KEYCODE_PAGE_UP
0x07 0x00f6 0x00b2 DESPLAZAMIENTO_CLAVE 3.0 0 × 005 d KEYCODE_PAGE_DOWN
0x07 0x00f7 0x00b0 EDICIÓN_CLAVE
0x07 0x00f8 0x008e CLAVE_SUEÑO
0x07 0x00f9 0 × 0098 KEY_COFFEE 4.0 0x001a KEYCODE_POWER
0x07 0x00fa 0x00anuncios ACTUALIZAR_CLAVE
0x07 0x00fb 0x008c CLAVE_CALC 4.0.3 0x00d2 CÓDIGO_DE_CLAVE_CALCULATORA

Página de escritorio genérica de HID (0x01)

Uso de HID Nombre de uso de HID LKC Nombre interno de la clave de Linux Versión AKC Nombre interno de la clave de Android Notas
0x01 0x0081 Apagado del sistema 0x0074 POTENCIA_CLAVE 1.6 0x001a KEYCODE_POWER
0x01 0x0082 Sueño del sistema 0x008e CLAVE_SUEÑO 4.0 0x001a KEYCODE_POWER
0x01 0x0083. Activación del sistema 0x008f DESPERTAR_CLAVE 4.0 0x001a KEYCODE_POWER
0x01 0x0084 Menú contextual del sistema
0x01 0x0085 Menú principal del sistema
0x01 0x0086 Menú de apps del sistema
0x01 0x0087. Ayuda del menú del sistema
0x01 0x0088 Salir del menú del sistema
0x01 0x0089 Seleccionar menú del sistema
0x01 0x008a Menú del sistema a la derecha
0x01 0x008b Menú del sistema a la izquierda
0x01 0x008c Menú del sistema hacia arriba
0x01 0x008d Menú del sistema hacia abajo
0x01 0x008e Reinicio en frío del sistema
0x01 0x008f Reinicio en tibio del sistema
0x01 0x00a0 Conector del sistema
0x01 0x00a1 Desanclar el sistema
0x01 0x00a2 Configuración del sistema
0x01 0x00a3 Receso del sistema
0x01 0x00a4 Interrupción del depurador del sistema
0x01 0x00a5 Receso de aplicaciones
0x01 0x00a6 Receso del depurador de aplicaciones
0x01 0x00a7 Silenciar la bocina 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 tanto
0x01 0x00b4 Sistema de pantalla doble
0x01 0x00b5 Activar o desactivar pantalla del sistema (interno/ext)
0x01 0x00b6 Cambio de pantalla del sistema Prim./s
0x01 0x00b7 Pantalla del sistema con ajuste de escala automático LCD

Página para consumidores de HID (0x0c)

Uso de HID Nombre de uso de HID LKC Nombre interno de la clave de Linux Versión AKC Nombre interno de la clave de Android Notas
0x0c 0x0030 Energía
0x0c 0x0031 Restablecer
0x0c 0x0032 Sueño
0x0c 0x0033 Sueño después de
0x0c 0x0034 Modo de suspensión 0x008e CLAVE_SUEÑO 4.0 0x001a KEYCODE_POWER
0x0c 0x0040 Menú 0x008b CLAVE_MENÚ 1.6 0 × 0052 KEYCODE_MENÚ
0x0c 0x0041 Selección del menú
0x0c 0x0042 Menú hacia arriba
0x0c 0x0043 Menú hacia abajo
0x0c 0x0044 Menú a la izquierda
0x0c 0x0045 Menú a la derecha 0 × 0181 CLAVE_DERECHA
0x0c 0x0046 Escape de menú
0x0c 0x0047 Aumento del valor del menú
0x0c 0x0048 Disminución del valor del menú
0x0c 0x0067 Activar o desactivar pantalla en pantalla 0x00ab KEYCODE_WINDOW Se agregó en aosp/1365553
0x0c 0x0069 Botón de menú rojo 0 × 18e CLAVE_ROJO 0x00b7 KEYCODE_PROG_RED Se agregó en aosp/1388616
0x0c 0x006a Botón de menú verde 0 × 18 f CLAVE_VERDE 0x00b8 KEYCODE_PROG_VERDE Se agregó en aosp/1388616
0x0c 0x006b Botón de menú azul 0 × 191 CLAVE_AZUL 0x00ba KEYCODE_PROG_BLUE Se agregó en aosp/1388616
0x0c 0x006c Botón de menú amarillo 0 × 190 CLAVE_AMARILLO 0x00b9 KEYCODE_PROG_AMARILLO Se agregó en aosp/1388616
0x0c 0x0081 Asignar la selección
0x0c 0x0082 Paso de modo
0x0c 0x0083 Último método de recuperación 0 × 0195 ÚLTIMA_CLAVE 0×e5 KEYCODE_LAST_CHANNEL Se agregó en aosp/1365551
0x0c 0x0084 Ingresar canal
0x0c 0x0085 Pedir película
0x0c 0x0088 Computadora de selección de medios 0 × 0178 KEY_PC
0x0c 0x0089 TV de selección de contenido multimedia 0 × 0179 KEY_TV 3.0 0x00aa KEYCODE_TV
0x0c 0x008a Selección de contenido multimedia WWW 0 × 0096 KEY_WWW 1.6 0 × 0040 KEYCODE_EXPLORER
0x0c 0x008b DVD de selección de contenido multimedia 0 × 0185 CLAVE_DVD
0x0c 0x008c Selección de contenido multimedia 0x00a9 CLAVE_TELÉFONO 3.0 0x0005 KEYCODE_CALL
0x0c 0x008d Guía de programas de selección de medios 0x016a PROGRAMA_CLAVE 3.0 0 × 00 ac GUÍA_DE_CÓDIGO_CLAVE
0x0c 0x008e Video para teléfono de selección de medios 0x01a0 KEY_VIDEOPHONE
0x0c 0x008f Juegos de Media Select 0x01a1 JUEGOS_CLAVE
0x0c 0x0090 Mensajes de selección de contenido multimedia 0x018c CLAVE_MEMO
0x0c 0x0091 CD de selección de contenido multimedia 0x017f KEY_CD
0x0c 0x0092 VCR de selección de contenido multimedia 0x017b KEY_VCR
0x0c 0x0093 Sintonizador de selección de contenido multimedia 0 × 0182 AJUSTE DE CLAVES
0x0c 0x0094 Salir 0x00ae CLAVE_SALIR
0x0c 0x0095 Ayuda 0x008a CLAVE_AYUDA
0x0c 0x0096 Cinta de selección de contenido multimedia 0 × 0180 CLAVE_CITA
0x0c 0x0097 Cable de selección de contenido multimedia 0x017a CLAVE_TV2
0x0c 0x0098 Satélite de selección de medios 0 × 017 d SÁB_CLAVE
0x0c 0x0099 Seguridad de selección de contenido multimedia
0x0c 0x009a Página principal de Media Select 0x016e KEY_PVR 3.0 0x00anuncios KEYCODE_DVR
0x0c 0x0061 Subtítulos 0 × 0172 SUBTÍTULO DE CLAVE 0×00af KEYCODE_CAPTIONS Se agregó en aosp/1365552
0x0c 0x009c Incremento de canal 0 × 0192 KEY_CHANNELUP 3.0 0x00a6 KEYCODE_CHANNEL_UP
0x0c 0x009d Decremento de canales 0 × 0193 KEY_CHANNELDOWN 3.0 0x00a7 KEYCODE_CHANNEL_DOWN
0x0c 0x009e SAP de selección de medios
0x0c 0x00a0 VCR Plus 0x017c KEY_VCR2
0x0c 0x00a1 Una vez
0x0c 0x00a2 Todos los días
0x0c 0x00a3 Semanal
0x0c 0x00a4 Mensual
0x0c 0x00b0 Reproducir 0x00cf KEY_PLAY 3.0 0x007e KEYCODE_MEDIA_PLAY
0x0c 0x00b1 Pausar 0x0077 PAUSA_CLAVE 3.0 0x0079 KEYCODE_BREAK
0x0c 0x00b2 Grabar 0x00a7 REGISTRO_CLAVE 3.0 0 × 0082 KEYCODE_MEDIA_RECORD
0x0c 0x00b3 Avanzar rápido 0x00d0 CLAVE_FASTFORWARD 3.0 0x005a KEYCODE_MEDIA_FAST_FORWARD
0x0c 0x00b4 Retroceder 0x00a8 CLAVE_REENVIAR 3.0 0 × 0059 KEYCODE_MEDIA_REWIND
0x0c 0x00b5 Buscar pista siguiente 0x00a3 CLAVE_NEXTSONG 3.0 0 × 0057 KEYCODE_MEDIA_NEXT
0x0c 0x00b6 Buscar pista anterior 0x00a5 CLAVE_PREVIOUSSONG 3.0 0 × 0058 KEYCODE_MEDIA_PREVIO
0x0c 0x00b7 Detener 0x00a6 KEY_STOPCD 3.0 0 × 0056 KEYCODE_MEDIA_STOP
0x0c 0x00b8 Expulsar 0x00a1 CLAVE_EJECTCD 3.0 0 × 0081 KEYCODE_MEDIA_EJECT
0x0c 0x00b9 Reproducción aleatoria
0x0c 0x00ba Seleccionar disco
0x0c 0x00bb Ingresar al 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 Borrar marca
0x0c 0x00c4 Repetir desde la marca
0x0c 0x00c5 Volver a la marca
0x0c 0x00c6 Avanzar marca de búsqueda
0x0c 0x00c7 Marca de búsqueda hacia atrás
0x0c 0x00c8 Restablecimiento del contador
0x0c 0x00c9 Mostrar contador
0x0c 0x00ca Incremento del seguimiento
0x0c 0x00cb Decremento del seguimiento
0x0c 0x00cc Detener / Expulsar
0x0c 0x00cd Reproducir/Pausar 0x00a4 CLAVE_PLAYPAUSA 3.0 0 × 0055 KEYCODE_MEDIA_PLAY_PAUSA
0x0c 0x00ce Reproducir / Omitir
0x0c 0x00e2 Silenciar 0x0071 CLAVE_SILENCIAR 3.0 0x00a4 KEYCODE_VOLUME_MUTE
0x0c 0x00e5 Refuerzo de graves 0x00d1 CLAVE_BASSBOOST
0x0c 0x00e6 Modo envolvente
0x0c 0x00e7 Volumen
0x0c 0x00e8 MPX
0x0c 0x00e9 Aumentar volumen 0x0073 VOLUMEN_CLAVE 1.6 0 × 0018 KEYCODE_VOLUME_UP
0x0c 0x00c Disminuir el volumen 0x0072 VOLUMEN DE CLAVES 1.6 0 × 0019 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 MARCADORES_CLAVE 3.0 0x00ae KEYCODE_BOOKMARK
0x0c 0x0183 Configuración de control del consumidor de AL 0x00ab CONFIGURACIÓN_CLAVE 4.0.3 0x00d1 KEYCODE_MÚSICA
0x0c 0x0184 Procesador de textos de AL 0x01a5 PROCESADOR_DE_PALABRAS CLAVE
0x0c 0x0185 Editor de texto de AL 0x01a6 EDITOR_DE_CLAVES
0x0c 0x0186 Hoja de cálculo de AL 0x01a7 HOJA_DE_DE_CLAVES_DE_CLAVE
0x0c 0x0187 Editor de gráficos de AL 0x01a8 EDITOR_DE_GRÁFICOS_CLAVE
0x0c 0x0188 App de presentación de AL 0x01a9 PRESENTACIÓN_CLAVE
0x0c 0x0189 App de base de datos de AL 0x01aa BASE_DE_DATOS
0x0c 0x018a Lector de correo electrónico de AL 0x009b CORREO ELECTRÓNICO_CLAVE 1.6 0 × 0041 KEYCODE_ENSAR
0x0c 0x018b Lector de noticias de Alabama 0x01ab NOTICIAS_CLAVE
0x0c 0x018c Mensaje de voz de AL 0 × 01ac CLAVE_VOICEMAIL
0x0c 0x018d Contactos y libreta de direcciones de AL 0x01anuncio KEY_ADDRESSLIBRA 4.0.3 0x00cf KEYCODE_CONTACTS
0x0c 0x018e Calendario y agenda de AL 0 × 018 d KEY_CALENDARIO 4.0.3 0x00d0 KEYCODE_CALENDAR
0x0c 0x018f Tarea de AL / Gerente de proyectos
0x0c 0x0190 Registro / diario / cronograma de AL
0x0c 0x0191 Checkbook o finanzas de Alabama 0x00 dB KEY_FINANCE
0x0c 0x0192 AL Calculator 0x008c CLAVE_CALC 4.0.3 0x00d2 CÓDIGO_DE_CLAVE_CALCULATORA
0x0c 0x0193 Captura/Reproducción de audio y video AL
0x0c 0x0194 Navegador de máquina local de AL 0 × 0090 KEY_FILE
0x0c 0x0195 Navegador LAN/WAN de AL
0x0c 0x0196 Navegador de Internet de Alabama 0 × 0096 KEY_WWW 1.6 0 × 0040 KEYCODE_EXPLORER
0x0c 0x0197 AL Remote Networking/ISP Connect
0x0c 0x0198 Conferencia de red de AL
0x0c 0x0199 Chat en red de AL 0x00d8 CLAVE_CHAT
0x0c 0x019a AL Telephony / Dialer
0x0c 0x019b Inicio de sesión de AL
0x0c 0x019c Cierre de sesión en AL 0x01b1 DESTINO_CLAVE
0x0c 0x019d Inicio de sesión y cierre de sesión en AL
0x0c 0x019e Bloqueo de terminal de AL / Protector de pantalla 0 × 0098 KEY_COFFEE 4.0 0x001a KEYCODE_POWER
0x0c 0x019f Panel de control de AL
0x0c 0x01a0 Procesador de línea de comandos de AL / Ejecución
0x0c 0x01a1 Proceso de AL / Administrador de tareas
0x0c 0x01a2 AL Seleccionar tarea / aplicación
0x0c 0x01a3 Tarea / aplicación de AL Next
0x0c 0x01a4 Tarea o aplicación anterior de AL
0x0c 0x01a5 Tarea de detención preventiva de AL / Aplicación.
0x0c 0x01a6 Centro de ayuda de AL integrado 0x008a CLAVE_AYUDA
0x0c 0x01a7 Documentos de AL 0x00eb DOCUMENTOS_CLAVE
0x0c 0x01a8 Tesauro de la lengua inglesa
0x0c 0x01a9 Diccionario de AL
0x0c 0x01aa AL Escritorio
0x0c 0x01ab Corrector ortográfico de AL 0x01b0 VERIFICACIÓN_DE_PROYECTO_DE_CLAVE
0x0c 0x01ac Verificación gramatical de AL
0x0c 0x01anuncio Estado de AL Wireless
0x0c 0x01ae Diseño del teclado AL
0x0c 0x01af Protección contra virus de AL
0x0c 0x01b0 Encriptación de AL
0x0c 0x01b1 Protector de pantalla (AL)
0x0c 0x01b2 Alarmas de AL
0x0c 0x01b3 Reloj de AL
0x0c 0x01b4 Navegador de archivos AL
0x0c 0x01b5 Estado de alimentación de AL
0x0c 0x01b6 Navegador de imágenes AL 0x00e2 CONTENIDO CLAVE_MEDIA 3.0 0x004f KEYCODE_HEADSETHOOK
0x0c 0x01b7 Navegador de audio automático 0x00d5 SONIDO_CLAVE 4.0.3 0x00d1 KEYCODE_MÚSICA
0x0c 0x01b8 Navegador de películas de Alabama
0x0c 0x01b9 Administrador de derechos digitales de Alabama
0x0c 0x01ba Billetera digital de AL
0x0c 0x01bc AL Instant Messaging 0x01ae CLAVE_MESSENGER
0x0c 0x01bd Navegador de sugerencias y funciones del OEM de Alabama 0 × 0166 INFORMACIÓN_CLAVE
0x0c 0x01be Ayuda para OEM de Alabama
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 (AL)
0x0c 0x01c2 Información / ayuda de SmartCard de AL
0x0c 0x01c3 Navegador de mercados y finanzas de Alabama
0x0c 0x01c4 Navegador de noticias personalizado de Alabama
0x0c 0x01c5 Navegador de actividad en línea de AL
0x0c 0x01c6 AL Research / Navegador de búsqueda
0x0c 0x01c7 Reproductor de audio de Alemania
0x0c 0x0201 Nuevo aire acondicionado 0x00b5 CLAVE_NUEVA
0x0c 0x0202 Apertura de aire acondicionado 0 × 0086 CLAVE_ABRIR
0x0c 0x0203 Cierre de AC 0x00ce CLAVE_CLOSE
0x0c 0x0204 Salida de CA 0x00ae CLAVE_SALIR
0x0c 0x0205 Maximizar AC
0x0c 0x0206 Minimizar AC
0x0c 0x0207 Ahorro de AC 0 x 00 cada uno CLAVE_GUARDAR
0x0c 0x0208 Impresión de AC 0x00d2 KEY_PRINT
0x0c 0x0209 Propiedades de aire acondicionado 0 × 0082 PROPUESTAS_CLAVE
0x0c 0x021a Deshacer AC 0 × 0083 DESHACER CLAVE
0x0c 0x021b Copia de AC 0 × 0085 COPIA_CLAVE
0x0c 0x021c Corte de CA 0 × 0089 CORTE_CLAVE
0x0c 0x021d Pega de AC 0x0087 PESTAÑA_CLAVE
0x0c 0x021e Seleccionar todo AC
0x0c 0x021f Búsqueda de AC 0 × 0088 BUSCAR_CLAVE
0x0c 0x0220 Búsqueda y reemplazo de AC
0x0c 0x0221 Búsqueda de AC 0x00d9 BÚSQUEDA_CLAVE 1.6 0 × 0054 KEYCODE_SEARCH
0x0c 0x0222 Ir a AC 0 × 0162 CLAVE_IR A
0x0c 0x0223 Casa de CA 0 × 00 ac PÁGINA_PRINCIPAL_CLAVE 3.0 0 × 0003 PÁGINA PRINCIPAL DE KEYCODE_HOME
0x0c 0x0224 Parte posterior de CA 0x009e ATRÁS DE CLAVE 1.6 0 × 0004 KEYCODE_BACK
0x0c 0x0225 Desviador de AC 0x009f REENVIAR_CLAVE 3.0 0 × 007 d KEYCODE_FORWARD
0x0c 0x0226 Parada de CA 0 × 0080 KEY_STOP 3.0 0 × 0056 KEYCODE_MEDIA_STOP
0x0c 0x0227 Actualización de AC 0x00anuncios ACTUALIZAR_CLAVE
0x0c 0x0228 Vínculo anterior de AC
0x0c 0x0229 Vínculo de AC Next
0x0c 0x022a Favoritos de AC 0x009c MARCADORES_CLAVE 3.0 0x00ae KEYCODE_BOOKMARK
0x0c 0x022b Historial de AC
0x0c 0x022c Suscripciones a AC
0x0c 0x022d Acercar el aire acondicionado 0x01a2 CLAVE_ZOOMIN
0x0c 0x022e Alejamiento de aire acondicionado 0x01a3 CLAVE_ZOOMOUT
0x0c 0x022f Zoom de CA 0x01a4 CLAVE_ZOOMRESET 2
0x0c 0x0230 Vista de pantalla completa de CA
0x0c 0x0231 Vista normal de CA
0x0c 0x0232 Activar o desactivar la vista de AC
0x0c 0x0233 Desplazamiento hacia arriba de AC 0x00b1 DESPLAZAMIENTO_CLAVE 3.0 0x005c KEYCODE_PAGE_UP
0x0c 0x0234 Desplazamiento hacia abajo de AC 0x00b2 DESPLAZAMIENTO_CLAVE 3.0 0 × 005 d KEYCODE_PAGE_DOWN
0x0c 0x0236 Barrido de CA a la izquierda
0x0c 0x0237 Barrido de CA a la derecha
0x0c 0x0239 Nueva ventana de AC
0x0c 0x023a Mosaico de aire acondicionado horizontalmente
0x0c 0x023b Mosaicos de aire exterior en forma vertical
0x0c 0x023c Formato de AC
0x0c 0x023d Edición de A/A
0x0c 0x023e AC en negrita
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 AC
0x0c 0x0244 Todas las mayúsculas de AC
0x0c 0x0245 Rotación de AC
0x0c 0x0246 Cambio de tamaño de AC
0x0c 0x0247 Giratorio de CA horizontal
0x0c 0x0248 Giratorio de CA vertical
0x0c 0x0249 Espejo de aire acondicionado horizontal
0x0c 0x024a Espejo de aire acondicionado vertical
0x0c 0x024b Seleccionar fuente AC
0x0c 0x024c Color de fuente AC
0x0c 0x024d Tamaño de fuente AC
0x0c 0x024e Justificación de AC a la izquierda
0x0c 0x024f Centro de justificación de AC (H)
0x0c 0x0250 Justificación de AC a la derecha
0x0c 0x0251 Bloque de justificación de AC (H)
0x0c 0x0252 Justificación de AC, parte superior
0x0c 0x0253 Centro de justificación de CA (V)
0x0c 0x0254 Parte inferior de AC Justify
0x0c 0x0255 Bloque de justificación de CA (V)
0x0c 0x0256 Disminución de sangría de AC
0x0c 0x0257 Aumento de sangría de AC
0x0c 0x0258 Lista numerada de AC
0x0c 0x0259 Numeración de reinicio de CA
0x0c 0x025a Lista con viñetas de AC
0x0c 0x025b Promoción de AC
0x0c 0x025c Descender de nivel en CA
0x0c 0x025d AC: Sí
0x0c 0x025e N.o de AC
0x0c 0x025f Cancelación de CA 0 × 00df CLAVE_CANCELACIÓN
0x0c 0x0260 Catálogo de AC
0x0c 0x0261 Compra / confirmación de la compra de AC
0x0c 0x0262 Agregar al carrito de AC
0x0c 0x0263 Expansión de AC
0x0c 0x0264 AC Expandir todo
0x0c 0x0265 Contracción de AC
0x0c 0x0266 Contraer todos los anuncios de CA
0x0c 0x0267 Vista previa de impresión AC
0x0c 0x0268 Pegado especial de AC
0x0c 0x0269 Modo de inserción de AC
0x0c 0x026a Eliminar AC
0x0c 0x026b Bloqueo de aire acondicionado
0x0c 0x026c Desbloqueo del aire acondicionado
0x0c 0x026d Protector de aire acondicionado
0x0c 0x026e Desprotección de CA
0x0c 0x026f Adjuntar comentario de AC
0x0c 0x0270 Eliminar comentario de AC
0x0c 0x0271 Comentario de vista de AC
0x0c 0x0272 Seleccionar palabra de AC
0x0c 0x0273 Seleccionar oración de AC
0x0c 0x0274 Seleccionar párrafo de AC
0x0c 0x0275 Columna de selección de AC
0x0c 0x0276 Seleccionar fila de AC
0x0c 0x0277 Mesa de selección de aire acondicionado
0x0c 0x0278 Objeto de selección de AC
0x0c 0x0279 Rehacer / repetición de AC 0x00b6 KEY_REDO
0x0c 0x027a Orden de AC
0x0c 0x027b Orden ascendente de AC
0x0c 0x027c Orden descendente de AC
0x0c 0x027d Filtro para aire acondicionado
0x0c 0x027e Reloj configurado para aire acondicionado
0x0c 0x027f Reloj con vista de aire acondicionado
0x0c 0x0280 Selección de zona horaria de AC
0x0c 0x0281 Edición de zonas horarias de AC
0x0c 0x0282 Alarma de AC establecida
0x0c 0x0283 Alarma de aire acondicionado
0x0c 0x0284 Alarma pospuesta de CA
0x0c 0x0285 Alarma de restablecimiento de CA
0x0c 0x0286 Sincronización de CA
0x0c 0x0287 Envío y recepción de AC
0x0c 0x0288 Envío de AC a
0x0c 0x0289 Respuesta de AC 0x00e8 RESPUESTA_CLAVE
0x0c 0x028a Responder a todos de AC
0x0c 0x028b Mensaje de reenvío de AC 0x00e9 NOMBRE_DE_ENVÍO_DE_CLAVE
0x0c 0x028c Envío de AC 0x00e7 KEY_SEND:
0x0c 0x028d Archivo adjunto de AC
0x0c 0x028e Carga de AC
0x0c 0x028f Descarga de AC (guardar como objetivo)
0x0c 0x0290 Bordes para el dispositivo de AC
0x0c 0x0291 Insertar fila de AC
0x0c 0x0292 Insertar columna de AC
0x0c 0x0293 Insertar archivo de AC
0x0c 0x0294 Imagen de inserción de AC
0x0c 0x0295 Insertar objeto de AC
0x0c 0x0296 Símbolo de inserción de AC
0x0c 0x0297 Guardar y cerrar AC
0x0c 0x0298 Cambio de nombre de AC
0x0c 0x0299 Combinación de aire acondicionado
0x0c 0x029a División de aire acondicionado
0x0c 0x029b Distribución de AC horizontal
0x0c 0x029c Distribuir AC vertical

Asignaciones adicionales que no son HID

Estas asignaciones describen funciones que no aparecen en HID, pero para las que Linux existen los códigos de tecla.

LKC Nombre interno de la clave de Linux Versión AKC Nombre interno de la clave de Android Notas
0x01d0 CLAVE_FN 3.0 0x0077 KEYCODE_FUNCTION
0x01d1 CLAVE_FN_ESC 3.0 0x006f KEYCODE_ESCAPE 3
0x01d2 CLAVE_FN_F1 3.0 0 × 0083 KEYCODE_F1 3
0x01d3 CLAVE_FN_F2 3.0 0 × 0084 KEYCODE_F2 3
0x01d4 CLAVE_FN_F3 3.0 0 × 0085 KEYCODE_F3 3
0x01d5 CLAVE_FN_F4 3.0 0 × 0086 KEYCODE_F4 3
0x01d6 CLAVE_FN_F5 3.0 0x0087 KEYCODE_F5 3
0x01d7 CLAVE_FN_F6 3.0 0 × 0088 KEYCODE_F6 3
0x01d8 CLAVE_FN_F7 3.0 0 × 0089 KEYCODE_F7 3
0x01d9 CLAVE_FN_F8 3.0 0x008a KEYCODE_F8 3
0x01día CLAVE_FN_F9 3.0 0x008b KEYCODE_F9 3
0x01 dB CLAVE_FN_F10 3.0 0x008c KEYCODE_F10 3
0x01dc CLAVE_FN_F11 3.0 0 × 008 d KEYCODE_F11 3
0x01dd CLAVE_FN_F12 3.0 0x008e KEYCODE_F12 3
0x01de CLAVE_FN_1 3.0 0 × 0008 KEYCODE_1 3
0 × 01df CLAVE_FN_2 3.0 0 × 0009 KEYCODE_2 3
0x01e0 CLAVE_FN_D 3.0 0 × 0020 KEYCODE_D 3
0x01e1 CLAVE_FN_E 3.0 0 × 0021 KEYCODE_E 3
0x01e2 CLAVE_FN_F 3.0 0 × 0022 KEYCODE_F 3
0x01e3 CLAVE_FN_S 3.0 0x002f KEYCODE_S 3
0x01e4 CLAVE_FN_B 3.0 0x001e KEYCODE_B 3

Claves heredadas no compatibles

Estas asignaciones aparecieron en versiones anteriores de Android, pero no eran coherentes con Códigos de teclas de Linux no estándar utilizados o HID. Ya no se admiten.

LKC Nombre interno de la clave de Linux Versión AKC Nombre interno de la clave de Android Notas
0x00 dB CORREO ELECTRÓNICO_CLAVE 1.6 0 x 004 días CÓDIGO_CLAVE_AT 4
"" "" 4.0 4
0x00e3 CLAVE_ESTRELLA 1.6 0 × 0011 KEYCODE_STAR 4
"" "" 4.0 4
0x00e4 CLAVE_SHARP 1.6 0 × 0012 KEYCODE_POUND 4
"" "" 4.0 4
0x00e5 CLAVE_SOFT1 1.6 0 × 0052 KEYCODE_MENÚ 4
"" "" 4.0 4
0x00e6 CLAVE_SOFT2 1.6 0x0002 KEYCODE_SOFT_RIGHT 4
"" "" 4.0 4
0x00e7 KEY_SEND: 1.6 0x0005 KEYCODE_CALL 4
"" "" 4.0 4
0x00e8 CENTRO DE CLAVES 1.6 0 × 0017 KEYCODE_DPAD_CENTER 4
"" "" 4.0 4
0x00e9 KEY_HEADSETHOOK 1.6 0x004f KEYCODE_HEADSETHOOK 4
"" "" 4.0 4
0 x 00 cada uno CLAVE_0_5 1.6 4
0x00eb CLAVE_2_5 1.6 4

Notas

  1. El código de tecla de Android asociado con los códigos alfanuméricos y simbólicos comunes las teclas pueden variar según el idioma y el diseño 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, a menudo se definen posicionalmente aunque las etiquetas impresas en esas claves puedan variar de un lenguaje a otro.

    En un teclado de inglés de EE.UU. (QWERTY), la tecla alfabética superior izquierda es con la etiqueta Q. En un teclado francés (AZERTY), la tecla en la misma posición se etiqueta como A. A pesar de la etiqueta, en ambos teclados, la tecla alfabética superior izquierda se denomina mediante el uso de HID 0x07 0x0014, que se asigna al código de tecla de Linux KEY_Q.

    Cuando Android está configurado con un diseño de teclado inglés de EE.UU., el código de tecla de Linux KEY_Q se asignará al código de tecla de Android KEYCODE_Q y generará los caracteres 'Q' y "q". Sin embargo, cuando Android está configurado con un diseño de teclado francés, el código de tecla de Linux KEY_Q se asignará al código de tecla de Android KEYCODE_A y producirá los caracteres 'A' y "a".

    Por lo general, el código de clave de Android refleja la clave específica del lenguaje interpretación de la clave, por lo que un código de clave de Android diferente puede para distintos idiomas.

  2. 0x0c 0x022f AC Zoom se define en el HID como un control lineal, pero el kernel lo asigna como una clave, lo que probablemente no sea correcto.

  3. Las teclas de función de Linux KEY_FN_* se asignaron a una configuración pero se envían con el metaestado META_FUNCTION bit a true.

  4. Antes de Android Ice Cream Sandwich 4.0, el diseño de claves predeterminado contenía asignaciones para algunos códigos de tecla adicionales que no estaban definidos en los encabezados del kernel de Linux de la línea principal. Estos mapeos tienen desde se eliminó porque estos códigos de tecla previamente no definidos ya que se les asignaron diferentes significados en versiones más recientes del kernel de Linux.

Fuentes

  1. Tablas de uso de HID USB v1.12
  2. Kernel de Linux 2.6.39: include/linux/input.h, controllers/hid/hid-input.c
  3. ICS de Android: qwerty.kl, Generic.kl, KeyEvent.java