How to interface a SPDT switch with Mac OS X
In short terms, any common USB HID device will do this. Keyboards and game pads use two slightly different versions of Human Interface Device reports. They use momentary switches.  You could hack one up to add on/off switches. Bluetooth uses HID over bluetooth, essentially the same.

Or you can create a HID device from scratch, using any number of usb enabled microcontroller. Msp430 usb launchpad, Arduino Pro Micro or Leonardo, etc.

USB HID devices are universally supported by OSX. If Your software can't handle HID gamepads, use something like USB Overdrive to map gamepad to keyboard commands.