title: Writing a game controller driver for some hardware connected via USB
body: <p>I'm looking to create a driver for a game controller I have (a cobalt flux www.cobaltflux.com ). The physical controller itself has nine face buttons and two control-box buttons (start/select). The control box has a usb port, but as far as I can tell no one has ever written drivers for it before. The end result I want is to be able to plug in the cobalt flux via the usb port and have windows recognize it as a game controller.</p>
  
  <p>I have some programming experience. I'm a senior undergraduate student in computer science at UC Davis and an intern at a large embedded systems company, however this project involves several aspects I have no experience in: interfacing hardware and software via a USB port, investigating feedback from hardware I didn't build (which bits light up when I press a button?), and creating drivers and indeed programs in general for windows. </p>
  
  <p>Since I don't personally know anyone who would be able to set me on the right track for a workflow to solve this problem, I'm asking here. I imagine the approach going something like:</p>
  
  <p>I connect the device via a usb</p>
  
  <p>I open up a program to poll what the effects of pushing buttons are on the USB channel</p>
  
  <p>I write a program that interfaces those signals from the USB port to the game controller drivers that windows has</p>
  
  <p>It may be worthwhile to note that I need to have joyPAD support and not joySTICK support for the buttons since play will involve pressing down any number of buttons at once and joysticks generally only register one direction of input at any given time. </p>
  
  <p>Any advice or help would be greatly appreciated. I am having trouble figuring out where to start.</p>