Sono argomenti abbastanza specialistici ... in ogni caso penso che dovresti trovare una soluzione (e della documentazione) se utilizzi DirectX, in particolare la componente DirectInput ...