Atari ST keyboard USB converter [TMK based]

User avatar
adamkov

09 Sep 2019, 10:28

Hi,

I'm a new member here, but a long time reader and I wanted to give back to the community.

A kind friend of mine gave me a Atari ST keyboard. I fell in love with it and wanted to use it on my PC.
I dug through Atari docs for keyboard protocol and made/coded a USB converter based on TMK and ProMicro.

https://github.com/adamkovesdi/tmk_keyb ... /atari_usb

This is a working alpha version, during initialization phase after plugging in the keyboard, one needs to wait a few seconds to get a reliable operation. In the future I may work on it for improving this behavior.

This is an action shot of the keyboard, rocking as an input device for a C64 emulator at a retro gaming party.
Image

User avatar
adamkov

09 Sep 2019, 10:29

[placeholder]

Findecanor

09 Sep 2019, 11:14

Cool! That's the keyboard with Cherry switches, right?

The keyboard should have two joystick ports at the back. Too bad that TMK doesn't have gamepad/joystick support, but that should be possible to add.

User avatar
adamkov

09 Sep 2019, 11:31

Thanks. Indeed MX Blacks, nice linear switches.

User avatar
adamkov

09 Sep 2019, 11:36

BTW decoding the joystick events are not harder than the keystroke events. In fact it's very simple.
Implementing joy support into TMK and towards the host is the hard part.

User avatar
matt3o
-[°_°]-

09 Sep 2019, 11:44

arduino stack supports mouse/joystick and all. if you don't mind losing TMK flexibility you could use that. I've build a keyboard out of it, it's not as fun as TMK but it totally works

User avatar
adamkov

17 Sep 2019, 09:36

matt3o wrote:
09 Sep 2019, 11:44
arduino stack supports mouse/joystick and all. if you don't mind losing TMK flexibility you could use that. I've build a keyboard out of it, it's not as fun as TMK but it totally works
Perhaps that's a job for someone interested in the joysticks. :)
Repurposing the connection code, one can work out the bits for the joys. They report events in a very similar way like the keypresses.

I love TMK and lack the resources to rewrite the keyboard code from scratch unfortunately.

Findecanor

17 Sep 2019, 10:01

A silly thing with TMK is that it has multiple USB "back-ends", and if one would add USB joystick support, the proper way would be to do it multiple times: once for each back-end.
I have written my own joystick adaptor with my own USB backend (patterned after PJRC's), so maybe I could at least add it to the LUFA backend that you are using.

Bikerbob

17 Sep 2019, 18:32

I posted in the workshop forum.. but I am working on the same keyboard.. but for use with my ST>. I need to figure out how to come up with the stabilizer wire for the spacebar.. much wider than a standard bar. Any ideas?

James

Bikerbob

17 Sep 2019, 18:36

BTW adamkov thats a mega ST keyboard and very valuable in the ST community if your ever looking to sell ;)

User avatar
adamkov

24 Sep 2019, 20:34

Bikerbob wrote:
17 Sep 2019, 18:36
BTW adamkov thats a mega ST keyboard and very valuable in the ST community if your ever looking to sell ;)
Thanks for the feedback Bikerbob. No plans on selling it as it was a present from a good friend.
But now I feel smart about making the converter plug into the original socket even though I had to source the proper RJ12 connector for it. This way I could preserve the keyboard in it's very original form.

dev-null-74

23 Jan 2020, 23:20

Hi,

thank you for your converter! It's a very cool idea!

I have also a Mega ST Keyboard and I want to use it with a Atari ST Emulator.

I was able to compile your converter and running it on a Arduino Micro (based on a ATmega32U4 microcontroller).
Unfortunately the converter is not running stable. Somtimes I get no characters. It seems that a external power supply helps but don't solve the problem.

How can I debug what happens if keystrokes don't generate characters?

Best Regards

Post Reply

Return to “Keyboards”