PDA

Ver la Versión Completa : Tutorial [Review] Teclado Inves WKB-1500BT [Bluetooth][HID] e [Investigación] Remapeo Caracteres Españoles


drxela
10/03/11, 00:55:34
¡Saludos! Tras algún tiempo pensando en comprar algún teclado con interfaz HID para conectar con el Samsung Galaxy S (y convertirlo en un netbook) he encontrado uno en el Corte Inglés.
Estaba harto de ver como todos estos teclados Bluetooth (sin receptor USB) valían un ojo de la cara, por lo que al ver este me he llevado una grata sorpresa.
El caso es que iba buscando el teclado inalámbrico de Apple, el que vale 70 euros, a falta de otra cosa mejor y por lo menos, sabía que funcionaba.
No, no lo tenían, para variar (ya haré una crítica de la sección de tecnología de esta empresa, tanto de productos como de personal) pero dio la casualidad de que me topé con este sin quererlo, que cuesta sólamente 35 euritos.

MATERIALES Y DIMENSIONES

Mide unos 20 cm de largo, tiene unas teclas pequeñas, pero no tanto como para no poder ser usado. Para que os hagáis una idea, es como un teclado de los ordenadores netbook ultraportátiles de ahora.
La calidad del plástico es bastante aceptable. Nada de gama alta, pero da impresión de robustez y no presenta por lado alguno imperfecciones de fábrica tales como esquinas cortantes o "puntitos" salientes.
La pulsación, para mi gusto, excelente. Siempre, recordemos, ajustándonos a un producto de estas características.
Las teclas no bailan, dejan suficiente espacio entre ellas para no confudirte y el retroceso es rápido y cómodo.

Cabe destacar, eso sí, que la distancia total, al medir 20 cm, se ve afectada. Quiero decir que si estamos acostumbrados a un teclado de sobremesa de 40 cm, es posible que donde recordemos instintivamente en nuestra cabeza que estaba la letra "c", ahora quizás esté la "x". La solución es simple, escribir mirando hasta que logres hacerte a las dimensiones.

FUNCIONALIDADES Y USO EN ANDROID

El teclado no está pensado para Android, eso es obvio. De hecho, en la caja pone como requisito sistema Windows (aunque hacen mención a teléfonos móviles).
Al tener HID, funcionar, funciona (Eso sí, en Android 2.2 o superior). Paso a explicarlo detalladamente.

Se vincula como cualquier otro teclado, te pide escribir un pin en él, pulsas enter, y listo.
Es de importancia saber que el teclado incluye una función bastante útil. Dispone de un pequeño joystick que actúa como ratón. Es exactamente igual que el sistema que tiene la PSP de Sony. También incluye dos botones de ratón, derecho e izquierdo.
Además, y como colofón al abanico de funciones, tiene una pequeña zona táctil muy útil para desplazar listas o páginas webs, al estilo Apple. Si bien es cierto que la precisión de éste no es exacta...

La respuesta en la escritura es sobresaliente. No hay retardos al pulsar las teclas ni al borrar, asi como tampoco al manejar el joystick-ratón.
Lo he estado probando con varias aplicaciones de mensajería y creación de documentos. Satisfecho en todas ellas.

Aquí viene el principal punto negativo de este teclado. Al medir 20 cm, tiene todos los símbolos abarcados en la tecla "FN" (función) como ocurre en los portátiles. Pues bien, ninguno se corresponde con lo escrito en pantalla. Así, por ejemplo, la interrogación se marca pulsando "FN" y "-".
¿Desastre? Depende de como se mire. Para mí, que solo uso "." "," "?" y comillas, no es ninguna pérdida.
Sí se echa en falta quizás poder acentuar las palabras de forma más sencilla, como en todos los teclados del mundo, sin necesidad de pulsar la tecla función.
Si tenemos paciencia, se puede escribir, simplemente buscando el caracter a fuerza de probar y aprendernos su combinación.

Imagino que habrá alguna manera de remapear las teclas, yo no lo sé. Entre otras cosas porque no es una marca conocida y las aplicaciones como KeyPro (drivers de teclados Bluetooth) no la recogen en sus listas. Si alguien sabe alguna manera, ya sea con una aplicación o editando algún archivo de Android, que no dude en compartirlo.

CONCLUSIONES

Es un teclado barato en precio pero no en calidad ni funciones (como vemos en incluir zona táctil, joystick, materiales...), que nos puede hacer muy bien el apaño en caso de querer transportar nuestra PDA fuera de casa. Unido a un soporte, convierte el teléfono en un ordenador de bolsillo.
Solamente falla en el mapeo de los símbolos (?¿!!->ç´ etc), que es necesario buscar entre todas las teclas.


FOTOS Y DATOS

http://i56.tinypic.com/205z1uq.jpg


Marca: Inves (Investrónica)
Precio: 34.90
De venta en: El Corte Inglés
Medidas: 202 x 18 x 100 mm
HID: SÍ


PD: Ahora hay un problema con el Samsung Galaxy. Al mantener encendido el Bluetooth, no es posible activar el "Modo Vuelo", por lo que intenta continuamente buscar red GSM si no tenemos tarjeta SIM insertada o no queremos usarlo como teléfono, con el consecuente gasto de batería...

Saludos y cualquiera duda preguntad, que el tema este está escaso de información.

__________________________________________________ __________________________________________________ _____
EDITADO 06/07/2011


Tras mucho leer e investigar, todos los problemas derivados del remapeo de caracteres han sido solventados. Podemos decir que este teclado es ahora similar a cualquier otro, de pc o no.
Por supuesto, esto no habría sido posible sin el trabajo de Skydancer, Ptahotep y Unoquellega. La totalidad del mérito recae en ellos.

Si llegas aquí por primera vez o aun no sabes como configurar tu nuevo teclado, tienes 3 páginas enteras de información que te ayudarán a hacerlo.

Un saludo

intronauta
10/03/11, 03:00:42
Si pudieras grabar algo estaría genial ;)

Por lo que parece tiene un mapeado americano, no? No vienen con un cd o algo para configurarlo en un pc?

drxela
10/03/11, 16:55:21
Hola. No había pensado en grabar un análisis en vídeo, la verdad, pues nunca he hecho ninguno. Voy a hacer alguna que otra prueba y si se ve bien, lo subo (solo tengo una cámara Pentax para grabar con resolución VGA).

Bueno, el mapeado no está pensado para el mercado en español, esto está claro. La Ñ está bastante escondida, tanto que aun no la he encontrado, y llevo un rato probando. Como ya digo, es el principal hándicap.

Tras algunas horas más de uso tengo que añadir otro aspecto al análisis. No sé acentuar palabras. Ayer escribí que era más complejo que en un teclado de sobremesa pues comprobé que la tilde (´) si es capaz de escribirla, pero claro,hoy me he fijado en que no es capaz de colocarla encima de ninguna vocal, por lo que tu dices del mapeado americano.
Esto si es un problema bastante más grave. Como no voy a escribir literatura en el teléfono ni tengo blog alguno donde publicar, puedo obviarlo, pero es una disfunción grande.
Voy a seguir haciendo pruebas, pero me da en la nariz que no va a ser posible. Por lo menos no sin editar algún archivo de Android, porque en el menú bluetooth no hay opción alguna.

Con respecto a CD, no trae ninguno. En la caja solo viene el teclado, las dos pilas pequeñas y el manual de instrucciones, que simplemente te indica como se vincula a un ordenador con los softwares más usados de conexión Bluetooth.

Cualquier información acerca del re-mapeo de teclas o cualquier otro asunto es bienvenida. (Porque imagino que compartirá arquitectura de otros teclados en el mercado)

Un saludo.


EDICIÓN 2.0: He probado el teclado en Windows 7 y todos los caracteres funcionan perfectamente. Símbolos, letras, puntación y acentuación. Además de las teclas de acceso rápido. Por lo menos ya sé que el teclado no viene mal de fábrica y funciona para lo que ha sido diseñado. El problema ahora lo tenemos en Android. Yo no sé nada de programación en Linux así que no sé ni por donde empezar.

drxela
12/03/11, 03:06:56
Saludos de nuevo, he estado buscando información acerca del remapeo de teclas y parece que editando un archivo de sistema se puede conseguir cualquier configuración de teclas para cualquier teclado. O eso dicen en xda-developers.

