Page 1 of 1

Teclado en español (KBDes.dll)

Posted: Fri Dec 03, 2004 12:56 pm
by HUMA2000
Bueno, como ya dije, estoy intentando conseguir hacer un teclado en castellano para el ROS, el codigo fuente que estoy empleando se encuentra disponible en http://webs.ono.com/usr002/HUMA2000/.
Agradeceria cualquier ayuda, actualmente consegui hacer funcionar todas las teclas menos el teclado numérico, los cursores, el grupo ins-av pag y los acentos, asi mismo el alt gr aun no funciona.
Los codigos HEX los he ido obteniendo gracias a la utilidad KBTest de A
Arty (gracias por dejarme usarla y publicarla junto con el codigo, podeis contactar con él y conmigo en el canal del irc #Reactos en irc.freenode.net).
Así mismo añadí las definiciones de las teclas multimedia de los teclados, aunque aun no las he podido probar (esperare a que el sonido este disponible en el sistema para hacer las pruebas con el Winamp o el QCD).
Por el momento nada mas en este tema, espero vuestra ayuda y a ver si conseguimos tener listo el teclado para la relase 0.3.
Hasta pronto!

Posted: Thu Dec 16, 2004 12:03 am
by carraca
Hola HUMA2000
He estado jugando con KBTest un poco y creo que he encontrado algunos erroes. Pero lo que mas me preocupa ahora son VK_OEM...
he estado buscando informacion de estos virtual codes y solo los he encontrado para teclados US.
Yo creo que los siguientes VK_OEM se pueden comprender

VK_OEM_PLUS --> tecla +
VK_OEM_COMMA --> Tecla ,
VK_OEM_MINUS -->Tecla -
VK_OEM_PERIOD --> Tecla .
VK_OEM_102 --> ¿ Tecla <> ?

pero y el resto, ¿como las hacemos coincidir con las teclas que faltan?
aqui abajo te pongo como las he definido yo. De todas formas hay dos teclas que no las encuentro corespondencia en el teclado VK_OEM_3 VK_OEM_8. ¿ le faltan teclas a mi teclado ?

#ifndef VK_OEM_1
#define VK_OEM_1 0xba //Tecla `^[
#endif
#ifndef VK_OEM_PLUS
#define VK_OEM_PLUS 0xbb //Tecla +*]
#endif
#ifndef VK_OEM_COMMA
#define VK_OEM_COMMA 0xbc //Tecla ,;
#endif
#ifndef VK_OEM_MINUS
#define VK_OEM_MINUS 0xbd //Tecla -_
#endif
#ifndef VK_OEM_PERIOD
#define VK_OEM_PERIOD 0xbe //Tecla .:
#endif
#ifndef VK_OEM_2
#define VK_OEM_2 0xbf //Tecla çÇ}
#endif
#ifndef VK_OEM_3
#define VK_OEM_3 0xc0
#endif
#ifndef VK_OEM_4
#define VK_OEM_4 0xdb //Tecla '?
#endif
#ifndef VK_OEM_5
#define VK_OEM_5 0xdc //Tecla ºª\
#endif
#ifndef VK_OEM_6
#define VK_OEM_6 0xdd //Tecla ¡¿
#endif
#ifndef VK_OEM_7
#define VK_OEM_7 0xde //Tecla ´¨{
#endif
#ifndef VK_OEM_8
#define VK_OEM_8 0xdf
#endif
#ifndef VK_OEM_102
#define VK_OEM_102 0xe2 //Tecla < >
#endif

Tengo algunos cambios mas, te mando el archivo completo? (sigo sin poder compilar el cvs)
Otra cosa porque al usar KBTest y pulsar por ejemplo la 'ñ' consigo en AsciiChar 0xffffffa4 cuendo tienes puesto 0x00F1, me ocurre con algunas otras

Posted: Thu Dec 16, 2004 8:31 am
by HUMA2000
Mandame el archivo completo a mi correo (huma2000_at_terra.es) y lo pruebo
La VK_OEM_3 es ç Ç } y la 8 creo que esta definida, pero no la uso... tendre que revisar el codigo, lo hare en cuanto me mandes tus cambios.
Lo de que obtienes el codigo ascii del caracter es porque ciertos carácteres tienen que ser definidos a traavés de su valor en el código ascii porque son propios de un idioma concreto, como la ñ en el español, la ç y algunos mas.
A ver si con tus cambios funciona el teclado, aunque todas las VK iban bien, el problema era con el teclado numérico sobre todo, aunque nunca esta de más dejarle claro eal programa que tecla es cada una ;)
Gracias por mirarlo, a ver si para la versión 0.3 tenemos ya listo el teclado!

Posted: Thu Dec 16, 2004 2:53 pm
by carraca
La VK_OEM_3 es ç Ç } y la 8 creo que esta definida, pero no la uso... tendre que revisar el codigo, lo hare en cuanto me mandes tus cambios.
el virtualCode de la tecla çÇ} es 0x00bf que esta definido en VK_OEM_2

Ayer, despues de mandar este correo, pude compilar el cvs, voy a hacer unas pruebas ya te pasaré el archivo espero que pronto. :wink:

Posted: Thu Dec 16, 2004 4:51 pm
by HUMA2000
De acuerdo, puede que tenga repetido el caracter y lo definiera dos veces sin darme cuenta, si es asi aligeraremos el codigo un poko (contra menos lineas mejor, menor sera el dll creado)
Espero noticias tuyas, hasta luego!

Posted: Sat Dec 18, 2004 12:44 pm
by HUMA2000
Carraca: Mire lo de los codigos ascii que me digistes y para sacarlos usa el charmap.exe y obtendras los mismox codigos que yo, son los que necesitas y funcionan, mandame en cuanto puedas el codigo para unirlo a mis cambios y probarlo a ver si funciona, me gustaria conseguirlo antes de la version 0.3 ;)

Posted: Sat Dec 18, 2004 8:09 pm
by carraca
Hola Huma2000

te paso el archivo.

Me faltan los acentos y las dieresis.

La tecla '/' del teclado numerico no me funciona.

Cuando configuré el registro para que fuese el teclado predeterminado me di cuenta que el que uso en W2K es 04a que corresponde con la dll kbdsp.dll --> Español
(104a kbdes.dll --> Variacion del español)
He renombrado la dll

Posted: Sat Dec 18, 2004 9:59 pm
by HUMA2000
Deacuerdo, usaremos ese nombre entonces, ya que asi es mas facil saber a que dll de windwos corresponde, intentare hacer funcionar la tecla / y lo de los acentos y diéresis.
Muchas gracias

Posted: Fri Dec 24, 2004 2:03 am
by HUMA2000
He actualizado la web donde tengo el código del teclado: http://webs.ono.com/usr002/HUMA2000/
Ahroa se llama kbdsp.dll como dijo carraca, así concuerda con el de windows, funciona todo menos la tecla / del teclado numérico (creo saber el fallo) y las letras con acentos (tengo que intentar comprender como se definen).

Posted: Mon Jan 03, 2005 10:51 am
by HUMA2000
El teclado ya esta casi listo, ahora sollo queda corregir el fallo de que la tecla / y la tecla -_ actuen como la misma, es debido a que tienen el mismo scancode, solo que / está en el teclado extendido y ReactOS no coge bien esas teclas, los desarrolladores me han dicho que miraran el problema, asi que ha esperar un poco toca. Epero que pa la versión 0.3 ya este listo el teclado.

Posted: Fri Jan 07, 2005 8:31 pm
by HUMA2000
¡¡¡El teclado en español ha sido subido a la svn!!!
¡¡¡La proxima release vendrá con un teclado completaqmente en castellano!!!

Aun queda el bug de la tecla /, pero no es del driver español, sino del driver del sistema, que no coje bien las teclas extendidas algunas veces, están mirando por qué sucede.

Posted: Sat Jan 08, 2005 3:55 am
by Baldomero
Rico rico....

:D

Posted: Sat Jan 08, 2005 1:10 pm
by HUMA2000
El primer código del kbdes subido a la svn esta roto, culpa mia, hice unos cambios para unas pruebas y olvide quitarlos antes de madnar el código para que lo subieran, los acabo de solucionar, estara en la svn en breve. Disculpad el fallo.
:oops: :oops: :oops: :oops: :oops: :oops: :oops: :oops:

Posted: Thu Jan 13, 2005 2:54 am
by Lucio Diaz
Felicidades! :D buen trabajo, la verdad es que yo no podría haberlo hecho. Todavia me estoy peleando con make, porque no me funciona el entorno de compilación...a ver si hay suerte.

Un