Redy y sus ‘marcianitos’

Como monté mi propia máquina de marcianitos

Seguimos con el hack de teclado

Posted by Redy Rodriguez en 19 \19\UTC enero \19\UTC 2008

Pues esta mañana me acerqué a una tienda de electrónica y compré el conmutador. también aproveché y compre 50 diodos 1N4148 que necesitaré luego para evitar el ghost del teclado y 20 metros de manguera de cable de 8 hilos para cablear todos los mandos más adelante.

El entretenimiento de hoy fue acabar el hack de teclado y hacer una tabla con todos los códigos de tecla y en que posiciones de la matriz se obtienen.

Preparé una cajita de madera para meter la pieza del teclado el conmutador y las clemas y después de conectarlo todo el aspecto es más o menos este:

hack1_escalado.jpg hack2_escalado.jpg

Cuando acabé de atornillar todos los cables vino lo más latoso, probar una a una todas las combinaciones posibles de la matriz para saber que código de tecla generaba y asociar el código a una tecla. Para probar conecté el cacharro al ordenador, y el teclado auxiliar al cacharro. El conmutador funciona como era de esperar y me permite cambiar al teclado cuando tengo que escribir un comando o al hack cuando quiero probarlo. Para poder identificar todas las teclas incluso las que no generan un carácter por si mismas hay que poner el teclado en modo raw, y luego usar showkey para mostrar los códigos de teclas que se pulsan, si no se pulsa nada en 10 segundos showkeys termina, pero no hay que olvidarse de devolver el teclado a modo ascii si no podría no funcionar la consola. El comando para ello es:



kbd_mode -s; showkey -k; kbd_mode -a

Inmediatamente después de introducido hay que cambiar el conmutador de posición y con un cablecillo ir haciendo contacto sucesivamente en la posición que queremos probar, anotarlo en un papel y probar en otra, y así sucesivamente hasta obtener una tabla como esta que servirá para pegar en la tapa de la caja para así tener claro donde hacer las conexiones según que tecla queramos que pulse cada mando.

porbando-matriz_escalado.jpg

Terminada la tabla me quedaba probar si había ghosting y/o blocking.

Para evitar el ghosting ya había dicho que iba a usar diodos y funciona.

Ahora está el problema de cuantas teclas puedo pulsar simultáneamente: mi teclado permite hasta 8 teclas, si hay 8 teclas pulsadas la novena no se detecta, y creo que eso será suficiente para mi máquina, ya que dadas sus dimensiones, el panel de control será apenas cómodo para dos jugadores, y me da márgen para que ambos tengan pulsada por ejemplo una diagonal en el joystick y dos botones simultaneamente (una situación en la que haya más botones pulsados se me antoja muy difícil). Si hubiese un juego de más de 2 jugadores habría que separarse del panel de control y recurrir a joypads externos conectados vía usb. de todos modos estoy rondando la idea de hackear también un workpad (o dos). He visto en varios bazares chinos que venden dos joypads usb por 9 euros y aunque seguro que los botones son una porquería, lo único que necesito es la electrónica…

About these ads

7 comentarios to “Seguimos con el hack de teclado”

  1. Daniel said

    Hola Redy : Estoy realizando algo pareecido. ¿De que se trata eso del “ghost del teclado” y como colocar diodos para evitarlo?
    Desde ya gracias

  2. Redy Rodriguez said

    Verás, el teclado es una matriz formada por filas y columnas. Cada intersección nos da una tecla. Si pulsamos una tecla cada vez o a lo sumo dos como suele ser lo habitual en un teclado no hay ningún problema.

    Pero si pulsamos tres (o más) teclas y coincide que esas tres teclas forman parte de tres de los vértices de un cuadrilátero, la tecla situada en el vértice que falta también se detecta como pulsada. Lo explican perfectamente en http://www.dribin.org/dave/keyboard/html/ghosting.html y como solucionarlo en http://www.dribin.org/dave/keyboard/html/fixing.html

    No hay más que poner un diodo en serie con cada botón o microswitch, los diodos tienen polaridad, pruebas a ponerlo en una posición y si no funciona al pulsar le das la vuelta.

  3. ariel gonzalez said

    Hola me interesa el tema del hack de teclados, lo que estoy haciendo es una bateria electronica casera y para ello necesito usar 6 o 7 teclas del teclado pero tengo que logar controlarlas de forma separada para poder hacer los pads de la bateria (platillos y toms) y asi poder ubicarlos a diferentes alturas y distancias .La idea es que cuando golpee un platillo o un tom de la bateria este pulsando las teclas, la asignacion de sonidos ya lo tengo solucionado solo me faltaria el tema de la teclas, seria posible?

    • daniel said

      hola ariel gonzalez, yo estoy tratando de armar lo mismo que vos, pero quiero armar un pulsador de notas. qeu en realidad seria lo mismo que lo tuyo pero le asignas diferentes samples etc. si podes ayudarme te lo agradeceria.

  4. Redy Rodriguez said

    Pues supongo que si…

  5. Luis B. said

    hola hola interesante proyecto … me gustaría hacerte algunas preguntas tengo un proyecto de mando arcade pero quiero hacer la conexion por PS/2 como el X-arcade no se mucho de electronica pero no se vé tan dificil podrias ayudarme … gracias.

  6. Redy Rodriguez said

    Luis B. Tienes varias opciones:

    Comprar una placa ya hecha ya trae conexión usb y para teclado y es muy programable.

    Hackear un teclado. (el teclado que rompas puede ser usb o ps/2)

    o Hackear un joypad (suelen tener conexión usb solamente)

Deja un comentario

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

 
Seguir

Recibe cada nueva publicación en tu buzón de correo electrónico.

A %d blogueros les gusta esto: