Compatibility of controllers for PC games
As the number of console ports seems to increase, there are more and more games that are meant to be played with a controller like on a console. The keyboard controls are sometimes pretty clumsy.
If I want to play games with a controller on my PC, are there any compatibility problems with different controllers and games? Are there some standard controllers that work with most games?
So, could I just choose any controller and happily play my games or do I have to be more careful in my selection?
Solution 1:
Short answer:
XBOX 360 controller or XBOX ONE controller
.
Why:
These are officially supported by many new PC games that are designed for them (that's called the XInput API), so no configuration needed, not even remapping buttons. (Super easy).
Where not officially supported, it's still recognised as a windows DirectX controller, so any windows game will support it, (as long as it supports joysticks/joypads and is no older than 1995 or so). You may have to re-map buttons, or even fiddle with config files, though. (Easy enough).
Where there is no/broken joystick support, you can use a utility that turns control pad commands into key presses and mouse movements like xPadder. (Do-able).
It's a pretty well-built controller. 3rd party controllers are almost never as accurate, responsive and comfortable as the ones that ship with the major consoles.
Any controller you can buy for PC can do 2 and 3, but not necessarily 1 and 4 (Note: there are a few other controllers that also support XInput, so games recognise them just like the 360 controller). I have the pc dongle and wireless x360 controller, as well as many other controllers. The dongle - Microsoft Wireless Gaming Receiver - is very cheap (you can get an off-brand one on eBay for less than $10 delivered).
The one drawback of the 360 controller is the older ones (the vast majority of them) have an average D-pad, which sucks in older emulated games (fast 2D platformers, SNES games, Streetfighter 2, etc). I recommend (and use) a USB adapter off eBay with an old SNES controller for those (though any genuine Nintendo controller - NES, N64, GC, Wii Classic controller, etc - will have a good D-pad, and the Sony ones are OK too).
Solution 2:
If you do not have any controller yet, go for the XBox 360 Controller or any other controller that supports the XInput API. There are not many of them, including:
- Official Xbox 360 Controller
- Logitech Cordless RumblePad 2 USB
- Thrustmaster T-Wireless 3 in 1 Rumble Force
- Thrustmaster Run’N’Drive Wireless
- Thrustmaster Run'N'Drive Wired Rumble Force
- Thrustmaster Dual Trigger
- Rumble Force Thrustmaster Dual Analog 3
If you unluckily do have a controller that is none of the above or not supporting XInput, there still is a solution, albeit an impractical one.
There is a small project called X360ce which allows you to use such controllers with the games requiring XInput. I have been using it successfully to play Dirt 2 with my Saitek Rumble Force.
The quirk is, you have to copy it for every game you want to play, and possibly configure it individually. But most games work the same, I did the configuration only once for my controller and it works on most games.
Solution 3:
Steam now supports the PlayStation 4 controller (DS4) and the Switch Pro Controller.
Any gamepad compatible Steam game can now be played with either of these gamepads in addition to the Xbox 360 and Xbox One gamepads.
While the linked article says you need to opt into the Steam Client Beta, the feature has since been released and is available for all Steam users.
Keep in mind that the Switch Pro Controller doesn't have analog triggers, so some games may be somewhat more difficult to play than others.
Solution 4:
Assuming you want to use your console's controller on a PC (which may well not be the case on re-reading your question) there are two issues:
Will the PC recognise your controller? Windows will recognise a wired Xbox 360 controller and pass input to your game. Wii remotes are Bluetooth devices so as long as you've got a Bluetooth dongle the data will be read. I don't know about PS 3 as we don't own one *
Will the game recognise the input from the controller? In theory this should always be a "yes" as the data should be of a standard format, but you never know. Double check the game you want to play to see what input devices it supports.
In general you'll probably be OK with an Xbox controller - but there may be exceptions.
* It appears you can use a PS3 controller with a PC. Requires a driver to be installed. (There are probably other drivers out there too.)
Solution 5:
Unlike consoles, computers do not come prepackaged with gamepads. This is leads to the fact that also unlike consoles, there is no "standard" in gamepads designed for the computer. Since manufacturers won't know what to expect the player to have in terms of interface, it's largely up to the consumer to determine what gamepad works best for them. This is why, unless they've drastically changed things in modern times, the keys can be remapped as you see fit. This lets you have greater flexibility in what device you use for game, regardless of what console it was originally on.
At minimum, to play the games that are designed for the current generation of consoles, the most important thing is to have enough buttons. 4 sets of shoulder buttons, 4 face buttons, and a set of start/select should be sufficient. You may consider investing in a gamepad that has multiple joysticks and directional pads if the games you need will require them.
Once you get past the part of having enough inputs, then the remaining thing to do is get what feels most comfortable for you, or what you will play best with.