I've decided to post the source code for my Teensy 2.0 NES/SNES to USB adapter. I've noticed some issues on OS X, with certain programs recognizing the device as a joystick, but there are easy ways around that. If all else fails, you can set it to USB Keyboard mode. I haven't run into any problems on Linux.
It is setup to auto-detect the controller type (NES or SNES), but you have to have the controller hooked up when you plug it in for that to work.