How-To Geek

How to Use an Xbox 360 Controller On Your Windows PC


The keyboard and mouse might be a good fit for many native computer games, but it feels downright weird to play emulated games that way. Whether you want to play Super Mario with a proper gamepad or try out a new PC title like Diablo III in comfort, we’ve got you covered.

Today we’re taking a look at how you can take a Microsoft Xbox 360 controller and configure it to work with everything from your favorite emulators to old and new PC games. Whether you want the authentic feel of a controller in your hand when you play old school games or you’re looking for a gentle-on-the-wrists way to play modern games, it’s easy to set up.

What You’ll Need

For this tutorial you’ll need the following things:

  • A wired Xbox controller (Official or well-constructed unofficial controller like the Mad Katz model is OK).
  • A copy of ShowOff (for diagnostic purposes).
  • A copy of Xpadder ($10, necessary for more advanced configuration techniques).
  • An emulator or video game to configure the controller for.

While it’s possible to use a wireless controller for this tutorial, doing so adds an extra layer of complexity and troubleshooting to the project (many people report widespread issues with using the wireless 360 controller for PC-based gameplay) and as such we’ve opted to stick with the wired model. If you have success using the wireless models, be sure to drop a note in the comments and share your tips and tricks.

Also, we strongly recommend reading through the entire tutorial and checking out the specific applications and games you want to use your Xbox controller with before purchasing anything on the What You’ll Need list as some setups require les configuration than others (effectively reducing the cost for the project to $0 outside the cost of the actual controller).

Installing and Testing the Xbox 360 Controller


Installing the Xbox 360 controller should be a pretty painless affair. Plug your controller into an unoccupied USB port on your Windows machine. Windows should automatically detect and install the drivers for the device and in under 10 seconds the computer will be accepting input from the controller.

If, during the following diagnostic tests, it becomes clear that the installation did not go as planned, you can visit the support page for the 360 controller here and download the appropriate drivers for your version of Windows.

To test out the controller, we have a two prong approach. The first thing you want to do is go to the Start Menu and type joy.cpl in the run box. This will pull up the Game Controllers control panel like so:


As you can see we’re using the cheaper MadCatz 360 controller for this project. Clicking on advanced simply allows you to switch between controllers, which in our case isn’t relevant. Clicking Properties  pulls up the controller properties for the 360 controller.


Select the Test tab. Try out each button on the controller. If everything is working properly, something should happen when you press each button or move each control stick/directional pad. If you fail to get any input at all, go back to the beginning of this section and download the drivers. If you get input but it’s erratic (e.g. you push up on one of the joy sticks and the axis display goes down and left) you need to click on the Settings Tab and click the configuration button. The configuration wizard will walk you through identifying and correctly calibrating each button and joystick.


Once you’ve confirmed all the buttons are working and configured properly, it’s quite helpful to run the small AutoHotkey executable ShowOff we listed in the What You Need section. This tiny app will put a small white overlay window on your screen that simply reports every button press, whether it’s from a keyboard, mouse, gamepad, or other input device (as seen in the screenshot above). You don’t need to keep the application on for the controller to work properly with your games, but during the setup process it can be very useful to see what the specific button code for each button is while you’re configuring your emulators and games.

Configuring Emulators and Games That Allow Custom Button Selections

If you’re using a gaming emulator or stand alone game that allows you to customize game inputs to whatever buttons you desire, configuration is just a matter of opening up the appropriate section in the game menus and carefully mapping each button. To demonstrate how simple this is, we’re going to use the excellent game emulator BSNES.

Not only does BSNES emulate over 8 consoles including the NES, Super NES, and Game Boy, but it does an amazing job at it while providing highly customizable play—including custom controller configurations. You can follow along with any application that allows you to select custom inputs.

To configure BSNES we simply download it, extract the folder, and run the BSNES executable. Once launched, navigate to Settings –> Configuration, and click on Input in the sidebar. There you can select which game system BSNES supports that you wish to configure. We’re going to configure the Super NES controller. Let’s demonstrate by remapping the four main buttons on the SNES controller from the keyboard to the Xbox 360 controller’s four main buttons.


You can see that, by default, all the mappings in BSNES are keyboard based (thus the KB0 variable and the corresponding key). All you need to do in order to remap the button shortcuts from the ZXAS keyboard configuration they are in to the buttons on the controller is to double-click each entry with the mouse and then press the button on the Xbox controller like so:


Simply repeat the process for all the buttons you wish to map to the Xbox controller. Once you’re done mapping, it’s time to take the controller for a test drive:


It’s A Link to the Past just like we remember it: control pad in hand instead of fingers sprawled and cramping on the keyboard. Success!

