Qwerkywriter: a mechanical typewriter keyboard

Paging @shaddack.

Summoned and answering.

The keyboards work typically as a matrix of keys. The controller asserts signals on the rows and reads them from the columns, finds which row is connected to which column (and therefore which switch is pressed), ignores steady state and reports just the changes, and issues keypress and keyrelease messages to the attached computer. (In case of ZX Spectrum, according to the schematics, there was no dedicated keyboard controller and the readouts were handled by a timer interrupt. But the principle stays.)

For a DIY version, I’d start with some existing V-USB implementation that implements the USB-HID keyboard, added a salvaged ZX keyboard, and tweaked the code for the keyboard’s switching matrix.

The same can be done with e.g. spare part for a laptop, if you want a small thin portable keyboard. Or with just any switches that issue custom-assigned scancodes, like the various “media keys” on “multimedia keyboards” (play, stop, email…) do. Then use e.g. AutoHotkey for handling the extra-keys and turning them into whatever actions you desire (for windows; linux and fruit require different software). (Quite some power and comfort can be taken from this software even with stock keyboards, if you use CapsLock as a “macro” key.)

And, because nostalgia is a good salesman, you can already buy a ZX Spectrum bluetooth keyboard. Of course it was kickstarted…

2 Likes

This topic was automatically closed after 5 days. New replies are no longer allowed.