1. Many. Mostly MAME tho. Everything else is secondary
MAME won't be a problem since it is easy to configure and very flexible.
The unspecified "Many" may include emulators that are not.
Go through your
entire list of desired emulators and see which ones (if any) have input-type limitations and/or hard-coded keys.
Configure your encoder to work with the most restrictive "gotta-have-it" emulator on your list.
If all of your desired emulators are free of input-type limitations and/or hard-coded keys, you can use whatever keystrokes, gamepad buttons, or mix of them you desire.
3. This is where things might get interesting. Originally i planned to, then i decided not to, now I'm in the maybe camp. Either way, they will not be permanent... How will this impact?
Disclaimer: I'm not very familiar with this subject. Hopefully someone who has gone through this configuration process can clarify or correct my second-hand observations.
Newer versions of MAME have a built-in controller ID function that should keep controllers in the right order when you plug/un-plug the controller. (sorry, don't remember the proper name right now
)
IIRC some emulators will automatically grab the first two gamepads that come up and assign them to P1 and P2.
That can become a problem when Windows sees the Ultimate I/O as a gamepad and assigns it to P1 instead of the USB gamepad that was assigned to P1 when you configured the emulator, but is now a different gamepad number after rebooting or un-plugging/re-plugging.
Scott