I have the Hagstrom KE72 keyboard encoder and love it. It is about 3 times the cost of an IPAC though but the cost was not a big deal for me when you consider I will be keeping the arcade cabinet forever. Anyway, the KE72 allows for up to 32 keypresses to be mapped to a single button press. It allows for (Alt), (Ctrl), (Shift) character mappings as well as allowing "delays" between each key as well. It can be reconfigured "on the fly" to change all of it's mappings as well.
This encoder allows me to exit any emulator or do about anything you can do on a keyboard without having to ever use 3rd party software like joy2key, etc.... Actually when installing an emulator, I never change the emulator's default values at all, I simply create a KE72 configuration mapping file specific to the keys required for that emulator. When I select a game from the emulator then this configuration file is used to remap my buttons on my control panel for that emulator. I never have a problem with exiting emulator or anything.
I believe they make a KE32 as well which would be cheaper. Also I think a new USB version of the encoder is now available whic allows up to 64 characters to be mapped to a single keypress.
** Mapping many characters to a single keypress means you can execute a BAT file at the touch of a button as well as being able to exit from any emulator no matter if the emulator required multiple various keypresses to have it exit (instead of just ESC).