ControllerWiki
About
A place to collect info on how to connect game controllers/joysticks to computer games.
This page is more of a technical how-to guide. As it is a wiki, feel free to edit it.
Types of Controllers
Software
Hardware
https://www.kiwi-electronics.nl/snes-type-usb-gamepad-controller you can also make your own, you can do that with PIC, AVR, there are probably lots of resource to make your own DIY USB-HID device. It will cost you more of course, as these cheap USB console pad clones are mass-produced. But you could source your own sanwa or seimitsu stick and buttons if you wanted to make your own arcade-like controller for instance.
SEIMITSU STICK
SANWA STICK
Modding existing input devices or making your own
When it comes to using/making your own controllers there are different approaches:
- repurpose a keyboard (USB or PS/2), take apart the PCB and use the key connections as triggers that can be connected to any hardware you like (your software/code just has to be mapped correctly to read the good keycode, you can make absurdly advanced interfaces give the number of keys at your disposal).
- repurpose the PCB of a cheap USB joypad, you basically get a small PCB and a USB HUD chip, and it's up to you to whatever you want with it. These cheap USB pads often comes with analogue sticks, so you get fine grained input controllers
- joycon/wiimote: always fun for spatial/motions sensors and vibration feedback. There are plethora drivers that will allow you to connect/use them from the OS, python, Pure Data, etc. (spoiler: it's just bluetooth really)
- you can also work with existing universal controllers chipsets meant to repurpose a format stick/pad into a universal one, see MC Cthulhu for more info. There are also probably arduino equivalent project. A common trick for the plugs is then to use RJ-45 as universal cable plug for such modified pads/sticks.
- Further down the spiral you could also design a whole arcade grade stick by sourcing Sanwa/Seimitsu parts (ie buttons, and stick) yourself, and connect these to whatever board you're using, regardless if it's a hacked keyboard or a universal chipset. The Shoryuken forums a re a good place to get help/inspiration for that
- PIC and AVR chips can be used to work as controller chips for USB-HID, usually FLOSS/PD firmware and DIY PCB layouts can be found easily
- generally *any* USB HID or BT input gadget you can think of, could be repurpose in an interesting controller (trackballs, analogue or optical mouse, cheap tablets, etc)