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 e
xploded-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:
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.