I've worked up firmware for one of the cheapest ARM based microcontroller dev boards on the market, the TI Tiva Launchpad. They run about $15. The current configuration supports shows up as two gamepads (pad1 12 buttons, pad two 8 buttons) and a two button mouse. The Launchpad has hardware QEI support, so reading the trackball position doesn't eat up nearly the system resources as a firmware implementation. I could easily rework the firmware for a keyboard encoder rather than two gamepad devices as well, although the gamepads require less code and should show less lag.
I'm considering creating a custom PCB, which should drive the build price down even further. I won't have a firm price in mind until I draw up the custom board and price out the components, but I am shooting for around $25 if I can get enough orders to do up a batch of 100 boards. The custom board would also enable a few more inputs, as there are GPIO pins in use on the dev board that I cannot easily repurpose.
The firmware is open source and will be available on my Github as soon as I have a free moment to upload it. Let me know what you think. Also, what style of wire hookups would everyone prefer, screw terminals, pin headers, etc...? Keep in mind screw terminals are relatively expensive and could drive up the board price.
Opinions/comments/rants are welcome and appreciated!