1) Re-mapping keys withing the game, or 2) re-programming the IPAC, are the better ways to do it, if possible, because you'll have less "layers" (=lag and more things to go wrong). But it is great to have options.
Here's an example of how I used to do it with MameWAH for Doom, just easier to for me to copy from the config file. These days I use Attract Mode, but the principle is the same (you can put pre- and post- emulator commands in via the GUI with Attract-Mode, I imagine it is similar for Big Box).
### Execution Settings ###
pre_emulator_app_commandlines c:\program files\winipac\winipac.exe doom.ipc
emulator_commandline D:\doom\zdoom.exe -iwad D:\doom\iwads\[name].wad{nodosbox}
post_emulator_app_commandlines c:\program files\winipac\winipac.exe mame.ipc
Obviously, before you do this, you need to create a custom [game].ipc file for your game. You can do that with WinIPAC. The drivers are available from the Ultimarc website, make sure you get the right one for your model IPAC.
BTW I "invented" WASD in 1992 at a Doom tournament in Sydney. Prior to that, everyone used arrow keys. But I'd just learned about using keys to "strafe" left/right, instead of turning, from some new players. They still used arrow keys, and was trying out different control options that felt better. At about 4am on the morning of the final day I discovered WASD was perfect. I played that way on the day, but lack of practice with strafing and the new controls meant that I came only third (after the 2 new guys with the strafing technique). Another day of practice and I would have swept the floor.
After I introduced WASD + strafing to all my mates it went viral and became the gold standard in about 2 weeks.
Now you have some idea how long I've been a serious gamer [ie a lot longer even than that].
You can also substitute a batch file for an executable. For example, below is what I did for music playlists. "Kill.bat" simply kills any processes for previously queued/running playlists, "play.bat" accepts a playlist name as a parameter and plays it (with mplayer).
You can ignore the "{nodosbox}" in those examples, that was solely for making things play nicely with MameWAH.
### Execution Settings ###
pre_emulator_app_commandlines c:\multools\mplayer\kill.bat
emulator_commandline c:\multools\mplayer\play.bat "c:\multools\playlists\[name].m3u"{nodosbox}