Esto puede ser viejo, pero no he encontrado evidencia de que esto haya cambiado en todos los años de Android. Todos los detalles son de un antiguo repositorio de AOSP en github. Esto requerirá acceso root ya que necesitas editar archivos a nivel del sistema.
Android utiliza el dispositivo de eventos de entrada estándar de Linux (/dev/event0) y el controlador como se describe en el archivo de encabezado del kernel linux/input.h. Para obtener más información sobre los controladores de entrada estándar de Linux, por favor visite Controladores de entrada de Linux en http://kernel.org.
Selección del Mapa de Distribución de Teclas de un Mapa de Distribución de Teclas Los mapas de distribución de teclas se instalan en /system/usr/keylayout
y /data/usr/keylayout
.
Para cada dispositivo de teclado xxx, establece la propiedad del sistema android.keylayout.xxx
(ver Construcción de un Nuevo Dispositivo para ayuda en la configuración de propiedades del sistema). Si no especificas un archivo de distribución de teclas, Android utilizará por defecto /system/usr/keylayout/qwerty.kl
.
Formato de Archivo Los mapas de distribución de teclas se almacenan en el dispositivo como archivos de texto UTF-8 y tienen las siguientes características:
Comentarios: El símbolo de libra (#) denota un comentario y todo lo que sigue al símbolo de libra en una línea es ignorado.
Espacio en blanco: Todas las líneas vacías son ignoradas. Definiciones de teclas: Las definiciones de teclas siguen la sintaxis tecla SCANCODE KEYCODE [FLAGS...], donde SCANCODE es un número, KEYCODE está definido en tu archivo de distribución de teclas específico (android.keylayout.xxx), y los posibles FLAGS se definen de la siguiente manera:
SHIFT: Mientras se presiona, se establece el modificador de la tecla de cambio
ALT: Mientras se presiona, se establece el modificador de la tecla alt
CAPS: Mientras se presiona, se establece el modificador de la tecla de bloqueo de mayúsculas
WAKE: Cuando esta tecla se presiona mientras el dispositivo está dormido, el dispositivo se despertará y el evento de tecla se enviará a la aplicación.
WAKE_DROPPED: Cuando esta tecla se presiona mientras el dispositivo está dormido, el dispositivo se despertará y el evento de tecla no se enviará a la aplicación.
Usando los comandos anteriores como ayuda, podrías cambiar el archivo de algo como:
tecla 13 DPAD_UP
clave 15 SHIFT
a:
key 13 SHIFT
clave 15 DPAD_UP
Este fue un gran momento de nostalgia para mí - solía estar realmente metido en la remapeo de teclado en los días de "nueva-ROM-cada-otro-tarde".