The challenge with the soldering pads off old keyboards is that it doesn't
scale and really is not flexible enough... there are only so many switches
in a keyboard. So after some surfing found X-keys. This is a USB Matrix device
that enables you to map multiple keystrokes to a single switch, and send
different sequences on switch-close and switch-open. Initially these
modules had to be manually programmed, i.e. press the switch, then enter the
keystrokes via a keyboard, that was painful when working with a large number
of switches and different simulators. Now xkeys have Macroworks which
makes working with the module a breeze.
I initially started by using a box with DB25s, and dedicated two x-keys USB switch rows for each DB25. Whilst it seemed like a good idea at the time :), it lead to cables hanging out of other cables as some panels only had a few switches, and other panels needed lots of switches (more than two DB25s worth).
After some thought I changed both the approach and connectors, I used
IDC headers which gave me a high density connector along with easy to make
cables, i.e. I could cut the cable to length and easily terminate it.
All x-keys signals are presented on all socket, meaning that any cable can be plugged into any port of the enclosure. This simplifies testing of cables and switch panels.
This panel has a large number of connections, using several rows. A useful way to keep track of what pin combinations have been used is to label what each panel uses, this can save a lot of angst when testing.
As part of recabling the pit I added a xkeys/keyboard test routine, which I used to verify that all possible xkeys combinations have been used and none have been duplicated.
To start the test routine the xkeys module is loaded with the default factory settings, each key is programmed with its row/column intersection (e.g. A1, A2, etc).
The first time a key combination is hit the intersection is turned green. The second time the intersection turns red, and a text to voice message is read out.
As the simulator works with multiple simulators, different keystroke mappings are used for different simulators. X-keys Macroworks allows you to swap keystroke profiles.