Hola
He desempolvado mis apuntes de asm. Cada vez que se presiona una tecla el procesador del teclado genera lo que se llama ?c?digo de rastreo del teclado? lo coloca en la direcci?n en el puerto 96 (60h), luego invoca la int 09h del Bios, como avis?ndole: ?che, ah? ten?s un c?digo; fijate si le corresponde alg?n car?cter?. La int 09h lo compara con una tabla generada por el sistema operativo en cuesti?n y si tiene un car?cter asociado, manda a ambos al buffer del teclado, o si no tiene car?cter asociado, manda el c?digo solo.
La interrupci?n encargada de leer el buffer del teclado es la 16h del Bios. Este toma el c?digo de rastreo en AH y el car?cter, si lo hubiera, en AL.
Aclaro que estas nociones las tomo del est?ndar 8086. Hoy por hoy estamos hablando de 32 bits y que los registros en cuesti?n ser?an EAH y EAL.
O sea, hay que capturar el registro alto del AX o de EAX despu?s de invocar la 16h del Bios. Tomar ese valor (un byte o word) y pasarlo a un string (previa trasformaci?n de binario a ASCII, ANSI o lo que sea) y displayarlo. Todo esto dentro de un loop que nos permita leer varias teclas. Es much?simo e imprudente laburo. En asm se aconseja delegar todo lo que se matem?ticas a los lenguajes ya probados.
Estube viendo algo de asm de Linux. S?lo fue para enterarme de lo obvio: el Bios es el mismo ac? que en la China.
Ahora bien. Yo s? que con Turbo Pascal o con C se puede acceder a estos registros e invocar las interrupciones del Bios.
Por otro lado estaba pensando. Para hacer un teclado de estos hay que poner plata, entonces hay que estar bien seguro si lo vamos a adornar con teclas de m?s. Pero los mismos exiten; eso significa que sus c?digos han sido convencionalizados. No puede permanecer indiferente el procesador del teclado cuando se preciona una de estas teclas. En alg?n lado, sin duda, tiene que haber una lista de c?digos de rastreo de teclados multimedia. Ahora estoy en esa b?squeda.
Por lo pronto, colocando ??teclado multimedia? linux? en el google, encontr? muchos links que tratan el tema, ?stos son algunos:
http://www.kdehispano.org/node/3198http://lineak.sourceforge.net/index.php?nav=downloadhttp://raiden.sl-formacion.com/documento11.htmlhttps://listas.ulpgc.es/pipermail/glub/2006-November/007421.htmlY parece ser que los nombres de la soluciones son:
Xmodmap
lineakd
keytouch
bindkeys
Uds. saben de Linux m?s que yo. Vean si son viable.
Ahora yo tambi?n estoy antojado de setear al Amarok con los botoncitos que me sobran.
Bueno, me he divertido haciendo esto. Suerte.
Emilio.