3.2.1. Key Ghosting.
El denominado Key Ghosting o Key Jamming es un problema de algunos teclados donde algunas teclas
no funcionan cuando varias han sido pulsadas simultáneamente.
Este problema ocurre incluso en teclados que han sido vendidos explícitamente como Anti-Ghosting.
Suele ocurrír cuando 3 ó más determinadas teclas se pulsan simultáneamente.
Un caso muy común es pulsar una diagonal en los cursores + tecla disparo1 + tecla disparo 2. Incluso
solo con diagonal + tecla disparo, podría ocurrir que una de las 3 teclas no funcionase. Indudablemente,
esto causa frustación al usuario, ya que si mantiene, por ejemplo la tecla disparo pulsada no podria
moverse en diagonal.
Por esta misma razón, y dado que el Key Ghosting depende exclusivamente del modelo y fabricante,
es imposible detectarlo o corregirlo.
Para evitar, dentro de lo posible, el problema, USBTopia ha mapeado, como hemos visto en la
tabla 3.2, diferentes teclas como BUTTON1 y BUTTON2. Con ellas, estamos seguros, que existirá una
combinación donde el Key Ghosting, en caso de sufrirlo su teclado, quedará subsanado.
Para más información, recomendamos la lectura de este artículo:
https://www.microsoft.com/appliedsciences/antighostingexplained.mspx
3.2.2. JoyMega.
USBTopia cuenta con soporte parcial de botones JoyMega.
Como podemos ver en la tabla 3.2, las teclas ALT, GUI y TAB tienen una doble función: Por un lado el
botón 1 ó 2, standard del joystick MSX, y por otro los botones BUTTON A y START de JoyMega.
Dado que la implementación es solo parcial, USBTopia carece de:
Los botones MODE, X, Y, Z de un mando de 6 botones de Megadrive.
Los datos que devuelve el joystick (USBTopia en este caso) no son exactamente los mismos que
se reciben en JoyMega.
Aún así, con unas pequeñas normas para el programador, cualquier programa compatible que se realice
con JoyMega y los botones A y START funcionará correctamente con USBTopia y los botones asignados
a tal fin.
Los pasos para hacer la lectura compatible con JoyMega/USBTopia de los botones A y START son
los siguientes:
1. Realizar la lectura del estado del joystick standard y JoyMega, según la documentación de JoyMega
3.2. KEYBOARD.
8