What about emulators and games where you can’t easily configure the inputs like you can with BSNES? To that end you’ll need to employ a third-party application; we show you how in the next section.

Configuring Emulators and Games With Limited Customization Options

Configuring an emulator or game when it readily accepts gamepad buttons presses as legitimate input (as we demonstrated BSNES does in the previous section of the guide) makes it easy to setup the controller as you can customize each button to your heart’s content. What if the game doesn’t accept custom inputs or, if it does, they’re limited to actual keystrokes and mouse clicks?

If you’re in that situation, you’re not out of luck. Thanks to the dedication of Jonathan Firth, the one-man coding operation behind popular Xbox configuration tool Xpadder, it’s possible to map the Xbox controller’s inputs to whatever keyboard and mouse inputs the game requires you to use. Not only does Xpadder work wonderfully with the Xbox controller, but it’s customizable to work with any gamepad or input device recognized by Windows. There’s a thriving community of gamers making unique profiles for Xpadder for every gaming device under the sun. Let’s take a look at installing and configuring Xpadder.

Xpadder is a portable application, once you purchase the app and download the executable, you just need to pick a folder for it and run through a very basic initial configuration. We parked the app in our Dropbox/Portable Apps/ folder. On first launch you’ll see some information about the app, click through until you reach:


Here you can opt to have the profiles and other information saved either in your My Documents folder or the location of the program. We like to keep our portable apps tidy so we opted to keep all the data with the Program location.


Next, you can opt to associate the unique profiles of XPadder with the application. We opted to associate the file to save ourselves a little time in the future.


When you’re done setting up the very minimal installation configuration, you’re kicked into the main app interface. Right now it looks pretty bare as the app comes with no default controller configuration. Fortunately setting one up is easy and once you’ve mapped out your controller you can use the template to create profiles for all your games.

First you’ll need a base image of the controller to make mapping out the controls easier. You could make your own from scratch, but that’s a lot of effort when the work has already been done for you. It’s time to hit up the Xpadder controller database and pick out the configuration module for our controller. We really liked the clean exploded-buttons style image in the Xbox 360/Official Xbox 360/ category by Oke Doke and opted to use that as the base of our build.

To use the image simply right click and copy it in your browser, then click on the small controller icon in on the upper right side of the Xpadder interface to access the menu. From there, click on Settings to create your controller profile. From within the settings menu, click the Paste button to paste your controller image.


Once you’ve pasted the image in, you can begin clicking on the entries in the navigation sidebar like Sticks, DPads, and Buttons. Each entry will guide you through pressing the buttons on your controller. Each time you assign a button, you can drag it to the appropriate place on the visual map we just pasted into the interface (see the screenshot above to see what the layout looks like after all the buttons have been dragged into place). Click OK to return to the main interface.

Let’s take a moment to save out blank default configuration before we started editing it. Click on the controller icon again to pull up the menu and select Save As. We saved it with an appropriately clear title for future reference:


At this point we have a blank slate to assign each button on our gamepad a specific value. Let’s return for a moment to BSNES and pretend that the application absolutely did not allow us to configure buttons other than the default ones.

Using Xpadder we can easily circumvent any game with fixed-buttons by assigning those buttons as we see fit. The default in BSNES for the four primary controller buttons is the assignment of keyboard keys ZXAS for Super NES buttons BAYX. Assuming we couldn’t reconfigure those buttons, we can easily assign the keyboard values to the buttons by clicking on the specific button we want to assign in Xpadder. Doing so pulls up a virtual keyboard like so:


Using the virtual keyboard we can assign the ZXAS keyboard keys to the BAYX buttons on the Xbox controller like so: 2012-07-03_155750

Continue the process of assigning buttons until you’ve mapped all the necessary buttons for your game. Once you’re done, click on the floppy disk icon on the right hand side of the interface next to Untitled Profile to save your game profile. You can make as many profiles as you wish for your various games and emulators.

Here’s an example of Xpadder being used to control a melee character in the popular game Diablo III with a 360 controller (you can download the controller profile here):

While customizing your controller profiles gives you fine-tooth control over the results (thus you could keep your keyboard and mouse settings for a game completely intact while creating a controller profile over top those key bindings), you will save yourself a lot of time by visiting the Xpadder forums and grabbing one of the hundreds of game profiles other gamers have already crafted for you.

Whether by mapping the button inputs within the game or using Xpadder to help you map the buttons to any number of keyboard configurations, it’s possible to play virtually every game on your computer using a comfortable Xbox 360 controller.

Jason Fitzpatrick is a warranty-voiding DIYer who spends his days cracking opening cases and wrestling with code so you don't have to. If it can be modded, optimized, repurposed, or torn apart for fun he's interested (and probably already at the workbench taking it apart). You can follow him on if you'd like.

  • Published 07/3/12

