For gaming, especially for the game EmptyEpsilon ( https://daid.github.io/EmptyEpsilon/ ), I made a USB HID controller that you can plug buttons, switches, rotary encoders, joysticks, potentiometers, etc. into and program them to produce keyboard and gamepad events on USB. Check it out.
http://www.github.com/profdc9/HIDPanel
Here's a picture of it