If you wire up cab2's controls to the same wires as cab1's aswell as a separate "2 player" input you can then have a switch on the ground wire (which is daisy chained for both) to swap between the two.
This means by flicking one switch you can swap cab2's controls between being a copy of player1 and a separate player2
does this make sense?
That's EXACTLY what I need. 
Anywhere you can point me to so I can learn exactly how to do this stpe by step? (adding a switch to the ground wire ect...) Don't forget I've never even soldered anything in my life.
Thanks for the help!
You can do this without soldering. BTW, if you've never soldered, you DEFINITELY don't want a keyboard hack. I have a slightly different suggestion which might be useful to you. (At least much simpler to understand and wire up.)
Buy a programmable encoder, like a
KeyWiz or
I-PAC. You need it to be able to change the controls for her cab, and you won't regret it, even if you didn't.
Wire Player 1 (your cab) to the P1 inputs on the encoder. Wire Player 2 (her cab) to the Player 2 inputs on the encoder. Wire Coin on both cabs to the same inputs, and Start on both cabs to the same inputs.
Only install the Esc button on your cab (just kidding).
Now, create two configuration files for the encoder, one with the Player 2 controls mapped to Player 1 (maybe call this independent.xxx) and one with the Player 2 controls mapped to Player 2 defaults (maybe call this together.xxx).
Now you need two batch files, one that loads together.xxx and launches your front-end, and one that loads independent.xxx and launches your front-end.
Then you could set-up a fake super front end like Zaphras is doing in this thread
http://www.arcadecontrols.org/yabbse/index.php?board=3;action=display;threadid=20276 to launch either batch file.
The only drawback I see to this is that if she was playing a 1-player game and you wanted to switch to a two-player set-up, you would have to exit the frontend and restart it with the other batch file.
And you couldn't both play single player games simultaneously, but you said that wasn't a concern.
****
Modified Additional simpler solution - Install 2 additional buttons on her cab, one labelled Independent, one labelled together, (you get the idea).
Wire each button to one of the "left-over" encoder inputs, say 1SW7 and 1SW8. (For discussion, we will say Independent is 1SW7 and Together is 1SW8.)
Have your batch files set to load the appropriate encoder cfg file, but not launch anything.
Use either the hot key method that Zapras mentioned, or in WinXP, simply make a shortcut to the batch file and assign a hot-key to it. Make sure this key isn't used in any of your emulators or your front end.
For discussion, let's set the independent batch file hot key to C and the Together batch file hot key to V.
Adjust your encoder config files so that 1SW7 activates C and 1SW8 activates V.
Now if you press the independent button, your encoder is programmed so that her cab uses P1 inputs and if you press the together button, your encoder is programmed so that her cab uses P2 inputs.
I think I solved your problem.
***
One last thought - The above works fine for games like Twin Cobra or if she wants to play Pac-man by herself.
Classic games like Galaga and Pac-Man did not have inputs for Player 2, so you will either have to run these in Independent mode (even for 2-player games) or set MAME up so either P1 or P2 inputs can control Player 1.
And either way, each of you will be able to mess up the other's game, so play nice.