Comments (22)

  1. Srivatsan Venkatesh

    For a free alternative, I recommend Joy2Key. Its a bit less user-friendly, but you can generally do everything that xpadder can do. And you can also make several “profiles” for each program you use, like for each emulator, for example. Just a protip.

  2. Jon

    Duuuude, the receiver is $10 on ebay.

  3. jimmy
  4. Luka

    If you have a Sony Dual Shock 3 you can also connect it to your PC and emulate a Xbox 360 pad on your PC. Download yourself DS3Tool from I would highly recommend this software if you haven’t got a Xbox 360 pad.

  5. croce


    What receiver? If you are talking about a joystick, can you post a link please?

  6. jimmy
  7. Kevalin

    A list of the emulators this works on would be most welcome.

    I’ve considered playing some of these games on and off for years, but I didn’t want to put money into purchasing a console, only to discover that it’s not really my thing. Finding the right emulators to play some of these games with might just give me the impetus to change my mind.

  8. Tomas

    How to use Wireless controls:

    Have not tested but Xpadder says it works on his forum.

  9. tommy

    impress me show them how to use the nintendo power glove to do the same thing lol

  10. Isaac

    You don’t have to pay anything!
    I am using a wired xbox controller for my games and I didn’t have to buy software!
    You can download free software from Microsoft that will allow you to use the controller for pc.
    Works just fine.

  11. Jon

    I am talking about the wireless receiver for the wireless game pad. It comes with drivers and it works very well. It supports 4 pads at a time. I haven’t found the need for any other software, almost any game that I’ve installed has been integrates very well. Shank 2, Crackling Gears, Alien Breed, Lego Harry Potter… for the rest you can change the settings in the Control section of the game.

  12. Christoffer

    You really don’t have to use a wired controller, microsoft makes pc-receivers for the controller. I’ve been using the wireless on my htpc with the xpadder program.


  13. UltimatePSV

    Perhaps a PS3 controller tutorial next? It’s about as simple and requires a program called Motion In Joy.

  14. Derrick
  15. marinemerchant

    I do enjoy using my wireless Xbox 360 controller on my PC with the receiver, but I will admit it sucks for FPS games compared to a mouse’s accuracy and responsiveness.

  16. Thane

    I just plugged a wired Xbox 360 controller into my win 7 computer and it worked from the get go. No fancy extra software needed. Did this a year or more ago, so built in OS support isn’t new.

  17. Skinymike

    Old news, But I have seen that you can use a ps 3 controller with android to play ps1 games, That sounds like awesome to me, now if I could use it with max payne mobile i could die happy. Root required.

  18. Chariblaze

    To those saying Xpadder isn’t needed, well yes, the controller with work fine without it…for games that have an option to use a controller. But for something like Minecraft, Flash games, or anything else like that, something that can emulate keypresses and mouse movements, like Xpadder or JoyToKey, is required.

    Now, for a real challenge, get this working in Linux. Good luck to you. The latest version of JoyToKey is woefully undocumented there, and the alternatives, like QJoyPad, are somewhat broken.

  19. Jon

    I am talking about the wireless receiver for the wireless game pad. It comes with drivers and it works very well. It supports 4 pads at a time. I haven’t found the need for any other software, almost any game that I’ve installed has been integrates very well. Shank 2, Crackling Gears, Alien Breed, Lego Harry Potter… for the rest you can change the settings in the Control section of the game.

  20. James

    There is also another great emulator on the market since 2005 and by far its very awesome in emulating PC games which uses kb & mouse and also with limited support for games which do have controller support. The name of the program is Pinnacle Game Profiler. The real beauty of this program is the fine tuning adjustments that can be done with the buttons, triggers and analog sticks. When you’re finished assigning commands to each buttons, triggers and analog sticks you can go and do your fine tuning by making all type of adjustments to get your game to play as if you’re playing on a console. There are many different difficult games out there that normally would send someone mad trying to get it to play with a controller e.g. Star Wars The Old Republic which practically uses the entire kb and mouse but PGP can do it all. With a little patience you can get the best out of it for your gaming experience. BTW there are over a thousand ready made profiles available for download freely and you can start to use it immediately. Best of all you even have the privilege to download PGP and try it our for 30 days full use.

  21. Sean

    Just plug the controller in and go with Win7. It’s not hard. Console emulations is besides, there’s no reason to use a controller with FPS.

  22. FCT

    I did EXACTLY as the guide suggested, got the computer recognising the input of the XBox 360 controller but bSNES wasn’t picking it ip. Any ideas why this might be the case?

More Articles You Might Like

Enter Your Email Here to Get Access for Free:

Go check your email!