just to clarify on the keyboard buffer issue, here is a bit gleammed off of Tiger-heli's keyboard hack writeup:
There are certain keys which send extra commands to the keyboard buffer and should be avoided. Highlight these non-recommended keys in Gray (for example) as follows: Direction Arrows (note that both HotRod and X-Arcade avoid these), Windows Menu Key, L Windows GUI, R Windows GUI, R Ctrl, R Alt, Insert, Home, Page Up, Delete, End, Page Down, PrntScrn, Pause, Keypad Slash, and Keypad Enter. Details of how I came up with this list are available here. Most keys send three characters to the keyboard buffer. These all send five or more.
While I recommend avoiding these keys even for dedicated encoders, the problem is orders of magnitude worse with a keyboard hack. Dedicated encoders have been optimized for speed and throughput, because they expect to be used with arcade games. Keyboards are designed for typing in a word processor.
There is a catch-22 with the arrow keys. While MAME itself can be easily programmed to get around using them, many Windows programs and probably even some front-ends for MAME cannot. However, the HotRod is non-programmable, and it does not use them.
In some cases, you may have no option other than to use these keys. ... This is acceptable, the keys will still work, they just slow down the processing, so their use should be minimized.