Sounds to me like the adapter is just a simple, pre-built Y-adapter to plug the button into two of keywiz's ports: a "normal" button port and the "shazzam" button port. Just like hard wiring a button to player1 coin & p1 start on the ipac. Is this right?
Not quite, read -Iz- (sp?) post further up this thread. There's an electronic component involved and I think -Iz- gave away more than RandyT wanted to about it. (And I won't say anything more).
my $0.02:
I don't mean this as flamebait but...
IMO, the shift and shazaam keys are almost useless in mame, since they're just doing something in hardware that mame can do in software.
Not taken as flamebait, but this is an opportunity to show off how the keys are different. (BTW, I made the same argument as you years ago).
First with the I-PAC (AW pointed this out to me long ago) and I will steal the data from my keyboard hacks page.
***
Lack of shift key support - The I-PAC includes several special "shift key" functions which are designed to reduce the number of buttons required on the control panel. For example, pressing the 1 key and the 2 key together simulates ESC and exits MAME. Since R36B13, MAME allows key combinations and multiple assignments to be made to each input. Therefore, from the MAME Input (General) menu, selecting UI CANCEL = "1 2 or ESC" accomplishes the same thing.
Caveat One: The I-PAC includes this functionality in the controller code, so this feature will also work using it on emulators which do not support key remapping.
Caveat Two: Key remapping in MAME does not exactly mimic the I-PAC shift functions. The differences and the results are as follows:
On the I-PAC, if you press the shift key nothing happens until you release it. Then it either sends it's own code (1) or (if you have pressed another key) the shift code. If you map the same combinations in MAME, you will always get the first key send followed by the combination key send. The effect of this for each shift key function is as follows:
Coin Input: The I-PAC uses 1 and P1B1 keys to mimic coin input. In MAME, from the attract screen, if you map this combination, the first coin input will register. If you try to input a second coin, the game will start a 1-player game, because MAME reads the 1 key first. Therefore, you will never be able to start a two player game. For this reason, I recommend having a dedicated coin input key on your panel if using a keyboard hack. (You CAN get around this from the attract screen for most games by pressing the P1B1 key FIRST, followed by the 1 key; but a dedicated key is the easier solution).
ESC: The I-PAC uses the 1 and 2 player start keys to mimic ESC. In MAME, the game will either quit immediately or will start a one or two player game and then immediately quit. This is perfectly acceptable and I recommend mapping these keys if you don?t want a dedicated escape key.
Pause: The I-PAC uses the 1 and J1 Down key to mimic Pause. In MAME, if you are on the attract screen with credits already input, MAME will start a new game before pausing the game (assuming you press the 1 key first). If you are in one of the game playing screens MAME will pause properly unless you press the J1 Down key first, in which case the player position will move down slightly before the game pauses. This is acceptable, although I personally prefer a dedicated Pause key so that I don?t have to remember key combinations when I need to stop gameplay at a critical point.
Tilde and Tab: The I-PAC uses the 1 and J1 Up or J1 Right keys, respectively, to map these functions. These keys will function the same way as the Pause key above. See the section on assigning key for my personal key mapping recommendations on these keys.
Enter: The I-PAC uses 1 and J1 LEFT to mimic this key. This will work in MAME. This key is only used in MAME for items on the Configuration or On Screen Display Menus. The only difference between using this key in MAME is that the if you enter these menus without pausing the game, the player may move left while you are hitting enter! You are not likely to do this, though. Again, see the key mapping section for my personal recommendations on this key.
****
(To be continued)