Tengo el hilo (http://forum.xda-developers.com/showthread.php?t=799079) y un par de entrada de blogs (ésta (http://chris.boyle.name/2010/08/android-keymaps) y ésta (http://jahrome.free.fr/index.php/keyboard-mapping-android-htc-desire?lang=en)) donde explican como hacerlo. El problema es que leo inglés básico y por supuesto, nada de informática avanzada. Además, no tengo ni idea de sistemas basados en Linux y aun menos de ediciones en hexadecimal.
Tengo, eso sí, bastante curiosidad y estará en común con otra gente del foro que además si tenga los conocimientos necesarios.

Si alguien colabora...podremos hacer en cooperación un completo tutorial acerca de este tema, pues al parecer no hay nada en castellano.

Un saludo.

peluso13
12/03/11, 04:11:33
por lo que entiendo tienes que editar /system/usr/keylayout/qwerty.kl

-ese archivo en nuestro galaxy es parecido a: http://android.git.kernel.org/?p=device/htc/passion-common.git;a=blob_plain;f=mahimahi-keypad.kl;hb=HEAD


pero no tengo ni idea de cómo lo hace, luego dice que su archivo de su teclado queda así: http://chris.boyle.name/download/bluetooth-keyboard-layout.txt

pero... eso es diferente a cómo nos salía la lista de system/user...

mmm

drxela
12/03/11, 13:12:03
Hola, gracias por responder. Efectivamente, el problema es "cómo hacerlo". El archivo que él crea es distinto al modelo porque añade comentarios (líneas con #) y bastantes teclas más.
He leído el tutorial de sihayqueirseva de remapear un teclado bluetooth. Es bastante intuitivo para lo que quiero hacer y me da una ligera idea del modo de operar. Pero por mi parte sigue habiendo una duda... ¿y si tengo que remapear una doble función para una tecla?
Es decir, para poner tilde en este teclado tienes que pulsar "FN" y "B" a la vez. O sea, la tecla FN activa nuevas funciones. Es aquí donde ya empiezo a perderme de verdad.
¿La tecla FN a que función llama? ¿Como remapeo el doble caracter de la tecla B? (o sea, la tilde)

En definitiva, la información que tengo es...un programa te dice que letra es cada cual en tu teclado. Copias los valores que te da (Scancode). Vas al archivo del sistema, el qwerty y, buscando ese valor, añades o modificas la función que tenga.
Pero las preguntas arriba expuestas se me escapan...

Un saludo

PD: El tutorial de sihayqueirseva está aquí: http://www.htcmania.com/showthread.php?t=159737

EDICION 2.0: ¡Horror! ¿Android no tiene tildes? Estoy mirando en la lista de funciones KeyEvent de Android Developers (http://developer.android.com/reference/android/view/KeyEvent.html) y ninguna es "´". Solamente APOSTROPHE y esa no sirve para acentuar palabras. O sea, que no se coloca encima de ninguna vocal...qué cosa más rara.

peluso13
12/03/11, 14:05:40
uff eto ya me pierde...

una idea, pon este post en "Todo sobre android" por ahí pasará más gente (que no tenga que ver con el galaxy, pero te pueda echar una mano no?)

un abrazo, suerte!!

prostata: le has comentado algo a sihayqueirseva??

prostata2: ya veo que sí jejeje :) a ver si te contesta

drxela
12/03/11, 16:06:58
Me parece una buena idea eso de moverlo a "Todo sobre Android". Yo no tengo permisos, si algún encargado es tan amable...

PD: Estoy haciendo pruebas pero hasta ahora sin suerte.

millescv
13/03/11, 16:20:56
Me interesa, me interesa. Vi el teclado el otro día en el ECI, pero iba con prisa y lo dejé. A ver si mañana me paso. Ya tenía pensado pillarmelo y viendo la review, más.

Respecto a las funciones, yo colaboraría en lo que estuviera de mi mano, ya que conocimientos en informática bien, pero en programación los justos (solo dominé en su día el Visual Basic...) y el inglés es un estorbo para mí.
Sí, lo sé, poco podré hacer, pero en lo que sea posible lo haré.

Un saludo!

drxela
14/03/11, 02:03:37
Muchas gracias por tu ayuda. Lo cierto es que aunque Sihayqueirseva hizo un magnífico tutorial y en el hilo de xda developers hay bastante información, el tema aun está algo en el aire. Gracias a ellos he llegado a saber que cada tecla llama a una función (Menú, Cámara, P, punto, interrogación...) por lo que si editamos el archivo principal, el temá está solucionado.
Solucionado para los americanos y los ingleses, que no tienen más que al apóstrofe como símbolo "raro". Para los hispano-hablantes con nuestras tildes es otra historia. Android no tiene la función tilde (accent mark en inglés) incorporada como tal, de manera que es necesario editar el archivo binario (.bin) querty.kcm.bin con un editor hexadecimal para añadirla. Eso tengo entendido, claro... Estoy investigando y todavía no doy con la solución, estoy algo confuso.
La solución vendría a ser, creo, editar alguna función para que en vez de ser X, pues sea Y (en nuestro caso Y es la tilde). O sea, editar no el mediador, sino la fuente inicial.

Te dejo toda la información que tengo y le echas un vistazo, si te parece.

Hilo XDA-Developers (Página 10 y 11 están mis consultas y las respuestas de la comunidad) (http://forum.xda-developers.com/showthread.php?t=799079&page=10)

Entrada de blog acerca de la edición del archivo .bin (http://jahrome.free.fr/index.php/keyboard-mapping-android-htc-desire?lang=en)

Página de códigos para editar el archivo .bin (http://www.ascii-code.com/)
(http://www.ascii-code.com/)

Los archivos qwerty.kl y querty.kcm.bin por defecto los tienes en tu Galaxy en la carpeta System/usr (dentro de Keylayouts y Keychar respectivamente) para hacer pruebas.



Un saludo

drxela
14/03/11, 16:49:30
He conseguido editar el archivo binario de manera que ahora en vez de existir apóstrofes (APOSTROPHE) sólo existen tildes ´ (ACCENT MARK). Es un apaño, claramente. Como yo no uso apóstrofes normalmente, no los necesito, simplemente ahora ya no existen en mi teclado.

Pero no lo he solucionado. Ahora aparece la tilde, sí, pero no se coloca encima de ninguna vocal, encima de ningún carácter. Cuando acentuo una letra sale ´a en lugar de á...
Y hasta aquí he llegado, ahora estoy en un punto muerto, ya que el caracter se muestra pero no hace la función de acentuación española y eso ya no se soluciona con el archivo binario sino con las funciones del teclado de Android, que no se por donde empezar.


Un saludo

sihayqueirseva
15/03/11, 12:19:41
He conseguido editar el archivo binario de manera que ahora en vez de existir apóstrofes (APOSTROPHE) sólo existen tildes ´ (ACCENT MARK). Es un apaño, claramente. Como yo no uso apóstrofes normalmente, no los necesito, simplemente ahora ya no existen en mi teclado. Pero no lo he solucionado. Ahora aparece la tilde, sí, pero no se coloca encima de ninguna vocal, encima de ningún carácter. Cuando acentuo una letra sale ´a en lugar de á... Y hasta aquí he llegado, ahora estoy en un punto muerto, ya que el caracter se muestra pero no hace la función de acentuación española y eso ya no se soluciona con el archivo binario sino con las funciones del teclado de Android, que no se por donde empezar.

Hola, siento decirte que seguí tus mismos pasos... y he llegado al mismo sitio sin poder avanzar. La tilde se "fija" como un caracter básico, y no como uno "en espera" para acentuar a la siguiente pulsación, no sé si me explico.

Desconozco si el problema es generalizado en todos los teclados bluetooth hid, o si alguno hay que lo permita. Por mi parte he probado bajando el driver (.apk) del freedom pro keyboard (específico para android) y aunque no lo he podido probar porque no tengo ése modelo en particular, he descomprimido el archivo de aplicación pero no he encontrado referencias a la codificación de las teclas.

Lo único que se me ocurre es que alguien que tenga el teclado original de Samsung, con él conectado y funcionando ésta aplicación (https://github.com/chrisboyle/keytest/downloads) al mismo tiempo, nos indique qué código identifica cuando pulsamos el acento; quizá podamos reproducirlo en otro teclado.

Desconozco si ésto ultimo funcionará, pero no se me ocurre otra cosa. Un saludo.

Edito: teóricamente, si consiguiéramos realizar lo anterior, creo, y repito, creo, que podríamos acentuar sin problemas. Me explico:

Con el teclado conectado y la aplicación "key test" funcionando, al pulsar sobre una tecla, nos salen varios valores. El "scancode" es el que se refiere a la tecla física en sí, y el "keycode" al valor asignado (carácter, función, lo que sea) a esa tecla. Si pulsáramos sobre el acento, nos daría un keycode determinado. Deberíamos buscarlo en éste listado (http://developer.android.com/reference/android/view/KeyEvent.html). Para encontrarlo, pulsamos sobre cualquier key code y nos aparecerá el mismo listado, pero expandido, con nuevos valores en cada tecla. Uno de esos valores es el "Constant value" que, efectivamente, ése sí se corresponde con el "keycode" del keytest. (Usaríamos el buscador del navegador para encontrar el valor) Encontrado ésto, deberíamos apuntar el "key code constant" de la tecla encontrada, y con ésos datos, podríamos remapear.

Problemas a priori:

Que necesitamos un teclado que YA acentúe para apuntar el keycode-constant value.
Que android no reconozca los acentos en protocolo HID (lo cual me resisto a creer) o que no estén en la base de datos que he presentado. Si fuera así, creo que san google, usando los términos "android constant value keyevent" o algo así, algún resultado obtendríamos.

Y si no funciona na de ésto, ya directamente me rido y se lo dejo a los profesionales. Un saludete.

Iberluis
15/03/11, 12:55:58
Ostras! Menudo puntazo de teclado!! Y el precio es espectacular!

Quizás si estuviese en una zona más genérica del foro tendría apoyo de más peña. El problema del mapeado de teclas no es sólo para este teclado, es para casi todos los que podemos encontrar de este tipo, así que todos nos veríamos bien beneficiados.

Voy a ver si me entero un poco de qué val el tema que me interesa y mucho. Después, en lo que pueda ayudar...

drxela
15/03/11, 17:10:17
Lo único que se me ocurre es que alguien que tenga el teclado original de Samsung, con él conectado y funcionando ésta aplicación al mismo tiempo, nos indique qué código identifica cuando pulsamos el acento; quizá podamos reproducirlo en otro teclado.

Hola compañero, ante todo gracias por responder e interesarte por el tema.
Eso pensé ayer. Un teclado que sí contenga tildes (virtual, por ejemplo) como el de Samsung o Swype, tendrá que llamar alguna función o comando en algún archivo de Android. Si conseguimos monitorizar su funcionamiento, podremos sacar algo.

Por otra parte, no podría asegurarlo 100% pero creo que en la lista KeyEvent de Android Developers no está recogida la tilde. En el archivo de caracteres qwerty.kcm.bin por defecto en nuestros teléfonos, tampoco.
Ayer me dijeron en XDA-Developers que podía editar el archivo binario (qwerty.kcm.bin) y en vez de introducir la tilde ´ de forma individual, que como tú bien dices no se muestra en espera, introduzca directamente el caracter con la tilde encima, por ejemplo "á". ¿Dónde? En la función A, activable con el modificador ALT y así con todas las vocales.
Pero no, no funciona. El archivo está fatal estructurado. Lo edité como me dijeron y no dio resultado.

Por esa vía, me rindo. He probado hasta a modificar toda la función A para que en todas las opciones posibles (con ALT, con FN con la pulsación normal) escriba "á" y tampoco.

Tu idea me parece bastante buena, pero...¿conoces a alguien con un teclado que acentúe? Sería necesario mover este tema a "General" para hacer el sondeo. Y aun encontrándolo...¿crees que Keytest nos dirá el keycode? Fíjate que como parece, la lista KeyEvent no recoge nuestra tilde. Si un teclado da la casualidad de que acentúa, desde luego no encontraremos el KeyCode en esa lista.

Yo no sé nada de entornos Linux, pero están claras varias cosas:

-Android dispone de vocales acentuadas. (Pulsad la "a" unos segundos y da opción)
-En la lista KeyEvent no aparece ninguna función que sea tilde ´
-Se deduce de las dos anteriores que el teclado virtual hace algún "chanchullo" y llama a un archivo que no conocemos o a los que conocemos de una forma distinta.

Necesitamos pues, hacer 2 pruebas:
-Tu idea, coger un teclado que si acentue y con el KeyTest mirar a qué llama.
-Otra aplicación que escanee teclas, pero esta vez virtual, para seguirle la pista al teclado en pantalla.

Y también es posible que esté completa o parcialmente equivocado en algo de lo anterior.

EDITADO: Atención, he encontrado un comando en la lista de Android Developers:

public static int getDeadChar (int accent, int c)

Since: API Level 1 (http://developer.android.com/guide/appendix/api-levels.html#level1)

Get the character that is produced by putting accent on the character c. For example, getDeadChar('`', 'e') returns è.




Sería cambiar el ` por ´ y en teoría nos daría é. Pero mi pregunta es...¿dónde y como carajo utilizamos el comando getDeadChar?

KugXel
20/04/11, 15:28:08
Hola,
Quizás sea reflotar el tema, pero como va el asunto del teclado? Conseguisteis los acentos?

Gracias!

skydancer
28/05/11, 13:13:26
Buenas a tod@s. Como veis, es mi primer post en este foro. Mi sistema es una tablet zte V9 ligth (android 2.1), por lo que la solución encontrada puede ser distinta para otros sistemas. Además y como explicaré al final, al no tener 2.2 o superior he utilizado un controlador de teclado bluethoot de un tercero.

Por mi parte he “conseguido” resolver el tema de las vocales acentuadas editando el archivo /system/usr/keychars/qwerty.kcm.bin. También he aprovechado para “arreglar” el tema de las combinaciones Fn-tecla y otros desaguisados de este teclado: su diseño, incluso para Windows (sistema en el que funcionan perfectamente todas las teclas y combinaciones) me resulta cuando menos extraño. ¿A quién se le ocurre p.ej que la llave } se consiga con AltGr-Ç y que la pareja { se disponga como Fn-B en lugar de usar teclas contiguas?. Más ejemplos: + y -, la misma Ñ (control-V)…

En primer lugar, explico someramente el tema del acento. En cualquier teclado de un equipo de sobremesa aparte de las teclas alfanuméricas y las de control existen unas teclas llamadas modificadores (alt, altGr, control, shift…). Al pulsar una tecla alfanumérica el resultado en pantalla es mostrar el carácter correspondiente y mover el cursor a la derecha; sin embargo, en el teclado español y otros al pulsar el acento ´ se produce una pausa, se espera al siguiente carácter y si es vocal, se acentúa; por tanto el acento es un modificador condicional y requiere de una rutina de programación en el software controlador del teclado que se instala al instalar un SO. ¿Qué sucede en nuestros android? pues que no está esa rutina: para conseguir una é en nuestro teclado de pantalla no pulsamos acento y luego e sino que mantenemos pulsada la e hasta que aparece é. Eso sí, podemos conseguir vocales acentuadas directamente editando el mapa de caracteres.

Algunas cuestiones sobre mapas de caracteres aquí
http://www.kandroid.org/android_pdk/keymaps_keyboard_input.html

# Copyright 2007 The Android Open Source Project

[type=QWERTY]

# keycode base caps fn caps_fn number display_label

A 'a' 'A' '%' 0x00 '%' 'A'
B 'b' 'B' '=' 0x00 '=' 'B'
C 'c' 'C' '8' 0x00E7 '8' 'C'
D 'd' 'D' '5' 0x00 '5' 'D'


Y arriba un trocito del código de implementación de un keychar. Observemos en primer lugar que android utiliza solo 3 modificadores a los que llama caps, fn y caps-fn, pero que se corresponden con shift, alt y shift-alt. Por tanto, en nuestro teclado inves no nos sirven los modificadores ctrl. (simplemente lo ignora) ni AltGr (su efecto es el mismo que Alt). En cuanto a Fn es un modificador especial y luego entraremos en ello.

Con el teclado original, los signos de la fila numérica están dispuestos de manera diferente (a la americana), no tengo punto y coma ni dos puntos ni Ñ en su sitio…

Para no alargar el mensaje, doy por supuesto que todos manejan el SDK y son capaces de copiar el archivo /system/usr/keychars/qwerty.kcm.bin a la sd o a otra unidad y pueden editarlo con un editor hexadecimal como el H x D (sin espacios, editado para que no salga el símbolo xD). xD. Pues bien: este es un trozo de mi archivo original /system/usr/keychars/qwerty.kcm.bin (solo pongo la porción ASCI):

keychar.xV4.....
6..............
.....0.0.0.).).)
.....1.1.1.!.!.!
.....2.2.2.@.@.@
.....3.3.3.#.#.#
.....4.4.4.$.$.$
.....5.5.5.%.%.%
.....6.6.6.^.^.^
.....7.7.7.&.&.&
.....8.8.8.*.*.*
.....9.9.9.(.(.(
.....*.*.*.*.*.*
.....#.#.#.#.#.#
.....A.2.a.A.#..
.....B.2.b.B.<..
.....C.2.c.C.9.ç
. ...D.3.d.D.5...
.!...E.3.e.E.2...
."...F.3.f.F.6.¥.#

Lo que nos interesa ahora son los últimos 4 caracteres de cada linea: el primero corresponde a cada tecla alfanumerica, el 2º a shfth-tecla, el tercero alt-tecla y el cuarto shift-Alt-tecla.
En primer lugar vamos a modificar la tecla 2 para que nos salga las comillas “:

.....2.2.2.@.@.@
.....2.2.2.”.@.@

En el keychar sin modificar vemos que el símbolo ^ se consigue con shift-6 (y de hecho es el carácter que obtenemos con nuestro teclado físico inves hasta ahora); pues bien, vamos a modificarlo para que corresponda con &:

.....6.6.6.^.^.^
.....6.6.6.&.^.^

Hacemos lo mismo con los símbolos /, (, ) y = de las teclas 7, 8, 9 y 0


.....7.7.7.&.&.& .....7.7.7./.&.&

.....8.8.8.*.*.* .....8.8.8.(.*.*
.....9.9.9.(.(.( .....9.9.9.).(.(
.....0.0.0.).).) .....0.0.0.=.).)

Y ya teemos la primera fila de teclas apañada como nuestro teclado. Daros cuenta que solo hemos modificado hasta ahora el segundo carácter de la serie de 4 (el que corresponde a shit-numero), pero si queremos podemos añadir símbolos a voluntad a las combinaciones alt número y shift-alt-número.

Vamos ahora a la tecla A. Nos interesan: vocal acentuada y el símbolo ª que no conseguimos con Fn-A:

.....A.2.a.A.#..
.....A.2.a.A.á.ª. Ahora con alt-a nos sale á y con shift-alt-a ª
Como veis he preferido mantener el símbolo ª pero también podríamos acentuar la A mayúscula. He preferido lo primero, al igual que en el resto de vocales, pero es otra opción

Repetimos el proceso con el resto de vocales. En el caso de la E queremos por ejemplo vocal acentuada y símbolo €. Curiosamente, en esta tecla si sale la combinación Fn-E como ] por lo que no habría que modificar nada más

.!...E.3.e.E.2... .
!...E.3.e.E.é.€. Por cierto, no se muy bien porqué no me sale la € pero curiosamente me sale en la contigua (R) y me sale la libra en la T.

Con el resto de teclas hacemos lo mismo: en el caso de que la tecla Fn no funcione o no presente el carácter deseado, modificamos en el qwerty.kcm.bin los caracteres que correpondan a alt-tecla y/o shift-alt-tecla. Por mi parte, yo he hecha también otra cosa: he puesto el símbolo + como shft-alt-B para que me quede contiguo a la N (que contendría el símbolo – con la misma combinación)

....B.2.b.B.<... ....B.2.b.B.<.+. *...N.6.n.N.>... *...N.6.n.N.>.-.

También he recuperado el símbolo Ç y la llave}. En la tecla contigua L he dispuesto la {

I...\.\.ç.Ç.:.}. Si os habéis fijado he puesto los dos puntos en la combinación alt-Ç. Por motivos que desconozco el punto y coma no sale como shift-coma pese a que el mapa original así lo dispone: 8.........:.:.& En el mapa también hay otra sección de símbolos con los que he trasteado, pero su modificación produce resultados impredecibles sobre otras teclas. Por este motivo he dispuesto el punto y coma en la K (contigua a la coma) y los dos puntos en la Ç.

En cuanto a la tecla Fn, decir que es un modificador especial. Cuando utilizo el testkey con una combinación alt-tecla me salen el código de esa tecla y del modificador; con Fn sale en cambio el código de otra tecla distinta. Como he dicho antes, no podemos modificar el comportamiento de Fn editando el keymap.

Que hace ahora mi teclado:
Los símbolos sobre las teclas numéricas son correctos
Tengo vocales acentuadas con la combinación alt-vocal
Tengo las símbolos obtenidos por Fn bien con Fn o con alt
Tengo contiguos y por parejas los símbolos {}, +-, € y libra…
Hay que acostumbrarse al problema de la coma y punto y coma. A seguir investigando.


Por último, mi sistema. Como he dicho antes, tengo android 2.1, sin protocolo HID. Aunque es posible bajarse y copiar algunos archivos que lo implementan (y yo lo he hecho), el proceso de conexión es complicado y hay que repetirlo cada vez que quieras usar el teclado. La solución es bajarse del market un driver de teclado bluetooth. Yo tengo el bluekeyboard Jp en su versión limitada: es gratuito y no caduca como el resto de drivers que conozco.

Salu2

sihayqueirseva
28/05/11, 14:07:40
Impresionante trabajo, skydancer. Lo releeré más despacio, para digerirlo bien, y en cuanto tenga un rato, pruebo.

Muchas gracias.

skydancer
28/05/11, 15:49:44
De nada.
Por cierto a ver si más adelante consigo cuadrar las tablas un poco, porque en la edición me queda bien pero no en la presentación (con TAB?, con CODES?).
Y el link que no me dajabo poner por ser primer post es ESTE
http://www.kandroid.org/android_pdk/keymaps_keyboard_input.html

sihayqueirseva
28/05/11, 15:52:52
Creo que con la etiqueta "code" te lo presenta en un recuadro con fondo blanco, diferente al del foro. Para comandos y demás, queda más visual.

Un saludo.

skydancer
28/05/11, 16:04:40
CorregidoX-D.
salu2

skydancer
20/06/11, 10:35:01
El tema del punto y coma y los dos puntos ha sido corregido!. Simplemente, era problema del driver de teclado que utilizaba. Ahora, tras actuazlizar a Froyo y conectar con hidd funcionan perfectamente. Resto de mejoras siguen igual, incluyendo vocales acentuadas con alt-vocal....
Salu2

drxela
22/06/11, 00:50:49
Vaya trabajazo skydancer. Vaya trabajazo, vaya "ingeniazo" y vaya labor investigativa. Hace meses que di por perdido el tema guardando el teclado en un cajón. Me venció, no pude solucionarlo. Me quedé a las puertas.
Grata sorpresa me he llevado ahora que he vuelto a entrar.
Bien explicado y bien estructurado. Mis mas sinceras felicitaciones y agradecimientos.

Una última cosa, antes de ponerme a modificar mi archivo. Le podría ser de gran ayuda a los usuarios menos iniciados en estos temas que subieras tu propio archivo editado con tu trabajo (se colocaría en el post principal reconociendo su autor).

Gracias de nuevo y un saludo
__________________________________________________ __________________________________________________ _________________________
EDICIÓN: Saludos de nuevo. He seguido tu explicación al pie de la letra pero no he conseguido que al pulsar ALT+a me salga á.
Igual es una tontería, pero me he fijado que en el ASCII de tu archivo binario, cada línea tiene desplazado el primer caracter a la derecha con respecto al mío. Es decir:

Tú .....A.2.a.A.#..
Yo....A.2.a.A.#...

Ya no sé qué más hacer. He probado incluso a modificar el caracter correspondiente a la tecla alfanumérica y al modificador shift-tecla (o sea, para que al pulsar a salga á directamente) y tampoco.
Esto me lleva a pensar que quizás en mi versión (o en tu versión) el archivo binario encargado de los caracteres sea otro o se apoye en otro adicional. Yo, por ejemplo, tengo "qwerty2.kcm.bin".

De cualquier manera, podrías subir tu archivo y lo pruebo.

Un saludo

skydancer
23/06/11, 12:31:20
Vaya trabajazo skydancer. Vaya trabajazo, vaya "ingeniazo" y vaya labor investigativa. Hace meses que di por perdido el tema guardando el teclado en un cajón. Me venció, no pude solucionarlo. Me quedé a las puertas.
Grata sorpresa me he llevado ahora que he vuelto a entrar.
Bien explicado y bien estructurado. Mis mas sinceras felicitaciones y agradecimientos.

Una última cosa, antes de ponerme a modificar mi archivo. Le podría ser de gran ayuda a los usuarios menos iniciados en estos temas que subieras tu propio archivo editado con tu trabajo (se colocaría en el post principal reconociendo su autor).

Gracias de nuevo y un saludo
__________________________________________________ __________________________________________________ _________________________
EDICIÓN: Saludos de nuevo. He seguido tu explicación al pie de la letra pero no he conseguido que al pulsar ALT+a me salga á.
Igual es una tontería, pero me he fijado que en el ASCII de tu archivo binario, cada línea tiene desplazado el primer caracter a la derecha con respecto al mío. Es decir:

Tú .....A.2.a.A.#..
Yo....A.2.a.A.#...

Ya no sé qué más hacer. He probado incluso a modificar el caracter correspondiente a la tecla alfanumérica y al modificador shift-tecla (o sea, para que al pulsar a salga á directamente) y tampoco.
Esto me lleva a pensar que quizás en mi versión (o en tu versión) el archivo binario encargado de los caracteres sea otro o se apoye en otro adicional. Yo, por ejemplo, tengo "qwerty2.kcm.bin".

De cualquier manera, podrías subir tu archivo y lo pruebo.

Un saludo


Gracias por el inmerecido elogio:cry:
En primer lugar, modificar el keychar no es algo nuevo; el tema es que casi toda la información está en inglés, que no necesitan la tilde ni se lo plantean, pero era lo lógico: si a es a, y shift-a es A, el siguiente modificador sería alt-a.
Curiosamente y dlas despues de mi primer post (el mensaje tiene fecha de 12 de junio), he encontrado un enlace en el que se ha llegado a la misma conclusión; no me planteo quien ha sido primero, le cito porque contiene cuestiones importantes para nosotros:
http://etatus.blogspot.com/2011/06/teclado-bluetooth-igo-stowaway-think.html

De hecho, encontré este enlace porque el asunto que ahora investigo es la modificación del layout (mapa de teclas): creo que es posible adjudicar a las teclas del inves sin función aparente como ctrl, bloqMay, insert... funciones android como menu, call, endcall... y recuperar la función de teclas multimedia (next, play, prev...). ESpero que pronto haya noticias (aunque estoy muy ocupado)

Drxela, no estoy seguro de tu problema. ¿Te pasa con todas las vocales?. ¿El resto de modificaciones funciona?.

Para ver que keychars dispones:

Desde el SDK y tras adb shell o desde el teléfono con un emulador de terminal teclea:

cd /system/usr/keychars
ls

Esto te listará los teclados disponibles. Tal vez samsung utiliza uno propio

También y como indicaba el otro colega podemos ver el keychar activo con el comando que se indica en su post.

En cuanto pueda te mando mi keychar modificado mediante PM

Salu2

skydancer
23/06/11, 17:20:58
Drxela: tienes un PM
salu2

drxela
24/06/11, 17:05:22
Drxela, no estoy seguro de tu problema. ¿Te pasa con todas las vocales?. ¿El resto de modificaciones funciona?.
Para ver que keychars dispones: Desde el SDK y tras adb shell o desde el teléfono con un emulador de terminal teclea: cd /system/usr/keychars ls Esto te listará los teclados disponibles. Tal vez samsung utiliza uno propio También y como indicaba el otro colega podemos ver el keychar activo con el comando que se indica en su post. En cuanto pueda te mando mi keychar modificado mediante PM Salu2

Saludos. He estado fuera un par de días y por eso no respondí.
Los caracteres numéricos si me los modifica (por lo menos, así me lo parece), ya que he conseguido remapear los paréntesis y el =.
Con las vocales, como ya digo, no hay manera.

Voy a seguir la explicación del compañero del enlace que has colocado, para ver cual de los keychars es el que está activo. Tengo la sospecha de que en mi teléfono hay más de uno. (Cambié todos los caracteres posibles de la función "A" por "á" y aún así seguía apareciendo "a" normalmente)

PD: Tienes un mensaje privado.

Un saludo

__________________________________________________ ____________________________________
EDITADO: Bien. He configurado el archivo siguiendo la explicación del blog:
Broadcom_Bluetooth_HID.kcm.bin

Así se llama mi archivo binario para mi teclado. Lo he configurado exactamente igual que el autor del blog. De hecho, también he probado el que él mismo ha compartido, creado por él.

En ambos me surte efecto el remapeo de las teclas numéricas (shift+número). De manera que!,",·,$,%,&,/,(,),= aparecen perfectamente. No así ocurre con las vocales acentuadas. Pulso ALT+Vocal y no aparece la correspondiente vocal acentuada.
Realmente, ya no sé qué está ocurriendo. El archivo binario seguro que es ese, pues así me lo indica el comando logcat | grep kcm.

¿Alguna idea?

skydancer
25/06/11, 13:41:09
No será un problema hardware de la tecla Alt?. POr lo que cuentas no solo no acentúa sino que siempre da a y no ningún otro simbolo, comosi no hiciera nada. Prueba con AltGr que tiene el mismo efecto y dale al keytest a ver que scancode te da. Si no da nada ya sabes...

drxela
25/06/11, 16:07:05
No será un problema hardware de la tecla Alt?. POr lo que cuentas no solo no acentúa sino que siempre da a y no ningún otro simbolo, comosi no hiciera nada. Prueba con AltGr que tiene el mismo efecto y dale al keytest a ver que scancode te da. Si no da nada ya sabes...


No, de hardware no es. ALT me da un scancode concreto, diferente a SHIFT y a todos los demás. O sea, la tecla ALT es ALT, por eso no entiendo su funcionamiento incorrecto.
He probado con AltGr y tampoco acentúa.

skydancer
25/06/11, 16:56:35
Descartado el problema de tecla. Aunque hay otros 3 mapas, el mío por defecto es el /system/usr/keylayout/querty.kl
La tecla alt produce un scancode 56 y ese scancode en el querty.kl corresponde con la tecla ALT. AltGr corresponde con scancode 100. Mira si tienes las mismas correspondencias.
Sería bueno saber si esto le pasa a más gente con el galaxi. Queremos más testers!

drxela
25/06/11, 18:10:51
Descartado el problema de tecla. Aunque hay otros 3 mapas, el mío por defecto es el /system/usr/keylayout/querty.kl
La tecla alt produce un scancode 56 y ese scancode en el querty.kl corresponde con la tecla ALT. AltGr corresponde con scancode 100. Mira si tienes las mismas correspondencias.
Sería bueno saber si esto le pasa a más gente con el galaxi. Queremos más testers!


Sí, así es. Lo comprobé ayer por si acaso. La tecla ALT, con scancode 56 se corresponde con la función ALT.

El problema es que para que haya más testers necesitamos que el hilo sea movido a la sección General, ya que aquí está muy escondido.
Ya se lo comenté a valeta, pero no me respondió.
A ver si sihayqueirseva, que tiene más influencia que nosotros para estas cosas, pudiera hacer algo.

Saludos

skydancer
27/06/11, 17:41:34
Vamos a ver si es posible que cojas el qwerty.kcm a las bravas
NECESITAMOS: ser ROOT y un terminal como el terminal emulator
1. Apaga el teclado
2. En el galaxy ajustes-idiomas y teclados seleccciona "teclado android"
3. En una vvwntana de texto pulsa mantenidamente y en el cuadro "metodo de introducción..." sseleccciona teclado android
Apaga y enciende el telefono para iniciar con los cambios

4. Busca en que directorio están los archivos hciconfig, hicitool y hidd (normalmente /system/bin)

4. Enciende el teclado y ponlo en búsqueda. Abre el terminal
5. Teclea
su
chmod 4755 /system/bin/hciconfig
chmod 4755 /system/bin/hcitool
chmod 4755 /system/bin/hidd
hciconfig
hcitool scan

Te dará las direcciones MAC de los dispositivos emparejados; anota el del teclado bluetooth que necesitarás en el siguiente comando (y posiblemente muchas más veces)

hidd --connect XX:XX:XX:XX:XX
(La dirección obtenida con el comando anterior)

El teclado en teoria se conecta y el LED deja de parpadear. Prueba ahora

drxela
28/06/11, 16:53:23
Si lo he entendido bien, eso haría que por narices el teclado bluetooth usara a la fuerza el archivo qwerty.kcm.bin modificando permisos de esos archivos de conexión.
Si es así, imagino que debería antes de empezar el proceso, colocar el qwerty.kcm.bin remapeado y ya desde ahí seguir los pasos.

En cuanto lo haga te cuento los resultados. Gracias por el trabajo.

Un saludo

__________________________________________________ ______________________
EDITADO: En ajuste de idiomas me aparece el teclado Samsung, por lo que se me ocurre que quizás el problema viene de ahí, de que este teléfono usa un archivo propietario de Samsung...
De todas maneras, estoy siguiendo tu explicación, que por probar que no quede.
__________________________________________________ _____________

EDITADO 2: Bueno, pues he mirado dentro de /system/bin y no hay rastro de esos archivos. Con el rootexplorer he hecho una búsqueda por todo el teléfono (memoria SD incluida) y no me ha dado resultados. No sé qué archivos son la verdad, pero igual en este teléfono se llaman de otra manera o no existen (tengo Android 2.2).

skydancer
28/06/11, 23:46:23
Tienes un correo
Asumimos que teclado samsung = teclado android y segumos...

drxela
29/06/11, 11:26:28
Ok, he metido los 3 archivos en /system/bin/ , pongo el teclado en modo búsqueda y modifico los permisos de los 3 archivos a 4755. Hasta ahí todo bien.
Los dos últimos comandos no los acepta.
Con hciconfig me dice: "Can´t open HCI socket.: Operation not permitted"
Con hcitool scan me arroja: "Device is not available: Operation not permitted"

¿Qué mas permisos hacen falta? Ya le di superuser con "su" y me lo aceptó.

Por cierto, ¿qué versión tienes de Android? Podría ser una idea que actualizara el samsung hasta 2.3, a ver si han solucionado algo de estos temas

Un saludo

skydancer
29/06/11, 12:33:03
Tengo android 2.2, una versión no completamente oficial. En la ROM vienen el hciconfig y el hcitool. El hidd lo he bajado de la web
2 preguntas tontas
Tras el su te sale la almohadilla #?
Tienes activado el bluetooth cuando te salen esos mensajes

drxela
29/06/11, 12:55:33
Sí, me sale la almohadilla cuando escribo el comando "su" y también activé el Bluetooth antes de empezar todo el proceso.
La verdad es que es raro...

skydancer
29/06/11, 16:15:06
prueba con el SDK. A mi me han sakido esos errores si no tenía privilegios completos
salu2 y suerte

drxela
29/06/11, 17:56:50
prueba con el SDK. A mi me han sakido esos errores si no tenía privilegios completos
salu2 y suerte


Pues llevo un rato intentándolo y leyendo por Google y no consigo darle permisos de root a ADB. Sin ellos, claramente, solo me deja acceder a la shell de mi Galaxy pero no me deja ejecutar esos comandos...

__________________________________________________ _______________________________________

ACTUALIZACIÓN: Creo que he dado con el problema. No me lo explico pero está claro que es esto. Aunque las teclas SHIFT y ALT den diferentes scancodes y estén asociados a funciones diferentes dentro de qwerty.kl, en mi dispositivo son lo mismo.
He probado a pulsar SHIFT+7 = / y luego ALT+7 = / y así con todos los números. De manera que es obvio que ALT es SHIFT.
¿La explicación? Ni la más remota idea, pues ambas teclas tienen scancodes diferentes y ALT está asociado con la función ALT....

Vaya lío...

skydancer
29/06/11, 18:26:17
?????????
Vaya cacao
Para su con el SDK, ahora mismo estoy fuera de casa (vacas) y no delente de mi PC pero sigue buscando en el google. Hay un zip/rar con varios archivos incluyendo un superuser y un exploid con contraseña secretlol que es el que utilizo yo. Tal vvez valga otro de los que sugieren en xdadevveloppers, androidcrew, modaco... pero no puedo dartte más pistas en este momento. salu2

skydancer
29/06/11, 18:52:45
creo que era algo como esto
www.intomobile.com/2010/07/22/verizon-motorola-droid-x-gets-root-superuser-is-here-efuse-be-damned/

Ptahotep
02/07/11, 20:56:51
Acabo de comprarme este teclado en el corte inglés para una samsung galaxy tab y estoy flipando con él. Lo primero que me he leido ha sido este post, y estaba probando la única pega que le veo: lo de los acentos. Estaba probando vuestra utilisima solución, y acabo de descubrir que, sin configurar nada especial, pulsado SHIFT+ALT+e aparece un acento con un fondo, como en espera, y cuando pulsas una vocal: sale acentuada!

skydancer
04/07/11, 00:17:22
Leñe!. Muchas gracias por la aportación.
Cuando avisaba que la solución indicada podía no ser válida para todos los sitemas no imaginaba que en los samsung iba a ser tan complicado. Confieso que pensaba que el problema de drxela era un driver instalado y no original (que pintaba un keychar de un teclado exteerno de dell?). Ahorra se nos dice que en galaxy tab sin toquetear la combinación shift-alt-e no produce un caracter sino una FUNCION, UNA RUTINA, por lo que parece que samsung no solo tiene un keychar propio sino unas rtinas propias.
Por mi parte, sigo pensando que el sistema es válido. Quiero sseguir mirando la modificación del keylayaut en android; también quiero estudiar este teclado con mi htc cruise (windows mobile)...pero si puedo pillar algún samsung voy a intentar destriparlo
salu2

Ptahotep
04/07/11, 08:28:22
Pues como digo en el otro hilo, copié el código hexadecimal del acento a la tecla de cedilla y ahor pongo los acentos como en un teclado normal.
Pero es qué anoche pasé el fichero qwerty.kcm.bin a mi Nexus One (también con 2.3) y funciona perfectamente. Eso si, en todos los casos con swype seleccionado como método de introducciòn de texto. Con el teclado samsung, algunas funciones no van.

drxela
06/07/11, 21:05:24
Lo primero, muchas gracias por compartir tu información, otro más al grupo.

He de decir que me has ILUMINADO. Ya he dado con el problema gracias a un comentario que has puesto referente al teclado Swype. Claro, era eso, yo estaba usando el teclado Samsung, y efectivamente, como decís, tiene sus rutinas propias y funciona como quiere.
Seleccionando el teclado Swype, evidentemente, llama al binario por defecto (el que modifiqué siguiendo las buenas instrucciones de Skydancer) y, aleluya, aparece la vocal acentuada con ALT+vocal

Por otra parte y ya para dejar esto perfeccionado, no acabo de entender como "traspasas" el código hexadecimal del acento a la tecla de cedilla. ¿Qué copias? ¿Dónde lo pegas? Te agradecería un par de ejemplos (estoy bastante embotado ya con este tema).


He de daros las gracias a ambos, por supuesto, que habéis contribuido completamente a la solución del problema que no pude yo resolver cuando compré el teclado.

Un saludo

__________________________________________________ ________________
EDITADO:
Bueno, he conseguido poner vocales acentuadas con la cedilla de una forma un tanto rústica. En el qwerty.kl le he asignado a la tecla Ç que sea un modificador ALT (de tal manera que es otro ALT). No sé si lo has hecho tú así o de una forma mejorada.

Lo que no acabo de entender son los símbolos de FN en azul (?¿ como se escriben, y los demás). No obedecen a las reglas del archivo binario... ¿Podríais colocar alguno de los dos un extracto de vuestra configuracion referente a los símbolos azules?
(Puedo escribirlos con ALT, como bien configuró su binario Skydancer, pero la tecla FN es un tanto misteriosa)

Ptahotep
06/07/11, 21:58:02
Hola, ya sabía yo que lo del swype sería una clave para alguno ;-)
Yo lo que hice fue buscar el código hexadecimal que le correspondía a la tilde 'Shift+Alt+e'. Y le correspondía un '01'. Entonces pegué el '01' en la tecla de la cedilla. Pero no funcionó (salía un cuadrado hueco, símbolo de que no entendía el carácter).
Así que se me ocurrió poner los códigos hexadecimales de los lados:
00 01 03

Así que copié los 3 números, los pegué en el lugar de la cedilla y eso ya sí funcionó. Os adjunto mi qwerty.kcm.bin:
Offset(h) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F

00000000 6B 65 79 63 68 61 72 00 78 56 34 12 02 00 00 00 keychar.xV4.....
00000010 36 00 00 00 03 00 00 00 00 00 00 00 00 00 00 00 6...............
00000020 07 00 00 00 30 00 30 00 30 00 3D 00 29 00 29 00 ....0.0.0.=.).).
00000030 08 00 00 00 31 00 31 00 31 00 21 00 7C 00 21 00 ....1.1.1.!.|.!.
00000040 09 00 00 00 32 00 32 00 32 00 22 00 40 00 40 00 ....2.2.2.".@.@.
00000050 0A 00 00 00 33 00 33 00 33 00 B7 00 23 00 23 00 ....3.3.3.·.#.#.
00000060 0B 00 00 00 34 00 34 00 34 00 24 00 24 00 24 00 ....4.4.4.$.$.$.
00000070 0C 00 00 00 35 00 35 00 35 00 25 00 25 00 25 00 ....5.5.5.%.%.%.
00000080 0D 00 00 00 36 00 36 00 36 00 26 00 5E 00 5E 00 ....6.6.6.&.^.^.
00000090 0E 00 00 00 37 00 37 00 37 00 2F 00 5C 00 26 00 ....7.7.7./.\.&.
000000A0 0F 00 00 00 38 00 38 00 38 00 28 00 2B 00 2A 00 ....8.8.8.(.+.*.
000000B0 10 00 00 00 39 00 39 00 39 00 29 00 2A 00 28 00 ....9.9.9.).*.(.
000000C0 11 00 00 00 2A 00 2A 00 2A 00 2A 00 2A 00 2A 00 ....*.*.*.*.*.*.
000000D0 12 00 00 00 23 00 23 00 23 00 23 00 23 00 23 00 ....#.#.#.#.#.#.
000000E0 1D 00 00 00 41 00 32 00 61 00 41 00 E1 00 00 00 ....A.2.a.A.á...
000000F0 1E 00 00 00 42 00 32 00 62 00 42 00 3C 00 00 00 ....B.2.b.B.<...
00000100 1F 00 00 00 43 00 32 00 63 00 43 00 39 00 E7 00 ....C.2.c.C.9.ç.
00000110 20 00 00 00 44 00 33 00 64 00 44 00 BF 00 00 00 ...D.3.d.D.¿...
00000120 21 00 00 00 45 00 33 00 65 00 45 00 E9 00 01 03 !...E.3.e.E.é...
00000130 22 00 00 00 46 00 33 00 66 00 46 00 36 00 A5 00 "...F.3.f.F.6.¥.
00000140 23 00 00 00 47 00 34 00 67 00 47 00 2D 00 5F 00 #...G.4.g.G.-._.
00000150 24 00 00 00 48 00 34 00 68 00 48 00 5B 00 7B 00 $...H.4.h.H.[.{.
00000160 25 00 00 00 49 00 34 00 69 00 49 00 ED 00 02 03 %...I.4.i.I.í...
00000170 26 00 00 00 4A 00 35 00 6A 00 4A 00 5D 00 7D 00 &...J.5.j.J.].}.
00000180 27 00 00 00 4B 00 35 00 6B 00 4B 00 22 00 7E 00 '...K.5.k.K.".~.
00000190 28 00 00 00 4C 00 35 00 6C 00 4C 00 27 00 60 00 (...L.5.l.L.'.`.
000001A0 29 00 00 00 4D 00 36 00 6D 00 4D 00 21 00 00 00 )...M.6.m.M.!...
000001B0 2A 00 00 00 4E 00 36 00 6E 00 4E 00 F1 00 03 03 *...N.6.n.N.ñ...
000001C0 2B 00 00 00 4F 00 36 00 6F 00 4F 00 F3 00 00 00 +...O.6.o.O.ó...
000001D0 2C 00 00 00 50 00 37 00 70 00 50 00 29 00 01 03 ,...P.7.p.P.)...
000001E0 2D 00 00 00 51 00 37 00 71 00 51 00 2A 00 00 03 -...Q.7.q.Q.*...
000001F0 2E 00 00 00 52 00 37 00 72 00 52 00 33 00 AC 20 ....R.7.r.R.3.¬
00000200 2F 00 00 00 53 00 37 00 73 00 53 00 3F 00 DF 00 /...S.7.s.S.?.ß.
00000210 30 00 00 00 54 00 38 00 74 00 54 00 2B 00 A3 00 0...T.8.t.T.+.£.
00000220 31 00 00 00 55 00 38 00 75 00 55 00 FA 00 08 03 1...U.8.u.U.ú...
00000230 32 00 00 00 56 00 38 00 76 00 56 00 3D 00 5E 00 2...V.8.v.V.=.^.
00000240 33 00 00 00 57 00 39 00 77 00 57 00 31 00 00 00 3...W.9.w.W.1...
00000250 34 00 00 00 58 00 39 00 78 00 58 00 38 00 00 EF 4...X.9.x.X.8..ï
00000260 35 00 00 00 59 00 39 00 79 00 59 00 25 00 A1 00 5...Y.9.y.Y.%.¡.
00000270 36 00 00 00 5A 00 39 00 7A 00 5A 00 37 00 00 00 6...Z.9.z.Z.7...
00000280 37 00 00 00 2C 00 2C 00 2C 00 3B 00 3B 00 7C 00 7...,.,.,.;.;.|.
00000290 38 00 00 00 2E 00 2E 00 2E 00 3A 00 3A 00 26 20 8.........:.:.&
000002A0 3D 00 00 00 09 00 09 00 09 00 09 00 09 00 09 00 =...............
000002B0 3E 00 00 00 20 00 20 00 20 00 20 00 01 EF 01 EF >... . . . ..ï.ï
000002C0 42 00 00 00 0A 00 0A 00 0A 00 0A 00 0A 00 0A 00 B...............
000002D0 44 00 00 00 60 00 60 00 60 00 7E 00 60 00 7E 00 D...`.`.`.~.`.~.
000002E0 45 00 00 00 2D 00 2D 00 2D 00 5F 00 2D 00 5F 00 E...-.-.-._.-._.
000002F0 46 00 00 00 3D 00 3D 00 3D 00 2B 00 3D 00 2B 00 F...=.=.=.+.=.+.
00000300 47 00 00 00 5B 00 5B 00 5B 00 7B 00 5B 00 7B 00 G...[.[.[.{.[.{.
00000310 48 00 00 00 5D 00 5D 00 5D 00 7D 00 5D 00 7D 00 H...].].].}.].}.
00000320 49 00 00 00 3F 00 5C 00 01 03 3F 00 5C 00 7C 00 I...?.\...?.\.|.
00000330 4A 00 00 00 3B 00 3B 00 3B 00 3A 00 3B 00 3A 00 J...;.;.;.:.;.:.
00000340 4B 00 00 00 27 00 27 00 27 00 22 00 27 00 22 00 K...'.'.'.".'.".
00000350 4C 00 00 00 2D 00 2D 00 2D 00 5F 00 2D 00 5F 00 L...-.-.-._.-._.
00000360 4D 00 00 00 40 00 30 00 40 00 30 00 30 00 22 20 M...@.0.@.0.0."
00000370 51 00 00 00 2B 00 2B 00 2B 00 2B 00 2B 00 2B 00 Q...+.+.+.+.+.+.

Pongo en rojo y subrayado lo que copie desde la 'e' hasta la cedilla (debajo). Un saludo.

Ptahotep
06/07/11, 22:12:21
Y ahora, ya no edito más el mensaje anterior que lo he modificado lo menos 10 veces para que se viera bien. Lo de la tecla Fn yo tb lo dejé por imposible, y en realidad asigné la 'ñ' a ALT+n y las interrogaciones en SHIFT+cedilla y ALT+cedilla. Y en realidad, ya no necesito nada más.

Por cierto, perdonad las meteduras de pata porque todo lo he hecho a ojo (tras seguir las magníficas instrucciones de este hilo), sin conocimientos informáticos sobre este tema.

drxela
06/07/11, 22:20:35
Entiendo, pero me sigue pareciendo algo enrevesado :pensando:.
Ignoro si el convertir mi tecla Ç en una ALT puede traerme algún problema de remapeo en el futuro, pero me parece que es más útil en tanto en cuanto también puedes acceder con ella a lo que antes accedías con el ALT izquierdo de forma más rápida.

Bien, entre toda la info y vuestros binarios, ahora el teclado acentúa con ALT las vocales (en mi caso, con mi Ç), tiene todos los símbolos numéricos accesibles con SHIFT unos y con ALT otros, y los símbolos azules de las consonantes accesibles con SHIFT+ALT.

Me parece que está todo, por lo menos, lo de uso cotidiano. Y lo más importante, de una forma cómoda y similar en el espacio a un teclado de PC.
Gracias una vez más.

Ptahotep
06/07/11, 22:26:24
Pero cuando dices que has convertido la cedilla en un ALT quieres decir que evidentemente tienes mapeado ALT+a para á, ALT+e para é, etc., verdad?
Yo lo que he hecho, con la solución pegada, es que ahora al pulsar la tecla 'Ç' salga una tilde, esperando a que se pulse un nuevo botón, y se pulse carácter que se pulse, éste se acentúa. Vamos, como la tecla de tilde del teclado de toda la vida.

drxela
06/07/11, 22:34:21
Pero cuando dices que has convertido la cedilla en un ALT quieres decir que evidentemente tienes mapeado ALT+a para á, ALT+e para é, etc., verdad?

Efectivamente, tal y como Skydancer expuso anteriormente.

Yo lo que he hecho, con la solución pegada, es que ahora al pulsar la tecla 'Ç' salga una tilde, esperando a que se pulse un nuevo botón, y se pulse carácter que se pulse, éste se acentúa. Vamos, como la tecla de tilde del teclado de toda la vida.

Entiendo. Es una opción a tomar en cuenta. Usaré ambas a ver cual me resulta más sencilla. Pero ya digo, con Ç convertida en ALT tienes más cerca otras teclas y es multiusos.
La verdad es que cualquiera es efectiva.


Por cierto, he editado el primer post para el que entre nuevo. Lo digo por si queréis subir vuestros archivos en forma de adjuntos y facilitarle la vida al menos iniciado.

Un saludo

Ptahotep
06/07/11, 22:41:34
Ok, gracias drxela, que grande es el foro!

unoquellega
07/07/11, 12:36:55
En primer lugar, gracias a drxela, skydancer y Pthotep, porque gracias a ellos he podido configurar mi teclado, que aunque no es el mismo que el vuestro, las explicaciones son perfectamente válidas (es uno de 102 teclas por usb).

El caso es que creo que puedo arrojar un poquito más de luz, aunque lo cierto es que ya tenéis un teclado perfectamente funcional.

En primer lugar, yo tampoco tengo conocimentos de estas cosas, así que también lo he hecho a ojo. El caso es que he llegado a la siguiente conclusión: al igual que en la parte derecha del fichero hexadecimal lo importante son los cuatro caracteres de la derecha (que obedecen, respectivamente, a la pulsación normal, shift, alt y alt+shift respectivamente), algo parecido ocurre con la parte izquierda del fichero, de forma que los números que aparecen debajo de las columnas 08 09 corresponden a la pulsación normal, 0A 0B a shift, 0C 0D a alt y 0E 0F a Alt+Shift. Por ejemplo, si os fijáis en la tecla correspondiente a la letra A del fichero que publica Pthotep, veréis que debajo de 08 09 pone 61 00 y debajo de 0A 0B 41 00. Algo similar ocurre con el resto de teclas. Esto significa que 61 00 corresponde a "a" y 41 00 a "A". Por lo tanto, a la hora de incluir la tilde, no es del todo correcta la explicación de Pthotep, ya que no habría que modificar los números de delante. Es decir, que para poner la tilde bastaría con poner 01 03 en la columna 08 09 de la tecla de la cedilla para que saliese la tilde con la pulsación normal de la tecla. No sé si me habré sabido explicar, espero que sí.

Igualmente, veo en el fichero de Pthotep que os pueden faltar al menos dos caracteres que pueden ser útiles para escribir en español, que son la diéresis (¨) y el euro (€). Sus códigos son, respectivamente, 08 03 y AC 20. Para que funcione deberéis copiar esos códigos debajo de las columnas que os interese (según sea shift, alt o alt+shift) de la tecla que deseéis.

Como os digo, mi teclado es de 102 teclas, por lo que lo tengo exactamente igual configurado que un teclado normal en español, por lo que si necesitáis el código de algún otor caracter me lo decís y os lo pongo. Podría subir mi fichero hexadecimal, pero al ser diferente la distribución de las teclas, prefiero no hacerlo, ya que podría inducir a error, teniendo en cuenta que el hilo se refiere a un teclado en concreto. Por cierto, el otro fichero, el qwerty.kl, ni lo he tocado. No es necesario modificarlo para que funcione el teclado.

Espero que os haya podido ser de ayuda.

Ptahotep
07/07/11, 13:01:49
Gracias unoquellega, así se construye el conocimiento. Entiendo perfectamente lo que explicas y tienes toda la razón. Gracias, porque eso simplifica el tema. Lo del € y la diéresis lo incluiré, y lo del Fn seguirá desconocido, pero en verdad no aporta mucho más.

Lo que sí quería comentar es que ayer me di cuenta que cuando escribo un correo-e en la app que trae mi Galaxy Tab, no tiene en cuenta todos los cambios realizados en el teclado (es raro, porque en el resto de apps funciona perfectamente). Y al hilo de esto, yo tampoco cambié el qwerty.kl, pero sí que tengo un fichero qwerty2.kcm.bin. Sabéis si esto es porque tengo 2 idiomas en el swype (español y inglés) y cada uno (qwerty y qwerty2) vale para cada idioma? Ahora mismo no tengo aquí la Galaxy, pero al final decidí copiar el qwerty2 exactamente igual al qwerty, y claro, no noté nada raro.

unoquellega
07/07/11, 13:42:38
Yo no tengo instalado Swype en mi Folio 100, porque intenté instalarlo y no me dejó, por la resolución de la pantalla. Tampoco la tengo delante en este momento. Probaré a instalar la úlitma versión, a ver si me deja, y escribiré un correo para ver si me pasa lo mismo que a ti.

drxela
07/07/11, 14:05:02
Gracias unoquellega, ya he acabado de entender totalmente la modificación en relación al aspecto hexadecimal (tiene su aquel si no te paras a leerlo despacio mirando el binario a la vez jeje).

Aunque realmente, no haría falta tocar las columnas hexadecimales (ni saber el código hexadecimal de cada caracter) pues modificando las columnas de la derecha, se aplica automáticamente el código respectivo en hexadecimal. Es decir, si borro # y pongo á, el software ya se encarga de convertir el caracter a hex y escribirlo en donde corresponde (para mayor facilidad).

Lo que sí quería comentar es que ayer me di cuenta que cuando escribo un correo-e en la app que trae mi Galaxy Tab, no tiene en cuenta todos los cambios realizados en el teclado (es raro, porque en el resto de apps funciona perfectamente). Y al hilo de esto, yo tampoco cambié el qwerty.kl, pero sí que tengo un fichero qwerty2.kcm.bin. Sabéis si esto es porque tengo 2 idiomas en el swype (español y inglés) y cada uno (qwerty y qwerty2) vale para cada idioma? Ahora mismo no tengo aquí la Galaxy, pero al final decidí copiar el qwerty2 exactamente igual al qwerty, y claro, no noté nada raro.Yo tengo más de un archivo .kcm.bin (de hecho tengo 6 o así) todos iguales, exactamente iguales.
Dudo mucho que qwerty y qwerty2 sean respectivos al idioma, por eso mismo, porque son iguales.

De todas maneras, los archivos que haya al dispositivo le importa un bledo. Android carga por defecto qwerty.kcm.bin y no otro.
Quizás esa aplicación de la Galaxy Tab llame a un binario concreto (por el hecho de ser una aplicación específica para escribir textos largos) pero me extraña.

De todas maneras, no estaría de más que comprobaras con el SDK o con la terminal cuales archivos carga Android por defecto.
Y también te puede ser útil mirar el Logcat cuando cargues la aplicación que te da problemas. Ahí se debería registrar si hace un llamamiento a otro binario.

Un saludo

unoquellega
07/07/11, 16:22:08
Aunque realmente, no haría falta tocar las columnas hexadecimales (ni saber el código hexadecimal de cada caracter) pues modificando las columnas de la derecha, se aplica automáticamente el código respectivo en hexadecimal. Es decir, si borro # y pongo á, el software ya se encarga de convertir el caracter a hex y escribirlo en donde corresponde (para mayor facilidad).

Drxela, esto que dices es cierto para la gran mayoría de los caracteres, pero no para todos. Por ejemplo, si lo que queréis es poner la tilde en la tecla de la cedilla es necesario modificar la parte hexadecimal del fichero, poniendo, como se ha comentado anteriormente, 01 03 en el lugar correspondiente. Al hacer esto, verás como en la parte derecha del fichero, donde debería aparecer el símbolo ("´", en este caso), lo que aparece es un punto ("."). Esta es la única manera de que este caracter funcione correctamente. Si en la parte derecha pusieses directamente la tilde ("´" ), en la parte hexadecimal aparecería B4 00 en lugar 01 03 y lo que sucedería es que al teclear la cedilla, en lugar de poner los acentos así: "á" los pondría así: "´a". Algo parecido ocurre con el euro. Si tu pones "€" en la derecha, en la izquierda aparece 80 00. Si hicieses esto, al pulsar la tecla del euro, aparecería el simbolito este del rectángulo vacío, como si no reconociese el caracter. En cambio, si en la parte hexadecimal pones AC 20, en la derecha aparece este símbolo: "¬", y al pulsar la tecla pone "€" perfectamente.

Lo mismo sucedería, al menos para el resto de los acentos. Creo que conviene aclarar esto, ya que en estos casos no es suficiente con modificar la parte derecha del fichero.

drxela
07/07/11, 16:29:23
No había tenido ocasión de comprobarlo, gracias de nuevo por la rectificación.

Con eso y con todo, algunas personas se perderán en la edición del archivo binario para conseguir las tildes.
Afortunadamente, hemos llegado a un punto en el que tenemos diversidad de "remapeo", y podemos elegir hacerlo de varias maneras y con teclas diferentes.

Ptahotep
07/07/11, 21:12:43
Bueno, yo ya creo que lo tengo todo. He probado de nuevo a mapear la tecla Fn, pero no hay manera. He descubierto esta correspondencia (más o menos), en las filas de abajo:
fichero qwerty (filas del final)->teclas del teclado
G->Q
H->E
Q->D
B->Intro

Y he puesto, por ejemplo esto, para probar:
G...a.b.c.d.e.f.

Y entonces cuando pulso Fn+Q sale c
Fn+Shift+Q sale f
Fn+Alt+Q sale e

Fn+W sale d
Fn+Shift+W sale d
Y lo mejor de todo: Fn+Alt+W sale f la primera vez, pero si no sueltas Fn+Alt y sigues pulsando W sale d

En fin, entropía total, o al menos yo no lo entiendo.

Por cierto, sabéis como poner º y ª? (editado: ya lo tengo, lo he puesto como Alt+a y Alt+o, simplemente)

skydancer
07/07/11, 23:52:59
Chicos, enhorabuena!
He tenido un pequeño problema con la V9 (algo me tocó la pequeñaja y se me volvió loca la pantalla tactil)
Las ultimas 24 horas han sido muy interesantes. Pero sí, modificar el layout tiene como contrapartida modificar el trabajo hecho sobre el keychar!!!. No nos volvamos locos con el. Es una opción más. Me intersa más obttener funciones utiles de las teclas ahora "inutiles" como ctrl, bloqMayusc,...recuperar next y prev (creo que las funciones sse llaman media next y media prev), tal vez asignar tecla a las funciones call y endcall...
En cuaquieeer caso, gran trabajo, graciaas a todos

drxela
09/07/11, 13:40:13
Me intersa más obttener funciones utiles de las teclas ahora "inutiles" como ctrl, bloqMayusc,...recuperar next y prev (creo que las funciones sse llaman media next y media prev), tal vez asignar tecla a las funciones call y endcall...

Eso estaría muy bien para rematar la faena, le echaré un vistazo. El hilo estará por aquí si consigues algo (en la página 2 tal vez jeje).
De eso quería comentaros algo. Me he puesto en contacto con un par de moderadores para ver si se podía traspasar el hilo a la Zona General de Android, porque es una pena que todo el trabajo se pierda aquí, en las profundidades de Accesorios (que, la verdad, entra bastante poca gente), pero no ha habido suerte.
A ver si nos unimos todos en una petición conjunta y podemos hacer algo más.

Venga, ¡un saludo!

skydancer
22/07/11, 10:37:31
Bueno, yo ya creo que lo tengo todo. He probado de nuevo a mapear la tecla Fn, pero no hay manera. He descubierto esta correspondencia (más o menos), en las filas de abajo:
fichero qwerty (filas del final)->teclas del teclado
G->Q
H->E
Q->D
B->Intro

Y he puesto, por ejemplo esto, para probar:
G...a.b.c.d.e.f.

Y entonces cuando pulso Fn+Q sale c
Fn+Shift+Q sale f
Fn+Alt+Q sale e

Fn+W sale d
Fn+Shift+W sale d
Y lo mejor de todo: Fn+Alt+W sale f la primera vez, pero si no sueltas Fn+Alt y sigues pulsando W sale d

En fin, entropía total, o al menos yo no lo entiendo.

Por cierto, sabéis como poner º y ª? (editado: ya lo tengo, lo he puesto como Alt+a y Alt+o, simplemente)

Pues resulta que nos hemos equivocado, yo el primero cuando decía que no es posible sacar partio de Fn modimicando el keychar. SI hay una correspondencia
pero no entre las letras que tu pones:
Fijaros en la primera columna de la izquierda, justo al lado del offset. Son números hexadecimales, mas o menos correlativos y en orden ascendente. Si los
convertimos en decimales OBTENEMOS EL KEYCODE de cada tecla. Por ejemplo 07 sigue sieno 07 en decimal KEYCODE 07 que corresponde al 0. 1D hexa corresponde
al decimal 29, scancode 29: tecla A... (señalado en verdes)

00000000 6B 65 79 63 68 61 72 00 78 56 34 12 02 00 00 00 keychar.xV4.....
00000010 36 00 00 00 03 00 00 00 00 00 00 00 00 00 00 00 6...............
00000020 07 00 00 00 30 00 30 00 30 00 3D 00 29 00 29 00 ....0.0.0.=.).).
00000030 08 00 00 00 31 00 31 00 31 00 21 00 7C 00 21 00 ....1.1.1.!.|.!.
00000040 09 00 00 00 32 00 32 00 32 00 22 00 40 00 40 00 ....2.2.2.".@.@.
00000050 0A 00 00 00 33 00 33 00 33 00 B7 00 23 00 23 00 ....3.3.3.·.#.#.
00000060 0B 00 00 00 34 00 34 00 34 00 24 00 24 00 24 00 ....4.4.4.$.$.$.
00000070 0C 00 00 00 35 00 35 00 35 00 25 00 25 00 25 00 ....5.5.5.%.%.%.
00000080 0D 00 00 00 36 00 36 00 36 00 26 00 5E 00 5E 00 ....6.6.6.&.^.^.
00000090 0E 00 00 00 37 00 37 00 37 00 2F 00 5C 00 26 00 ....7.7.7./.\.&.
000000A0 0F 00 00 00 38 00 38 00 38 00 28 00 2B 00 2A 00 ....8.8.8.(.+.*.
000000B0 10 00 00 00 39 00 39 00 39 00 29 00 2A 00 28 00 ....9.9.9.).*.(.
000000C0 11 00 00 00 2A 00 2A 00 2A 00 2A 00 2A 00 2A 00 ....*.*.*.*.*.*.
000000D0 12 00 00 00 23 00 23 00 23 00 23 00 23 00 23 00 ....#.#.#.#.#.#.
000000E0 1D 00 00 00 41 00 32 00 61 00 41 00 E1 00 00 00 ....A.2.a.A.á...
000000F0 1E 00 00 00 42 00 32 00 62 00 42 00 3C 00 00 00 ....B.2.b.B.<...


Pues resulta que la combinación Fn-tecla no produce keycodes al azar, sino los de las teclas de simbolos de la parte inferior del keychar. En algunas
teclas, con el testkey vemos que se produce un keycode con meta 65 (es decir como si hubiéremos pulsado shift. Por ejemploFn-Q pruce el caracter [ con
scancode 71 mientras que Fn-W produce { con scancode 71 y meta 65. Ni que decir tiene que puldsando shift-Fn-Q también obtenemos la llave {
Con este conocimiento ya podemos remapear la tecla Fn. Por ejemplo, vamos a remapear Fn-S y FnD para obtener ? y ¿ como tenemos marcado en las teclas. Puesto
que Fn-S produce el keycode 69,65 y Fn-D 70,65, tenemos que remapear las teclas 45 y 46 en la posición "shift". Si queremos la Ñ como Fn-V (keycode 74)
tendremos que mapear la tecla 4A en la posición "base" y así con todas las que nos interesen.

45 00 00 00 2D 00 2D 00 2D 00 3F 00 2D 00 5F 00 E...-.-.-.?.-._.
46 00 00 00 3D 00 3D 00 3D 00 BF 00 3D 00 2B 00 F...=.=.=.¿.=.+.
47 00 00 00 5B 00 5B 00 5B 00 7B 00 5B 00 7B 00 G...[.[.[.{.[.{.
48 00 00 00 5D 00 5D 00 5D 00 7D 00 5D 00 7D 00 H...].].].}.].}.
49 00 00 00 5C 00 5C 00 E7 00 C7 00 3A 00 7D 00 I...\.\.ç.Ç.:.}.
4A 00 00 00 3B 00 3B 00 3B 00 3A 00 3B 00 3A 00 J...;.;.ñ.:.;.:.
4B 00 00 00 27 00 27 00 01 03 22 00 27 00 22 00 K...'.'...".'.".
4C 00 00 00 2F 00 2F 00 2F 00 3F 00 3F 00 5C 00 L.../././.?.?.\.
4D 00 00 00 40 00 30 00 40 00 30 00 30 00 22 20 M...@.0.@.0.0."
51 00 00 00 2B 00 2B 00 2B 00 2B 00 2B 00 2B 00 Q...+.+.+.+.+.+.

Y ahora viene lo gordo: si transportamos el famoso 00 01 03 a la
tecla Fn-B KEYcode 75, tecla 4B posición base obtenemos e cuadradito dispuesto a acentuar la siguiente vocal!!!!:platano::platano:

NI que decir tiene que podemos mapear no solo Fn-tecla sino shift-Fn-tecla con lo que aumentamos aún más las posibilidades del teclado
salu2

Ptahotep
22/07/11, 20:59:34
Qué buena noticia! Pero llevo probando un rato, mirando tablas ascii frente a hex, y no entiendo como asignas una tecla a cada "scancode". Podrías explicarlo o hay algún sitio qué nos recomiendes? Gracias otra vez.

skydancer
22/07/11, 21:20:04
con la aplicacion testkey (market) buscas el keycode de cada tecla o combinación de teclas, inclyendo Fn. Al principio del hilo se explica. El testkey te indica el skeycode y si hay un modificador, el mismo, al que llama meta. El de la tecla mayusculas ( shift) es el 65....
A continuación, conviertes elkeycodea hexadecimal y buscas el hexa en la columna contigua al offset. Si el testkey te da keycode X y meta 0 cambias el caracter de la posición base, si te a X con meta 65 cambias la posición shift

Ptahotep
22/07/11, 21:27:40
Perdona mi torpeza. Justo al enviar el correo me di cuenta, pero lo estoy buscando por el market y por la red, pero no lo encuentro.

skydancer
22/07/11, 21:33:48
perdona tu la mía, no es testkey sino keytest, sorry
salu2

Ptahotep
22/07/11, 21:47:24
Pues tampoco me aparece en el market :-(

Ptahotep
22/07/11, 21:59:37
Vale, a probar; instalé el keyevent display, que parece que tb funciona

Ptahotep
22/07/11, 22:43:37
Ya lo entiendo! Por cierto, comparto con vosotros las herramientas que uso ahora, que facilitan mucho el trabajo.
Hasta ahora editaba el fichero qwerty con el HxD de windows. Pero ahora he instalado la app del market hexeditor, selecciono el fichero y a editar directamente desde la tablet. Eso sí, antes debo remontar la partición /system así:
Abro la app connectBot (un terminal de comandos)
su
mount -o remount,rw -t /dev/block/st19 /system
(donde st19 varía según el dispositivo, pero se averigüa con el comando "df" y buscando la línea que acaba en /system)

No sé si os servirá.

skydancer
24/07/11, 19:06:37
cagen too!. No es el scancode sino el keycode lo que hay que comprobar /y traducir a hexa con el keytest. Corrigo mensajes y sorry:rolleyes:
salu2

skydancer
26/07/11, 01:42:18
Para el faraón y al que le interese
KEYTEST:
https://github.com/chrisboyle/keytest/downloads

Una mala noticia, aunque no me he rendido. Tengo algunos problemas para reconfigurar el keylayout. Pensaba que solo era añadir unas lineas con el sacancode de las teclas "sin función" del inves pero no me funciona por el momento.
salu2

Ptahotep
26/07/11, 09:30:59
Gracias Dancer! A ver si ahora en agosto cojo un rato y me pongo al menos a configurar todas las Fn.

skydancer
26/07/11, 13:28:58
El asunto s el siguiente:
Siguiendo las instrucciones de sihayqueirseva http://www.htcmania.com/showthread.php?t=159737
he añadido al querty.kl las siguientes lineas:

key 1 ESCAPE
key 58 CAPS_LOCK
key 109 PAGE_DOWN
key 104 PAGE_UP
key 164 MEDIA_PLAY_PAUSE
key 163 MEDIA_NEXT
key 165 MEDIA_PREVIOUS
key 29 CTRL_LEFT

Creo que queda claro que el propósito es devolver la función a las teclas del inves inservibles; los scancodes son correctos y todas las funciones que quiero añadir están declaradas como eventos accesibles desde teclado
http://developer.android.com/reference/android/view/KeyEvent.html

Lo que si que me he fijado es que aunque las teclas devuelven el scancode indicado, todas ellas tienen algo en común: devuelven KEYCODE 0.
Al parecer no podremos remapear teclas o combinaciones que devuelvan keycode 0

churry
25/08/11, 15:17:28
Yo keria un teclado bluethooth para mi archos 70 internet tablet, he visto esta http://www.dealextreme.com/p/49-key-mini-rechargeable-bluetooth-wireless-qwerty-keyboard-for-android-windows-symbian-iphone-45604 y por los cojentarios de la gente que lo a comprado solo t ace falta un programa para android y listo, que opinais?

churry
25/08/11, 15:31:52
Tambien he visto esta http://www.dealextreme.com/p/49-key-mini-rechargeable-bluetooth-wireless-qwerty-keyboard-for-windows-symbian-iphone-mobile-55401 cual me recomendais?

renatojrn
27/09/11, 15:46:20
é - acento agudo = alt + e = [´ ]
ã = til= alt + n = [~ ]
ê = acento circunflexo = alt + i = [ ^]
ü= trema = alt + u = [ ¨]
ß= alt + s
ç= alt + c

Ptahotep
08/03/12, 22:19:27
Retomando ahora este hilo, ahora tengo ICS4 en mi tablet y el mapeo es ahora diferente. Alguien tiene experiencia? Ahora el fichero kcm es más claro, pero no consigo configurar las tildes, por ejemplo.

jalet
17/04/12, 23:22:03
Muy buenas, ayer me compré este teclado. He realizado algunas pruebas y en general estoy contento.
Tengo un Samsung Galaxy S 2 y con el tema del teclado en rspañol, me lo ha reconocido fácilmente. El teclado bluetooth utiliza el teclado genérico fer Samsung. Lo que hice fue configurar el idioma del teclado Samsung al español. De esta manera he conseguido que me escriba con tildes y con la ñ.
Dentro de las cosas negativas, no he conseguido que me reconozca la tecla de la ç. Por otro lado cuando escribo me aparece el teclado virtual y no se quitarlo. También he encontrado problemas con los botones del ratón, los dos hacen la misma función.
Por último no he encontrado la tecla home en el teclado, y el botón de retroceso la he podido utilizar con la tecla ESC, esta opción no sirve para todos los programas.
Siento mucho el royo que os he metido. Si descubro nuevas cosas os las pongo.

Enviado desde mi GT-I9100 usando Tapatalk 2

oscargp69
24/05/12, 14:39:32
He estado hoy en ECI mirando este teclado pero tengo un problemilla, tenian 3 modelos distintos:

El que sale aqui en la primera pagina
http://i56.tinypic.com/205z1uq.jpg

El que parece una nueva version (o quiza anterior, no lo se)
http://sgfm.elcorteingles.es/SGFM/dctm/IMAGENES/201201/11/00128535811179___P1_600x600.jpg

Y el mismo en blanco para mac
http://sgfm.elcorteingles.es/SGFM/dctm/IMAGENES/201201/13/00128535811187P1_600x600.jpg

Los tienen todos al mismo precio y mi pregunta es si teneis experiencia con las otras versiones, si lo podre mapear y esas cosas. Y otra duda, cuando conectaba un raton por usb a mi galaxy s2 (con el cable otg) me salia la flecha del raton en la pantalla. Con este teclado al tener un joystick para el raton ¿ocurre lo mismo?

Saludos y gracias por la review/tutorial.

Ptahotep
24/05/12, 18:07:16
Hola, yo el que tengo es el primero y es totalmente remapeable. Ahora en ICS incluso más fácil, aunque aún no lo he configurado completamente, por falta de tiempo. Además, el ratón es perfectamente funcional (sale flecha de cursor tanto en 2.3, como en ICS4).

oscargp69
06/06/12, 12:24:59
Creo que voy a coger uno para mi nuevo s3, ya he probado un receptor de teclado y raton con el cable otg y va de fabula. Como en el corte ingles no hay problema para cambiar las cosas probare el 2º que me confirman que es la nueva version y si me da problemas lo cambio por el viejo. Ya os comentare la experiencia. Saludos.

aishaz
15/06/12, 16:20:28
hola! me he comprado este teclado:
http://www.appinformatica.com/teclados-t-visto-mini-teclado-bluetooth-ultraplano.php

y vienen las teclas de simbolos, la ñ, las tildes, desconfiguradas, tengo ICS en el tablet (acer a100), me puede guiar alguien sobre como se remapean?? la forma es la misma que se comenta por aquí aunque el teclado sea diferente? es la única forma de configurarlo? gracias!

aishaz
15/06/12, 17:59:41
Pues creo que lo he solucionado de una forma mucho más sencilla... Utilizando la app del market "external keyboard helper pro", sólo con ponerla ya me funcionan todas las teclas, tildes, comillas, interrogantes, todos los símbolos... :D Igualmente parece que da opción a mapear teclas, pero vamos que de base ya me funciona todo :D simplemente se instala, y cuando conectas el teclado físico eliges el external keyboard helper como método de introducción y listo!

Enviado desde mi A100 usando Tapatalk 2

Ptahotep
17/06/12, 00:04:32
Sabía que tenía que haber ya una app para ésto. Gracias, la probaré.

Enviado desde mi Nexus One usando Tapatalk 2

Ptahotep
17/06/12, 17:54:36
En una palabra: Maravilloso!
Hace unos días estuve buscando algo así y no lo encontré.

Reconoce el teclado a la primera y TODAS las teclas. Y luego te permite configurar manualmente las que quieras, modificando el mismo el keychar.

Muchisimas gracias!

Enviado desde mi Nexus One usando Tapatalk 2

aishaz
17/06/12, 20:40:43
Me alegro de que te haya sido de utilidad :D

Enviado desde mi GT-I9100 usando Tapatalk

skydancer
05/07/12, 17:23:03
Buenas tardes a tod@s. Me alegro que el hilo siga abierto. Un saludo al faraón,drxela y demás...

Ahora soy yo el que necesita alguna orientación. Tengo desde hace poco el galaxy Y de vodafone. Al intentar emparejarlo al teclado me sale este mensaje: "Lo sentimos. El dispositivo HID no es compatible con este teléfono". Tampoco he podido emparejarlos a las bravas con adb. Ha caido en mis manos un galaxy ACE y me da el mismo mensaje. Todo apunta a rom capada o (peor aún) hardware (pila bt) capado. ¿alguna orientación desde veteranos de samsung?

Ptahotep
05/07/12, 20:37:23
Hola skydancer! Yo pasé la Samsung tab a ICS y me las vi y me las deseé para reconfigurarlo. Pero con la app que aconsejó la compañera es coser y cantar.

Así que mi consejo es que le cambies la Rom. Aunque si, como dices, es de hardware, la cosa se complica. Has probado a sincronizar otros dispositivos?

Enviado desde mi Nexus One usando Tapatalk 2

skydancer
05/07/12, 21:03:41
Hombreeee... Un saludo.
Sí, le he emparejado con 2 dispositivos de manos lbres de coche, soporta los perfiles BT de manos libres y de auriculares ADVP. En cambio no he podido emparejarlo con este teclado ni con otro que tambien requiere protocolo (profile) HID. No he tenido ocasión de probarlo con teclados que soporten el protocolo serie (SSP), que son escasos y caros pero me me parece que el problema está en un capado de la ROM si es cierto lo que opinan los de xdadeveloppers

comdexfall
18/07/12, 21:01:58
En una palabra: Maravilloso!
Hace unos días estuve buscando algo así y no lo encontré.

Reconoce el teclado a la primera y TODAS las teclas. Y luego te permite configurar manualmente las que quieras, modificando el mismo el keychar.

Muchisimas gracias!

Enviado desde mi Nexus One usando Tapatalk 2

Perdonad que me meta en el tema, pero siguiendo vuestro consejo he instalado la aplicación para usarla con un teclado USB y lo he marcado como teclado por defecto y me ha detectado la distribución española, pero el teclado sigue sin sacar la ñ ni los acentos. ¿Hay algún paso más que haya que hacer? Estoy usando un teclado USB, pero supongo que eso dará igual. Por cierto, estoy probando con la demo, pero creo que eso tampoco influye.

Ptahotep
18/07/12, 21:20:59
Bienvenido, hombre. El mio es bluetooth y reconoce todas las teclas y combinaciones especiales. Pero en tu caso es posible que reconozca el teclado como inglés. Supongo que has probado a cambiarlo a español en la configuración del sistema.
Sino, tendrías que configurar manualmente los acentos y eñe, en: advanced settings -> customize

Ya nos cuentas.

Enviado desde mi Nexus One usando Tapatalk 2

comdexfall
18/07/12, 23:06:54
Bienvenido, hombre. El mio es bluetooth y reconoce todas las teclas y combinaciones especiales. Pero en tu caso es posible que reconozca el teclado como inglés. Supongo que has probado a cambiarlo a español en la configuración del sistema.
Sino, tendrías que configurar manualmente los acentos y eñe, en: advanced settings -> customize

Ya nos cuentas.

Enviado desde mi Nexus One usando Tapatalk 2

¡¡¡Ya funciona!!! CReo que el problema es que conectaba el teclado antes de instalar y configurarla aplicación porque al ejecutarla no me preguntaba que qué teclado quería usar. La he desinstalado y la he vuelto a instalar conectando el teclado solo al final del proceso de configuración y ya funciona perfectamente. ¡Es la leche!

Ptahotep
19/07/12, 08:56:54
Ten en cuenta que a veces, cuando conectas el teclado, no se activa automáticamente la app y tienes que seleccionarla tu mismo como si fuera una app más de teclado del móvil.

Enviado desde mi Nexus One usando Tapatalk 2