The simplest of keyboard hacks is here :
http://dragonsden.emuunlim.com/ddkeytutl.htm
Spystyle, great write-up (I'm assuming that's your website) and great job of making it look simple, but I would like to point out a few things.
It dosen't involve mapping out the matrix or any of that high tech jazz, I've made a few and they all work fine.
It most certainly DOES involve mapping out the matrix. To quote from your page:
Touch And Go
Now that you have what looks like a scribbled up movie case covered in spaghetti, it is time to figure out the matrix of you keyboard controller.
This is a very slow but rewarding process, you will only do it once so don't start to cry yet.
Now, there are three possible ways to map out the matrix -
1) Disassemble the keyboard and follow the traces wires on the flimsy (mylar) to the pins on the microcontroller. (This can be tedious and prone to errors).
2) A variation of the above - Use a multimeter on ohms scale (continuity tester) and check from each contact point on the flimsy (under the key) to each pin on the matrix.
3) Your method - Solder wires to each pin, and touch together and see what key is generated.
I prefer method 2 for the following reasons:
Done with power off, so you have less chance of destroying your computer.
Does not permanently destroy the keyboard, so if it ends up not working (badly set-up matrix), you can reassemble it and yard sale it.
But mainly - Let's say I want to use 10 keys - 2 coin, 2 start, the joystick and 2 buttons. If I really knew what I was doing, I just try each key that I need (so trace 20 contacts), see if I will have blocking issues, and solder less than 20 (some wires will be shared) wires to the keyboard. This is regardless of the number of pins on the microcontroller. Now let's look at your method. (BTW, in some cases, the rows and columns are not split apart, so it becomes difficult to even attempt your method.) Let's assume the keyboard uses an 18x9 matrix, which is pretty common. I am going to solder 27 wires to the circuit card, then map out 162 possible combinations, 55 of which won't be used or will be duplicates. Also some of these will be Ctrl, Alt, NumPad, Sleep, Wake, keys, etc. While keyhook, Ghostkey, etc. will display these, they don't always distinguish L Alt from R Alt, or Numpad 5 from keyboard 5 (or you have to use 2 progams to do so), where with Method two, you know what button is being pressed so you know what is happening.
Keyboard hacks cost me $8 (and 3 hours) as I have all but the terminal blocks and project enclosure already in my basement, coming in 2nd place is the KeyWiz eco shipped for $26.50.
Well, there is now the Eco shipped for $26.50 or the Eco solderless shipped for about $29.50. I'm not sure the $3 extra wouldn't end up being less than the wire and solder (and definitely time involved) with the base Eco.
But with a keyboard hack, you will be limited to about 20 action inputs (assuming two joysticks), the Eco has 32 plus 24 Shazaaam! inputs, the keyboard hack most likely won't use MAME defaults and won't be reprogrammable for other programs, etc. etc.
I would'nt use a keyboard hack like this for a game with more than 1 stick and 2 buttons (to avoid blocking) and I've read that the newer keyboards have built-in anti-ghosting measures.
Not necessarily. Most keyboards use an 18x8 or 18x9 matrix (often with two rows dedicated to the Windows keys). That means you should be able to get 16 non-ghosting/blocking inputs out of one. Since the joysticks can't be up and down simultaneously, we allow them to ghost and pick up 4 more inputs (for a dual joystick panel) for a total of twenty, or enough for a SF style layout. (But you have to map out the matrix to do this.).
It should work great for a jukebox
Something people tend to miss is ghosting/blocking only occurs when three or more keys are pressed simultaneously. On a jukebox, you could use all 107 inputs if you wanted, as you will never press multiple keys at the same time.