Has this been discussed before?
Seems like we could use an Arduino or Nano Pi to read a USB/Bluetooth or PS/2 keyboard and generate the correct signals for the 9 pins of the ZX81 keyboard connector. I have sooo many spare keyboards ...
Using standard PC keyboard with ZX81
Re: Using standard PC keyboard with ZX81
You could try spectratur: https://codeberg.org/xelalexv/spectratur
It currently supports ZX80/81 and Spectrum, and can be easily extended to support other machines.
It currently supports ZX80/81 and Spectrum, and can be easily extended to support other machines.
Re: Using standard PC keyboard with ZX81
If you would like to use a PC Keyboard and maybe a PC Screen, why do you bother to use the original? There are Emulators for that purpose.
In theory, there is no difference between theory and practice. But, in practice, there is.
Re: Using standard PC keyboard with ZX81
The OP is not about using a screen, just about the keyboard. Adding a decent keyboard to a ZX80/81 or Spectrum makes for quite a pleasant user experience

Re: Using standard PC keyboard with ZX81
I agree.
I just find most PC Keyboards quite inconvenient

For a decent keyboard I use Cherry Keys.
https://forum.tlienhard.com/phpBB3/view ... rry#p35439
I know such a thing exists somewhere for PCs as well. They are just very rare compared to the PC Keyboards I know.
On the other hand I can't imagine what to do with all these keys when only 40 are required

In theory, there is no difference between theory and practice. But, in practice, there is.
Re: Using standard PC keyboard with ZX81
PC keyboards with mechanical switches are actually quite common, I'm typing on one right now (Cherry MX Silent Red). In particular gaming keyboards pretty much always have mechanical switches, be it Cherry or other manufacturers. But the cheap ones are mostly unusable, that's right.
Assign macros

- 1024MAK
- Posts: 5529
- Joined: Mon Sep 26, 2011 10:56 am
- Location: Looking forward to summer in Somerset, UK...
- Contact:
Re: Using standard PC keyboard with ZX81
The problems with using “IBM” PC keyboards, be they the wired type with 5 pin DIN, 6 pin PS/2 type, USB type or the wireless types are:
Because the row number can be any 8 bit number, any external circuitry must be able to capture this number and then look up to see if any key presses from the PC keyboard matches any of the combinations. Then, before the Z80 reads the columns, it must place the correct 5 bit number on its output lines for the Z80 to read via the keyboard input circuitry (the ULA in the case of the ZX81 or ZX Spectrum). This requires a large amount of processing in a very tight window of time.
Alternatively, instead of trying to have a microcontroller or processor system that is fast enough to do as described in the above paragraph, a electronic matrix using electronic switches can be built. But this obviously requires more hardware.
Simpler systems are possible, but they almost certainly will not support all software.
Mark
- Each has its own internal matrix, so each will have its own ‘ghost’ key combinations. Some of which may affect game play if said game needs multiple keys pressing at once.
- The keyboard layout is different.
- The way that machine code software on the ZX81 (or ZX80, or ZX Spectrum) may scan the (original) keyboard matrix means the interface circuitry has to be more complex than you think.
Because the row number can be any 8 bit number, any external circuitry must be able to capture this number and then look up to see if any key presses from the PC keyboard matches any of the combinations. Then, before the Z80 reads the columns, it must place the correct 5 bit number on its output lines for the Z80 to read via the keyboard input circuitry (the ULA in the case of the ZX81 or ZX Spectrum). This requires a large amount of processing in a very tight window of time.
Alternatively, instead of trying to have a microcontroller or processor system that is fast enough to do as described in the above paragraph, a electronic matrix using electronic switches can be built. But this obviously requires more hardware.
Simpler systems are possible, but they almost certainly will not support all software.
Mark
ZX81 Variations
ZX81 Chip Pin-outs
ZX81 Video Transistor Amp
Standby alert 
There are four lights!
Step up to red alert. Sir, are you absolutely sure? It does mean changing the bulb
Spring approaching...
ZX81 Chip Pin-outs
ZX81 Video Transistor Amp


There are four lights!
Step up to red alert. Sir, are you absolutely sure? It does mean changing the bulb

Spring approaching...
Re: Using standard PC keyboard with ZX81
This is what spectratur does, using an Arduino Nano (or other) and a Zarlink MT88xx switch matrix. Solves the mentioned problems.