This is day 8 of the Advent Calendar of USB keyboards. Today, a case mod on what was originally a case mod for the ZX Spectrum. The LMT 68FX2 was a replacement case or your Spectrum.
There were various types of these on the market at the time. You would transplant the board (and sometimes the power supply) from your ZX Spectrum into this new case, and it connect up it's keyboard. You would then have a full size mechanical keyboard which made you Spectrum much nicer to use.
This one was helpfully labelled up by the user to show the outputs available.
The keyboard has more keys than the original Spectrum, and these are achieved using some additional electronics on the back of the keyboard.
Each of these extra keys appears to press more than one key. When the key is pressed, it drives several transistors, each of which connects one row to one column, effectively pressing a key. The switches drive the transistors via diodes, so that a switch such as caps shift can be used by more that one special key.
The result is the whole keyboard still has just the original 8 way and 5 way keyboard cables. As such, this can be connected directly to one of my USB keyboard controllers. I could have used the Spectrum one, but the ZX81 version is smaller and easier to fit in the case. This has the same 5x8 matrix, but I ended up having to reverse the way I read the rows and columns in firmware, to match the way expected by the designers of this keyboard.
If the user had particularly wanted to make full use of extra keys, I would have gone for removing the diodes and transistors and wiring up those buttons separately. As it is, the aim was to keep the modifications to a minimum. It's not ideal as it is the old problem with Spectrum keyboards with extra keys, the keyboard controller cannot tell if you pressed up arrow or caps shift + 7.
This one also had to have a Raspberry Pi fitted, so with a bit of shuffeling around, I found a suitable arrangement to avoid clashing with the keyboard and keyboard controller. Although it appears a large case, there was not much height available.
All of the Pi ports are extended to the back, and a 4 port USB hub fits in the expansion port. All of which is held in place as usual with too much hot melt glue.
To finish it off, I labelled the ports in red DYMO, trying to match the style of the original.
The owner has tweeted they are running RISC OS PI on this now: