12 junio 2011

Teclado Bluetooth iGo Stowaway Think Outside (español) en Android 2.2

Android 2.2 (Froyo) admite la conexión de teclados bluetooth compatibles con HID, pero no trae correctamente configurado el idioma español ni el juego de caracteres. Para poder configurar esto necesitamos tener nuestro teléfono "rooteado" y modificar dos ficheros del sistema:

/system/usr/keychars/nombre_teclado.kcm.bin
/system/usr/keylayout/qwerty.kl
El primer fichero varía en cada dispositivo, para conocer el nombre debemos ejecutar el comando:
logcat | grep kcm
tras lo cual debería aparecer un mensaje como:
Error loading keycharmap file '<nombre_teclado.kcm.bin>'
Por ejemplo para el iGo Stowaway Think Outside:
Think_Outside_Keyboard.kcm.bin
y para el Dell Axim Executive Keyboard XTBT01:
Broadcom_Bluetooth_HID.kcm.bin
Para modificar el fichero necesitamos un editor hexadecimal y conocer los códigos de las pulsaciones de las teclas mediante un programa como KeyTest.

La siguiente figura resume todo lo que es necesario conocer para realizar el proceso.
El fichero qwerty.kl se puede editar como texto normal para cambiar la distribución de las teclas.

Puesto que ya he pasado el trabajo de hacer una asignación para el idioma español, os dejo los ficheros para descargar y utilizar libremente. Funcionan las tildes, la eñe y todos los símbolos que aparecen en el teclado, así como algunas combinaciones de teclas que facilitan la navegación en Android.

Descarga:

XTBT01_spanish_keycharmap_(by_eTaTuS).zip (1,87Kb)

Comentarios:
  • Para poner una letra en mayúscula se pulsa una vez la tecla de Mayúsculas. Si se pulsa dos veces permanecen activadas las mayúsculas. La tecla Bloq. Mayús no se usa.
  • Para poner las tildes se debe pulsar Alt+vocal, tanto en mayúsculas como en minúsculas.
  • Los números se ponen con la tecla Fn azul.
  • Los símbolos verdes de la fila superior de teclas se ponen con Fn verde.
  • El resto de los símbolos verdes se ponen con la tecla Alt.
  • La @ (arroba) se pone con Alt+. (tecla del punto).
  • La tecla Windows equivale a Home.
  • La tecla Control izquierda equivale a Menú (se puede mantener pulsada y mover con las flecha para elegir un programa de la lista).
  • La combinación Fn azul + Tab (Esc) equivale a Volver.
  • La tecla Supr equivale a tocar en la pantalla (se puede mantener pulsada y elegir opciones con las teclas).

Fuente: Acmelabs' Blog

7 comentarios:

Anónimo dijo...

Un tutorial muy bien explicado, la verdad. Lo he seguido, pero me he topado con un error.

El nombre de mi archivo binario es "Broadcom_Bluetooth_HID.kcm.bin". He modificado el archivo tal cual lo has hecho tú con tu teclado (alt+vocal para acentuar y arreglados los caracteres de las teclas numéricas) pero me encuentro con que solo surten efecto el remapeo de las teclas numéricas.

!,",·,$,%,&,/,(,),= aparecen perfectamente al pulsar shift+número.
Pero al pulsar ALT+vocal no acentúa. Aparece la vocal tal cual. ¿Qué puede estar pasando?

Gracias y saludos

eTaTuS dijo...

Has utilizado los ficheros que he dejado para descargar o has modificado los tuyos? Si pruebas con mis ficheros deberías tener los mismos resultados que yo.

Alejandro DrXela dijo...

Hola, gracias por responder. He probado también tus ficheros, con idéntico resultado.
De ahí mi duda. No entiendo porqué los símbolos en los números si se activan con SHIFT y las vocales acentuadas no con ALT.

eTaTuS dijo...

Se me ocurre que quizá no tengamos el mismo modelo. El mío es el XTBT01 con teclado español.

iknatius dijo...

Excelente tutorial. Tengo un Samsung GT y aún no lo he rooteado. ¿Sería posible generar algún tipo de app que pudiese hacer la instalación de este mapeado de forma que los no iniciados en el mundo del rooteo podamos disfrutar también de este excelente teclado?.

malandante dijo...

Yo también tengo un Think Outside Keyboard, pero me ha resultado un poco más complicado hacerlo funcionar con tus ficheros de configuración. Tengo un HTC Desire con cyanogenmod 7.1. Voy a explicar brevemente lo que he hecho:

1. Instalar la aplicación logviewer lite. En CM7 el logcat viene deshabilitado. Con esta aplicación me he enviado el log a mi correo y en el ordenador lo he revisado para buscar el nombre del teclado.

2. Instalar la aplicación Root Explorer. En CM7 el /system viene montado como sólo lectura. Con esta aplicación es muy fácil remontarla en r/w. Si no no se pueden copiar los nuevos archivos en sus ubicaciones correspondientes.

3. También he necesitado liberar un poco de espacio en /system, ya que estaba repleta. Lo he hecho moviendo una aplicación poco importante cualquiera de /system/app a /data/app. Esto es muy fácil de hacer con la aplicación SystemCleanUp.

4. Corregir los permisos de los nuevos ficheros copiados. Para poner los permisos correctos, en terminal y siendo root:

chmod 644 /system/usr/keychars/Think_Outside_Keyboard.kcm.bin

y lo mismo para el otro fichero. También se puede hacer con el root explorer: dueño, lectura y ejecutar, grupo, lectura, otros, lectura.

¡Gracias por todo y un saludo!

Anónimo dijo...

Hola:
Gracias por el tutorial. Los que somos un poco más torpes y/o vagos, tenemos un app en el Market que se llama External Keyboard Helper Que funciona perfectamente y te deja modificar la configuración del teclado español, si quiere.
Salud,
Rafael