Tinkerlog posted great instructions on how to create your own arcade controller and set it up with your favorite ROM. For all you emulation lovers who need that extra level of finesse, this will work with USB and MAME. Tinkerlog writes:
HID stands for Human Interface Device class. Common devices of this class are keyboards, mice and joysticks. The great thing, that this interface brings in, is, the devices don’t need a specific device driver. If they behave according to the USB HID spec, then they are automatically recognized by all OSs. Every device sends a report, in which it states, which kind of device it is and how it wants to report its data.