Skip to content

[FEATURE REQUEST] Reverse SegaControllerUSB (= connect USB keyboards as DB9 joysticks) #37

@sromeroi

Description

@sromeroi

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions