Gamepad arduino

Salve a tutti, vorrei utilizzare arduino come gamepad facendolo riconoscere al sistema operativo Windows per rilevarlo nelle periferiche di gioco, in una prima fase per utilizzare i vecchi gamepad nintendo e successivamente per provare a realizzare un gamepad meno "tradizionale".
Sapete indircarmi come procedere?
grazie.

Sai che esiste l'Arduino Esplora?

E' un Arduino a forma di gamepad con pulsanti, accelerometri, potenziometri e joystick integrati che, grazie alla presenza dell'Atmega32U4, la stessa MCU dell'Arduino Leonardo, che integra il convertitore USB, è visto dal SO come una periferica HID nativa, quindi può "mandare comandi" a giochi o software.

Si ma non vorrei qualcosa di già realizzato, vorrei riuscire io a far riconoscere arduino come una periferica nativa scrivendo il driver, in modo da riuscire a realizzare delle periferiche personalizzate, esempio realizzare dei joypad tramite accelerometri dove il sensore mems agisce al posto dei tasti del gamepad.
Mi servirebbe una guida o un qualche tipo di supporto su come far riconoscere arduino fra le periferiche di gioco usb (un driver o qualcosa di simile) e conoscere il protocollo che usa per scambiare dati con il pc.

Comprati una Arduino Leonardo ed inizia a lavorare con questa scheda, grazie al suo micro che integra l'USB è visto nativamente dal sistema come periferica HID, tra le funzioni disponibili ci sono già quelle per far vedere la scheda come tastiera o come mouse.

Capisco, in realtà volevo realizzare qualcosa con quello che avevo ( ho già diverse board da arduino 2009 a stm32vldiscovery stm32f4discovery non vorrei comprarne un altra).
In alternativa senza rilevarlo come HID ma utilizzando un programma tipo ppjoy è possibile interfacciarlo con arduino 2009?

Se ti scrivi il software lato PC, puoi farlo. Si tratta di gestire una comunicazione seriale su porta USB.
Spedisci un carattere, e poi a seconda del comando il software "preme" un tasto oppure fa qualcos'altro.