Sunteți pe pagina 1din 13

3/4/2014

Tutorial: El blocking del hack de teclado. Postulados y teoras prcticas sobre cmo evitarlo - ~Controles
E-mail o Nick

Password

Login

C one ctar con

Registrarse

Temas activos

Buscar

Registracin veloz
N ic kname:

E - mail:

P as s word:

C onfirmar P as s :

I agree the terms of service and privacy statement

Registrate

I agree the art. 2.B of privacy statement

C onec tar c on

Zona Arcade. Construye, Restaura y Decora tu Mquina Arcade y Pinball. ~Tutoriales y Artculos Terminados
~Controles

Tutorial: El blocking del hack de teclado. Postulados y


teoras prcticas sobre cmo evitarlo
A nterior Siguiente

Mikonos

Suscripcion Imprimir Email Compartir

Enviado el: 3 /3 /2 0 1 1 , 1 9 :3 7

Tutorial: El blocking del hack de teclado. Postulados y teoras prcticas sobre cmo evitar blocking
de teclado como interface de controles para tu mquina arcade y mando de juegos
- Introduccin
Res tles s in P eac e

El hack de teclado es una alternativa ms para implementar los controles a nuestras mquinas
Grupo: A dministrador
M ens ajes : 2 5 .6 1 4
P roc edenc ia: A lc obendas
(M adrid)
E s tado:

recreativas, ya sean joysticks o botones. Desgraciadamente este interfaz tiene sus inconvenientes,
como el llamado blocking.
En este documento me propongo exponer los curiosos descubrimientos acerca de este fenmeno y

http://zonaarcade.forumcommunity.net/?t=44254872

1/13

3/4/2014

Tutorial: El blocking del hack de teclado. Postulados y teoras prcticas sobre cmo evitarlo - ~Controles
cmo al final he conseguido superarlos. Tengan en cuenta que solamente he testeado y "trasteado"
con un modelo de teclado y que, por tanto, considero que es prematuro hacer una extensin de estas
leyes de funcionamiento a otros modelos. Por esta misma razn, si alguien quiere aportar comentarios
y experiencias a este documento, estoy seguro que sern bienvenidas por parte de la comunidad de
Zona Arcade.
Bueno, vamos al grano!

- El blocking del hack de teclado. Postulados y teoras prcticas sobre cmo evitar blocking de
teclado como interface de controles para tu mquina arcade y mando de juegos
Tras haber hecho un hack de teclado y ponerlo en prctica, estoy sufriendo el tan famoso blocking de
teclado. Esto era de esperar.
El teclado en cuestin en el que me baso para el presente documento es un modelo de Logitech (el de
la foto de ms abajo). Para ms detalles, el proceso de realizacin del hack de teclado est en este
hilo: http://zonaarcade.forumcommunity.net/?t=43798334

Me top con el blocking debido a la restauracin y reutilizacin de un joystick abandonado por aos,
pero muy bueno. Lo he convertido en joystick para PC tomando los mecanismos que abren y cierran
contactos y derivndolos al hack de teclado. Suponiendo que el joystick tiene 4 botones de direccin +
1 botn de accin, no debera encontrarme con ningn efecto blocking. Iluso! Por aqu empez todo.
Tuve un Sinclair Spectrum 128k y esta era mi ocasin de probar el joystick, las teclas eran las famosas
Q A I O P y encontr un blocking con las teclas O A P (precisamente el botn de accin).
Las pruebas las he hecho corriendo Ubuntu Linux 10.04, el emulador FUSE para ZX Spectrum y con el
juego del Jet-Pac. Hasta el momento no tengo manera grfica de comprobar ms de una pulsacin
de teclado. De todas formas, as es ms real y divertido esta tarea que me propongo. Jaja
Echemos un vistazo al cuadrante de conexiones:

Estn sealadas en fondo azul las teclas en cuestin. Para los que no estn nada familiarizados con el
hack de teclado y los nmeros que identifican fila y columna, antes de seguir les recomiendo que
vayan al tutorial sobre el hack de teclado, donde est todo debidamente documentado. Para los que
estn familiarizados y saben algo del tema, slo hacer la observacin que la pulsacin de una tecla
dada se obtiene "cortocircuitando" un contacto de la fila con uno de la columna. As, la tecla "Q" se
obtiene de los conductores o hilos 10+17.
Sigamos. Huelga decir que las teclas de accin: Q, A, I, O, y P corresponden a:
Q > arriba
A > abajo
I > izquierda
O > derecha
P > disparo o botn de accin.
A priori, me viene bien para sacar las conexiones del joystick, pues solo actan 7 hilos y con un cable
de 8 me bastara (ver elementos destacados en azul claro).

http://zonaarcade.forumcommunity.net/?t=44254872

2/13

3/4/2014

Tutorial: El blocking del hack de teclado. Postulados y teoras prcticas sobre cmo evitarlo - ~Controles

Los hilos estn sombreados, sacara los contactos, 7, 8, 10 y 17, 21, 22, 23. Como la "P" me daba
problemas, y para no tener que sacar muchos ms hilos, prob asignando otra tecla. Sera la "U" ( en
el 7, 20), pero ocurri el blocking. UOA = BLOCKING

Otra tecla. sto empezaba a ponerse calentito! Esta vez sera la "L" en el (8, 21), pero...,
blocking!!!, y adems DOBLE blocking!!! OAL = blocking y ILA = blocking.

Realmente en el blocking, las dos primeras teclas que pulsas y mantienes pulsadas responden, la
tercera no. En caso de pulsar en orden:
OAL, ... L=block y no se registra
AOL, ... L=block y no se registra
ALO, ... O=block y no se registra
LAO, ... O=block y no se registra
LOA, ... A=block y no se registra
OLA, ... A=block y no se registra
Curioso, verdad? Y lo ms curioso de todo: si una tecla est afectada de blocking, sta no vuelve a

http://zonaarcade.forumcommunity.net/?t=44254872

3/13

3/4/2014

Tutorial: El blocking del hack de teclado. Postulados y teoras prcticas sobre cmo evitarlo - ~Controles
poder ser registrada si antes no la soltamos. Pienso que este fenmeno es el llamado ghosting
aunque no me hagis mucho caso.
Bueno, esto va tomando forma. Seguramente ya tengas tus propias hiptesis.

- Desvelando el misterio del blocking


Vamos a la parte terica con un ejemplo prctico: si tomamos los conductores de nuestro primer
blocking: OAP tenemos afectados: 7, 8 y 22, 23 . Supongamos que vamos pulsando teclas:

Primero la O (ponemos en contacto 7 y 22) y luego la A (ponemos en contacto 8 y 22). Hasta aqu todo
bien, pero no caemos en el detalle que acabamos de poner en contacto los hilos 7 y 8 a travs del 22.
Alguna duda? Vuelvan a leerlo despacio y razonen.
Si la cabeza os da an tumbos mejor que no sigis leyendo. Para los valientes, agarraos que vienen
curvas: Si intento poner en contacto cualquier otro hilo de las columnas, para hacer combinacin con
uno de los dos hilos de las filas 7 y 8, debido a que actualmente los hilos 7 y 8 SON EL MISMO (pues
los hemos unido a travs del 22) el ordenador no tiene posibilidad ninguna de saber que tecla
estamos pulsando, por eso cuando pulsamos P en la lnea 23, el ordenador no sabe si es P, la tecla
"acento". Lo mismo nos ocurrira con la letra U, que no sabe si es la U la "coma" de nuestro teclado.
Por extensin tenemos que: ni F10, ni F8 en la lnea 19; ni F11, ni F9 en la lnea 18; ni las dems
teclas de las filas 7 y 8 funcionarn, todo por el mismo motivo. No crean que es fcil explicar esto.
Este razonamiento explica varias cosas.

- Leyes del blocking


1) De un tro de teclas blocking, es indiferente las dos primeras teclas que pulsemos, la tercera o
sucesivas de los hilos no comunes a ambas harn blocking, siendo las dos primeras las que mandan
sobre las dems pues son las que primero quedan registradas y las que se "apropian del hilo".
De manera que: 2) Da igual que las dos primeras teclas correspondan a filas o columnas, el efecto
blocking ser el mismo.
Por ltimo: 3) Cualquier par de teclas pulsadas en un teclado quedan registradas y no producirn
blocking.

- Explicacin del ghosting


Si durante la pulsacin de las 3 teclas, la tercera, la tecla que hace blocking la mantenemos pulsada
mientras soltamos a una de las dos primeras, seguir bloqueada a no ser que la soltemos. Esto en
teora no debera ser as, pues cuando de 3 teclas pasamos a nuevamente a tener pulsadas 2 y,
segn el principio anteriormente expuesto, debera registrarse. La explicacin que se me ocurre para
el extrao fenmeno el cual, repito, creo que es llamado ghosting es que el teclado efectivamente la
registra, pero por seguridad no se pronuncia sobre ella, pues se encuentra con ella de sopetn y
"desconectando" un cable, en vez de "conectando", seguramente detecta que se produjo un blocking
y ahora no va a ser l el que d el primer paso para registrar esta tecla. Lo s, es cuestin de fe y no

http://zonaarcade.forumcommunity.net/?t=44254872

4/13

3/4/2014

Tutorial: El blocking del hack de teclado. Postulados y teoras prcticas sobre cmo evitarlo - ~Controles
tengo otra explicacin.

- Algunas curiosidades del hack de teclado


Son conocidas algunas combinaciones de teclas tales como:
CTRL+ALT+SUP
ALT+TAB+SHIFT
SHIFT+ALT+INTRO
CTRL+ALT+Cualquier letra (esta se ve difcil de cumplir)
Seguro que hay otras que ahora mismo no se me ocurren. Estas combinaciones no deberan hacer
blocking, pues tirara por tierra las leyes del blocking y todo el trabajo. Veamos los supuestos.
CTRL+ALT+SUP

ALT+TAB+SHIFT

SHIFT+ALT+INTRO

CTRL+ALT+Cualquier letra. Veremos que no era tan difcil.

http://zonaarcade.forumcommunity.net/?t=44254872

5/13

3/4/2014

Tutorial: El blocking del hack de teclado. Postulados y teoras prcticas sobre cmo evitarlo - ~Controles

S, solamente la tecla "WWW" sufrira blocking, todas las dems estn disponibles para ser
satisfactoriamente registradas, ello incluye todas las letras en tono azul del cuadro.
En ninguno de estos casos de "combinaciones de 3 teclas usuales" hay blocking, en la prctica, est
claro, pero lo interesante era demostrar que cumplen las leyes del blocking.
Para los que tengan ms inquietud, pueden observar que estas combinaciones de teclas no se
entorpecen pulsando cualquiera de las teclas repetidas, como son el SHIFT, el CTRL, o el SUPR del
teclado numrico en el supuesto del CTRL+ALT+SUP, e incluso no se estorban si pulsamos las dos
teclas duplicadas a la vez del teclado.

- Optimizacin de la configuracin de nuestros controles con un hack de teclado


Toda esta teora est muy bien, pero vamos a los casos prcticos y a sacarle jugo a todo esto, que al
final es lo que interesa.
Siguiendo con la teora expuesta, podra pulsar a la vez y registrar hasta 8 teclas, siendo una
configuracin vlida de teclado el tomar una de las columnas de la tabla. Tal y como est en la
siguiente imagen. Por ejemplo, la columna 20.

Alguno, podra sugerir que en vez de tomar los 8 contactos de la columna, tomemos una fila, y as
tendremos todas las teclas de la fila disponibles, la verdad es que si nos fijamos en las filas, adems
de letras aparecen "teclas raras", de funcin, y otras que en la mayora de los juegos no son
aceptadas. Mi consejo es tomar como base una columna de letras. Por ahora tenemos un joystick de 4
direcciones, con 4 botones de accin sin ningn problema de blocking.
Estudiando un poco el caso, se puede optimizar y sacar dos botones ms. Pero antes y para entender
como, veamos otra curiosidad.
Piense en la siguiente frase: en ningn juego se pulsan simultneamente las teclas arriba y abajo, ni
izquierda y derecha. Piense ahora en un joystick: podra pulsar simultneamente las direcciones
arriba y abajo?, y la izquierda y derecha?. Veo que ahora lo entiende mejor. Aprovechemos el
blocking para configurar las teclas que no se pueden pulsar simultneamente. Un ejemplo:

http://zonaarcade.forumcommunity.net/?t=44254872

6/13

3/4/2014

Tutorial: El blocking del hack de teclado. Postulados y teoras prcticas sobre cmo evitarlo - ~Controles

Escogeremos 4 teclas que formen un cuadrado y tengan en comn 2 lneas de filas y 2 lneas de
columnas. Yo, para simplificar el ejemplo, he tomado 4 cuadros juntos. Configuraremos "arriba y
abajo" en una diagonal (por ejemplo: M,H) y configuraremos "izquierda y derecha" en la otra diagonal
(nos quedara: N, J).
Si nos fijamos, y siguiendo las leyes del blocking, sto es totalmente compatible y no produce ningn
trastorno en nuestros controles (es por esta misma razn que nunca llegu a detectar el blocking que
me produca la IOA en el primer ejemplo de estudio, pues I-O eran izquierda y derecha).
Otra curiosidad: los cursores del teclado estn configurados de manera similar.

Incluso los cursores del teclado numrico.

En este caso ocupan 3 columnas, pero el efecto perseguido es el mismo.


Con una configuracin como la que sigue, tendramos un joystick con 4 direcciones, y 6 botones de
accin sin ningn problema de blocking. Lgicamente, los 6 botones de accin los tendremos que
sacar de otra u otras columnas. Por ejemplo:

http://zonaarcade.forumcommunity.net/?t=44254872

7/13

3/4/2014

Tutorial: El blocking del hack de teclado. Postulados y teoras prcticas sobre cmo evitarlo - ~Controles

S, podremos hacer un combo pulsando 6 botones a la vez, ms una diagonal, claro que en este caso
nos faltara un sexto dedo.
Probemos ahora con una configuracin para dos joysticks libres de blocking y dos botones cada uno:
Joystick 1 en azul y el 2 en verde.

Usamos todos los hilos de las filas. A partir de aqu podemos configurar ms botones, pero
inevitablemente aparecer el blocking. Una configuracin deseable para minimizar el efecto para ello
sera la siguiente:

Cada grupo de 4 cuadros de color lo podremos usar para los 4 botones de accin o para los 4
contactos de movimiento del joystick. En esta configuracin el blocking que sufre un jugador es
nicamente en los botones de accin y adems no lo sufre el otro, pues no comparten ningn hilo.
Adems, el jugador podr pulsar y registrar efectivamente combos simultaneando 2 teclas
cualesquiera de las de accin.
Vamos a apretar un poquito ms las tuercas. Probemos 2 joysticks con 6 botones cada uno. La
configuracin deseable sera la siguiente: Joysticks en los grupos de 4 teclas de las filas 3-4 y 5, 6;

http://zonaarcade.forumcommunity.net/?t=44254872

8/13

3/4/2014

Tutorial: El blocking del hack de teclado. Postulados y teoras prcticas sobre cmo evitarlo - ~Controles
botones de accin en las filas 7, 8 y 9, 10.

El efecto blocking de un jugador no perjudicar al otro, pues no comparten hilos, pero est claro que
pulsando las dos teclas de accin de filas distintas en un jugador dejar sin efecto las dems y, por
otro lado, podremos pulsar a la vez las 3 teclas correspondientes a la misma fila.
Otras configuraciones son posibles, aunque si has entendido el funcionamiento ya sabes los efectos
que te acarrearn. Por supuesto, aparte de nuestros controles de juego, podremos sacar del hack
tantos botones de control como queramos para nuestra mquina arcade, pues no creo que con ellos
hagamos "combos" y nos dar igual el efecto blocking.
Slo me queda decir que experiencias y comentarios sobre el tema son bienvenidos, pues por el
momento no he podido probar las combinaciones de 2 joysticks con mltiples botones y lo expuesto es
solo teora.

- El paso a la prctica
No quedando tranquilo con esta sarta de teoras, y puesto que la prctica suele ser ms divertida, me
propuse "asfixiar" un poquito el hack de teclado a ver qu pasaba. Como resultado os comento que
he podido controlar el juego sin ningn tipo de blocking usando 5 teclas, (1 mando + 1 botn de
accin), manteniendo a la vez pulsadas una, dos, todas, varias, antes, durante y despus, mientras
jugaba. Evidentemente las teclas haban sido debidamente escogidas.
Las teclas son: OLIA para los mandos, Q como botn de accin. Resto de botones pulsados: ESPACE,
nmero 0, K, Z y 2. (Observar: Cuadro animado!).

En el dibujo se aprecia cmo vamos cogiendo teclas y se van descartando otras.


Cuando terminamos de usar los 8 hilos de las filas, an quedan algunas teclas por escoger. La
mayora son teclas "especiales" y la verdad, no s si harn ms blocking o se presentarn otros
sntomas. Lo que s os digo es que el mando funciona.

- Consideraciones finales (FAQ)

http://zonaarcade.forumcommunity.net/?t=44254872

9/13

3/4/2014

Tutorial: El blocking del hack de teclado. Postulados y teoras prcticas sobre cmo evitarlo - ~Controles
De un fabricante a otro, las pistas y la distribucin de teclas difieren. He comprobado las fotos del
tutorial sobre evitacin el blocking de elnaib y la distribucin no es la misma que la de mi hack. De
hecho, he probado forzar un blocking en mi teclado USB marca "rainbow" y no se cumple, por lo que
intuyo que tambin su configuracin difiere. Por otra parte, no olvidemos que esto es un hack
artesanal, como si de un gamepad se tratase, cada uno es distinto, aunque el fundamento es el
mismo. He visto el trabajo terminado del "hack de teclado ipaquetado" de primemind, y en su
numeracin de conexiones tiene tambin 8 contactos por un lado y 18 por otro, lo que me indica
claramente que su funcionamiento es similar (cruza 8 filas con 18 columnas en su tabla de conexiones)
- Los usuarios que lean este documento y tengan un teclado distinto NO podrn tomar las mismas
teclas de mi ejemplo. Tendrn que confeccionarse sus propias tablas de conexiones y distribuir en
ellas la asignacin de controles de forma similar a la que expongo. No creo que tengan problemas, al
menos yo lo tengo bastante claro.
- Sobre el tiempo y trabajo que lleva hacerse el hack de teclado: Un hack requiere tiempo y trabajo,
requiere de manipulacin delicada, a diferencia de un IPP, que se hace en un rato y con pocos
componentes.
- Sobre el coste de disearse esta interface de juegos: Est claro que un IPP es lo ms econmico,
que es un cable DB25, unos cuantos diodos y poco ms. Por contra, si el teclado es viejo y/o te lo
regalan, ya sabes, es "gratis". Pero, repito, el IPP es muy, muy barato (lo s porque compr el
material para hacerlo).
- Sobre reparacines y recambios: Ay!, el da que se me estropee el hack de teclado...
- Sobre su configuracin: El hack, una vez entendidas las leyes del blocking, se configura casi solo. El
IPP hay que configurarlo debidamente, ya sea Linux, Windows o lo que sea.
Sobre su versatilidad: Cualquier juego o emulador admitir configuracin de teclado. Para windows: si
a el IPP se le puede asignar tanto joysticks, como cualquier tecla, est muy bin. Le doy un 10. Pues
se podrn reconfigurar botones por software. Por contra, dudo que a un hack de teclado lo puedas
reasignar por software (en este caso toca abrir el panel de control o mando arcade y recablear).
- Para linux: He encontrado un mdulo (driver) que me permite asignar hasta 5 dispositivos (sean
joysticks o teclados) Pero, los mandos y botones son pre-establecidos (os contar ms cuando haga
un tutorial para configurar nuestra IPP para linux) por lo que de momento y con los datos que tengo
necesita ser complementado si queremos sacar otros botones de control distintos a los
preconfigurados. He aqu mi recomendacin de usar hack de teclado, pues en este caso se nos queda
corto el IPP y tendremos que hacer el hack para nuestros botones de control.
- Pienso que un hack de teclado es suficiente para una mquina recreativa con 2 joysticks ms 2 4
botones por joystick. Pero, claro, un IPP tambin te vale
- Ah!, se me olvidaba: desde hace aproximadamente un ao he detectado que las nuevas placas
base no disponen de puerto LPT. Quin sabe, lo mismo volvemos al hack de teclado combinado con
hacks de joysticks.

- Por pablo33 -

Para e scribirm e : Midasororey@yahoo.es

Me gusta

molecular

Enviado el: 3 /3 /2 0 1 1 , 2 0 :5 0

http://zonaarcade.forumcommunity.net/?t=44254872

10/13

3/4/2014

Tutorial: El blocking del hack de teclado. Postulados y teoras prcticas sobre cmo evitarlo - ~Controles
Despus de leer tamao tutorial (muy bueno por cierto) para evitar el blocking con el hack del teclado,
no me quedan dudas de que si vuelvo a hacer una mquina arcade, vuelvo a armar la interfase IPP
que propone Mikonos :-)
Abrazo!
Me gusta

Igorallen

Enviado el: 4 /3 /2 0 1 1 , 1 2 :1 7

La verdad es que es un currazo y tiene mucho mrito. Aunque no creo que sea capaz de tanta
virguera, mis felicitaciones por el tutorial Pablo33, est megacurrado!!!
Saludos!!!

killo kabuto

Me gusta

Me gusta

Enviado el: 4 /3 /2 0 1 1 , 1 2 :2 6

Te has pasado, esto es un doctorado. Muy bueno, gracias.


Un saludete.

Grupo: Usuario
M ens ajes : 3 8 8
E s tado:

Zetilla

Enviado el: 1 0 /3 /2 0 1 1 , 2 3 :3 3

WTF!!!
Impresionante documento!!!
Y como bien dices el puerto lpt esta desapareciendo, quien sabe lo que nos deparara el futuro, pero
gracias a ti ya estamos preparados ^^

Grupo: Usuario
M ens ajes : 1 .2 2 2
E s tado:

http://zonaarcade.forumcommunity.net/?t=44254872

11/13

3/4/2014

Tutorial: El blocking del hack de teclado. Postulados y teoras prcticas sobre cmo evitarlo - ~Controles
Zetilla Arcade
La peque Arcade
Un bote salvavidas para cuando todo lo dems ha fallado
Las A rtes.
Gracias a: Janibol por hace rm e e se pe dazo de Logo, El rey Pescador por e sas fantsticas arte s, Mikonos por la
pacie ncia m ostrada y sus sabios conse jos, Kulebra por le vantarm e los nim os y e sas horas que he m os pasado
pe gados al te le fone o, Ernilobits, si no hubie ra sido por e l la tv de 29" la hubie ra m andado a tom ar por culo m s
pronto que canta un gallo, Jandro y Gokwh Sois unos fe nom e nos! A Pablo33, Chaskas, A rda, Balle, Miliet Por
los conse jos, y a m s de uno que m e habr de jado por e l cam ino.

[SPO ILER ]

[/SPO ILER ]

Me gusta

HE_MAN

Enviado el: 1 9 /8 /2 0 1 1 , 0 7 :5 8

soy nuevo por aca pero ya me he topado con esa clase de problemas, entonces recurri a la
configuracion que usan creadores de
winipac o algo asi
te aseguro que podras usar mas de boton de accion no se como poner imagenes aqui pero hay te va
un linck para que lo revises y si encontras solucuion pues estare pasando por aca para revisar tus
comentarios

__http://n1k2.net/shop/winIpac01.gif
ademas que buen post y que dedicasion para hacer las cosas bien hechas
Me gusta
5 respuestas desde el 3/3/2011, 19:37

Suscripcion Imprimir Email Compartir

~C ontroles

Respuesta rpida

I
URL

U
IMG

Font

Tamao

QUOTE

C ODE

C olor

Nickname (new account) :

C onec tar c on

SPOILER

He lp box
Sus c ripc ion

H abilita firma

Enviar Respuesta

- ~C ontroles

http://zonaarcade.forumcommunity.net/?t=44254872

Vista previa

Ir!

12/13

3/4/2014

Tutorial: El blocking del hack de teclado. Postulados y teoras prcticas sobre cmo evitarlo - ~Controles

Crea tu f oro y tu blog! Support Top Forum A migos P owered by ForumCommunity


Enlaces:

http://zonaarcade.forumcommunity.net/?t=44254872

13/13

S-ar putea să vă placă și