9.2.13

Keyboard Hack - Controles para M.A.M.E


si estas buscando keyloggers, eavesdropping o algo parecido te equivocaste de lugar, "keyboard hack" se refiere a otra cosa completamente distinta... el termino "hack", como muchos sabran, no se refiere a violar la seguridad de la cuenta de facebook del amiguito o defacear alguna web, un "hacker" ni siquiera tiene q estar relacionado con internet necesariamente. mas alla de etimologias y cosas raras el q "hackea" algo es el q modifica loquesea para usarlo para algo q no fue concebido originalmente o mejora/aprovecha/abusa su funcionamiento de alguna manera. el "keyboard hack" es justamente la modificacion de un teclado convencional para convertirlo en un precioso joystick tipo arcade con palancas y botones profesionales a un precio de casi nada (lo q valgan los materiales).

en mi caso estoy construyendo una maquina de M.A.M.E.:

http://mamedev.org/

q consiste en meter una pc convencional dentro de un gabinete de arcade de los viejos para poder correr todos los juegos lo mas parecido a la maquina original. mi idea basica es mandar a la pc el controlador del teclado conectado a las palancas y botones y usar una tv CRT comun para el video, aunque tambien pueden usar un LCD q es lo q estoy haciendo hasta conseguir un tv adecuado...

tambien se pueden hacer un controlador solo para usarlo con la pc o lo q se les pueda ocurrir, hay montones de aplicaciones practicas para un keyboard hack, solo hay q usar un poco la imaginacion. lo q voy a explicar con mas detalle es puntualmente el tema de la placa, la conexion de los controles es algo realmente basico sobre lo q no vale la pena extenderse demasiado... basicamente soldar cables en switches. si no saben hacer eso no se molesten en seguir leyendo.


hackeando el teclado


la teoria es bastante facil de entender, el teclado adentro tiene una pequeña placa a un costado y debajo de las teclas dos matrices separadas q hacen contacto al presionar. al hacer contacto se cierra el circuito entre dos pines de la placa y eso produce la pulsacion. o sea q la pulsacion es un corto entre 2 pines X e Y, solo tenemos q averiguar q pines pertenecen a las teclas q necesitamos.

como los teclados no tienen todos la misma configuracion de pines mis anotaciones no le van a servir a nadie a menos q use el mismo teclado, cosa q no creo xq era una porqueria china barata vieja, de manera q van a tener q hacer todo el trabajito.

antes q nada hay q conseguir un teclado, yo use con conector ps2 xq queria todos los usb libres pero es lo mismo. como 1er paso abrirlo tratando de no destruir nada adentro y buscar la placa y las 2 matrices q suelen estar separadas x un tercer plastico. la placa es algo asi:



y las matrices algo asi:


despues hay q buscar la posicion de la tecla q queremos en ambas matrices y seguir la pista hasta el pin, una matriz tiene un pin y la otra el otro. lo 1ero q hice yo fue buscar los cursores y lo recomiendo xq estan mas a mano. busquen cursor arriba de una matriz y la otra y anoten los pines conecten la placa a una pc y hagan un corto en los pines q anotaron para ver si se produce la pulsacion. para verlas mas comodamente pueden usar algun programita como keyhook (es para win pero corre ok con wine):

http://www.multiupload.nl/7QTEB40V09

un tester es muy util para seguir las pistas pero tambien se puede hacer a ojo, aunque no lo recomiendo si quieren conservar la salud mental. para las anotaciones use una planilla de excel con los pines arriba y las teclas de costado marcando los necesarios para la pulsacion. lo pueden hacer como quieran pero es muy importante anotar absolutamente todo xq sino se sale facilmente de control enseguida, son demasiadas conexiones...

mientras lo vayan haciendo se van a dar cuenta q muchos pines son comunes a varias teclas cambiando solo uno, lo cual despues va a facilitar el trabajo al llevar los cables hasta los controles.


conectores


obviamente se puede soldar cable directamente desde la placa hasta los controles pero hay q pensar que haciendolo de esta manera queda todo como una unidad q no se va a poder separar para montarla/desmontarla o cuando haya algun problema. esto trae sus complicaciones dependiendo de la cantidad de conexiones pero son muchos mas los beneficios.

lo recomendable seria usar minimamente algun tipo de conector macho/hembra para poner uno en la placa de teclado y otra en los controles. en mi caso decidi usar un cable plano de puerto paralelo (db25) como este:


use la hembra para la placa. hay q separarlos con una gillette, cutter o lo q tengan a mano, pelarlos y estañarlos. los 25 cables me sobraron para las conexiones asi q pude usar los numeros de pin correspondientes a cada uno para facilitar el trabajo del otro lado, de manera q el cable 1 va al pin 1, el 2 al 2, etc, salteando los q no vamos a usar.


como la placa es bastante "mini" van a necesitar un soldador de punta bien fina o bastante habilidad para soldar los cablecitos. es importante q ninguna haga corto entre si y otra vez seria bastante util un tester, a veces no se llega a ver un corto en algo tan pequeño.

no tengo un soldador de punta muy fina asi q no me quedo tan prolijo:


de esta forma ya tenemos la placa soldada a un db25 hembra de un lado y el ps2 q ya venia del otro. conectandola a un mobo y haciendo cortos con un clip, cable o loquesea pueden checkear si el pinout q anotaron antes esta ok.


conectando los controles


la conexion de los controles es lo mas sencillo. los botones tienen un simple switch y las palancas uno por cada movimiento. en este paso tambien es bueno hacer algun esquema con los controles y las conexiones. yo hice uno separado para cada jugador, palanca y dos botones, con los pines debajo y un esquema electrico de las conexiones de los pines hacia los switches. no hace falta ser demasiado tecnico mientras se entienda bien.

como decia antes muchos pines son comunes a varias teclas y esos no hace falta q vayan hasta la placa, simplemente hacemos puentes entre los pines comunes de los switches ahorrando muchas conexiones.

en este paso pueden decidir o no poner otro conector. yo puse uno para cada jugador y otro para los botones de 1 y 2 player, ficha, etc., de esta forma puedo desmontar completamente los controles dejando el cableado en la maquina. de esta manera tengo, los conectores hembra de los controles q van a un 2do cable con sus respectivos machos q del otro lado tienen el macho db25 y este va a la hembra db25 q conecta a la placa y sale x el ps2.


keyboard hacking


la explicacion es bastante generica xq la idea es explicar el metodo y no q hagan lo mismo q hice yo. si alguien lo quiere puntualmente para una maquina de MAME le va a servir perfectamente pero tambien se hacen "cajas" para meter los controles o tambien para usarlo en lo que se les ocurra.

como lo monte en la caja original recicle absolutamente todo. monte los controles en la madera y chapa q venian en el gabinete:


y ya montado en la maquina quedo asi:


lo estoy probando hace un par de meses y hasta ahora no tengo quejas. si la quieren mas facil venden unas placas q ya sirven para hacer esto, se consiguen bastante facil xq ahora parece q esta de moda tener un arcade, pero... si lo compran todo hecho donde esta la gracia? xD