-
Notifications
You must be signed in to change notification settings - Fork 71
Description
After the release of the MSX's Arrow Pad controller (a mechanical 6 keys keyboard with DB9 connector, having just arrows + 2 fire buttons), I've been thinking that it would be interesting to connect USB keyboards as "DB9 joysticks" (Atari pinout, like Sega Master System's, MSX or a Sinclair Spectrum Kempston Joystick).
Could you provide the possibility to build SegaControllerUSB as USBControllerSega, with a male DB9 connector?
It would read the keyboard and translate keys into UP, DOWN, LEFT, RIGHT, FIRE1, FIRE2 and FIRE3, with the keys configured in the Arduino source code as arrays of keys that provide that output (i.e., in pseudocode):
up_keys = [ 'q', 'i', .... ] // or scancodes?
down_keys = ...
...
This would allow also to use macro keyboards (like 3x3 or 6x3 keyboards) as small "keyboard joysticks" for computers that have DB9 joysticks and faulty or bad keyboards (like the Sinclair Spectrum's rubber keyboard, which is not very good for gaming).
Instead of supporting multiple different keycodes for up/down/left/right, It could instead support multiple keyboard schemas defined in the code, switchable by 3 keys (scheme_reset to #0, scheme_up and scheme_down), like having "IJKL cursors + QWE" as #0 and "OPQA + M" as #1.
Thanks and best regards.