History (non-technical):
I've been working for quite a while on my arcade cabinet (some day I'll get around to posting some pics and details) and after getting my CP done, I started thinking about how I wanted to wire it. I had originally bought a mini-pac for key encoding, but later on after learning about how a keyboard acts versus a joystick/control pad, I decided that I would rather use a joystick encoder instead and bought a pair of ZD encoder boards. After thinking about it further, I decided that I wanted to somehow do both of these and have it easily switchable.
Technical:
My first idea was to use something like
this 24 pole double throw relay to switch all the buttons at once, but then I realized that since both are negatively grounded, I should just be able to switch the grounds to change the inputs from going to one encoder to the other. I think there could be a couple of problems with this though, which I describe below.
Example setup:
Encoder A has its ground connected, encoder B does not. there is a single NO button with one side connected to SW1 of both encoders and the other side connected to a switch that switches between the common ground of encoder A or encoder B.
First potential problem:
When button 1 is pressed, SW1 of encoder A is pulled low, does this mean that SW1 of encoder B would drain (be pulled low) to SW1/ground (since the button being pressed means they're now connected) of encoder A and detect a key press? My guess is yes... If so, is there an easy way to avoid this?
Second potential problem:
I fear that connecting the positive terminals of both encoders together would cause unpredictable and erratic behavior. Although both controls have 5v positive, there is the high likelihood of there being small differences in circuitry that could cause a small voltage difference between the two, possibly causing one or the other to detect that a button is always being held down. An easy way to fix this (I think) would be to use an array of diodes on all the positive terminals, ensuring nothing drains to them.
Let me know if my description is too confusing and I'll throw a quick block diagram of my idea together.
Thanks!