Quantcast
Channel: Flarn2006's Blog
Viewing all articles
Browse latest Browse all 26

Xbox 360 Controller on PC Without Additional Software

$
0
0
Earlier today, I figured out a way to use an Xbox 360 controller on a PC without downloading or installing any additional software. I got the idea when I read (I forgot where) that the controller is a standard HID device, except it sends the wrong class code (0xFF instead of 0x03) so that generic drivers won't automatically connect to it. This is obviously so that Microsoft could require people to use their special software to get it to work. Possibly so they could make you need to use Windows (although this information is written for Windows and, unfortunately, probably won't help if you're not using it.)

But there is a way to tell the generic drivers to connect to it anyway. Simply plug it in and let it install as an unknown device. Then, open Device Manager (Start, right-click My Computer, Properties, Hardware tab, Device Manager) and find your device. Right-click it and click Properties, and then switch to the Details tab. Make sure "Device Instance Id" is selected at the top, and then make note of everything on the top line up to "PID_XXXX" where XXXX can be any four hexadecimal digits (0-9 and A-F). For example, mine says "HID\VID_045E&PID_028E&IG_00\7&29E276DE&0&0000", so I would ignore everything except for the "HID\VID_045E&PID_028E" at the beginning. You can now close out the Properties dialog. Do that, then right-click the device and click Uninstall.

Now it's time to edit your INF file. Go to Start, Run, and type in "c:\windows\inf\input.inf" (without the quotes.) Notepad should open. If not, do the same thing except add "notepad" to the beginning of the string you type into the Run dialog. Scroll down to the section called "[MicrosoftGame]". Now, in a new line in that section, type in "%XXXX.DeviceDesc%=HID_Inst,, XXXX", replacing each instance of XXXX with that hardware ID you wrote down. (And no, I DON'T just mean those four hexadecimal digits I previously referred to in the same way.) Now scroll down to the "[Strings]" section near the bottom, and type in [XXXX.DeviceDesc="Microsoft Xbox 360 Controller"], not including the brackets. (I used brackets instead of quotes since there are quotes in the string itself.) And the XXXX refers to the same thing as it did last time (the hardware ID you wrote down, including but not limited to those four hexadecimal digits.) Now save the file and exit.

If your controller is still plugged in, unplug it and plug it back in. If not, simply plug it in. If a window appears asking if you want to connect to Windows Update, tell it not to. It may also put up a warning about it not having passed Windows Logo testing. Click "Continue Anyway" on any of these warnings. Eventually, it should finish! Now all there is left to do is go into the Game Controllers control panel, select the controller, click Properties, and calibrate it. Have fun!

P.S. I do recommend XBCD. It's another driver, but it's much better than Microsoft's official one. XBCD+ looks promising, but I haven't tried that yet. Oh, and by the way, I'm not referring to xkcd, the popular webcomic. ;-)

Viewing all articles
Browse latest Browse all 26

Trending Articles