Tuesday, 2 December 2014

New fully mappable ZX Spectrum+ Replacement Membranes

The Sinclair ZX Spectrum Plus has a much improved keyboard to it's predecessor. However, it uses the same computer board inside so is limited to the ZX Spectrum's 40 keys.
The connectors are the same, one 8 way and one 5 way, making a 40 key matrix. It adds extra keys using a special 4 layer membrane which actually presses two keys at a time, so there is no difference at the keyboard connectors between pressing Break or pressing Caps Shift and Space.
So the arrow keys on the bottom row actually press Caps Shift and the 5,6,7 or 8 key as appropriate. The same goes for all the keys other than 0-9, A-Z space and enter. This makes it difficult to remap the keys when making a USB keyboard, as the controller cannot know if you pressed the left arrow key or shift + 5. I get around this with the remapping in the controller, but it limits what the extra keys go do.
I built a prototype replacement using tact switches for each individual key in a 5x13 matrix. This proved the principle, but wouldn't be practical.
I did design a PCB, but it would have been quite a pain to assemble each one with 58 individual switches, it would also work out quite expensive to manufacture, even as a single sided board
So now I have a new solution. I have designed a replacement membrane for the Spectrum+. This features a 5x13 matrix with each key individually mapped and a single 18 way connector
This fits in the case as an exact replacement for the original spectrum plus one.
Interesting to note I placed the connector to line up with a small cut out in the backplate and insulating layer which is exactly the right size for an 18 way connector. Was this part of Sir Clive's plan all along?
This connects to a modified version of one of my USB keyboard controllers. The new versions now use the Spectrum Plus's reset switch to change mode from direct to remapped. The direct mode for emulators was strange to do as I had to reverse the process. Now I can individually read the arrow keys, I need to translate those back to caps shift + 5,6,7 and 8.
There is a piezo buzzer on the controller which beeps when the mode is changed. I've also set it to make a click sound each time a key is pressed. This is what the original Spectrum used to do, and it is a neat idea, so I copied emulated it. I have found it does make typing easier, particularly on the rubber key Spectrum and the ZX81 (which didn't originally do that).
So there it is, the new fully remappable ZX Spectrum+ USB keyboard. To get a batch of membranes made will be quite expensive, so I would need to get a few preorders in to justify the cost. Please let me know if you are interested.

Update: These membranes are now available.