Skip to content

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

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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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