If you are using MAME, you can program two buttons to do three actions.
So I have a "Player 1" and a "Player 2" button, each one does what you would expect (starting 1 or 2 player games), but pressing them together sends an "ESC" command and exits MAME.
Following the same thought, I use "Player 1 - button 1" and "Player 1 Start" held down to equal "Player 1 Coin".
They are so far apart and generally have no reason to be pressed at the same time so I am not losing any functionally, and I save on panel space.
Use can use the GUI in MAME to set the keys (maybe not the "NOT" part), or put this in your default.cfg
<port type="START1">
<newseq type="standard">
KEYCODE_1 NOT KEYCODE_LCONTROL
</newseq>
</port>
<port type="COIN1">
<newseq type="standard">
KEYCODE_5 OR KEYCODE_LCONTROL KEYCODE_1
</newseq>
</port>
<port type="P1_BUTTON1">
<newseq type="standard">
KEYCODE_LCONTROL
</newseq>
</port>
I'm posting this away from my computer, and posting this from memory, but that's the jist.