Anonymous edits have been disabled on the wiki. If you want to contribute please login or create an account.


Warning for game developers: PCGamingWiki staff members will only ever reach out to you using the official press@pcgamingwiki.com mail address.
Be aware of scammers claiming to be representatives or affiliates of PCGamingWiki who promise a PCGW page for a game key.

Glossary:Controller

From PCGamingWiki, the wiki about fixing PC games
Revision as of 12:33, 8 April 2015 by V00d00m4n (talk | contribs) (→‎JoyToKey: Garret, don remove this again! This is important, due of dinput and lack of xinput in tool LT and RT are useless, people must know that! And what this "does not show up as a controler" suppose to mean?)
This page may require cleanup to meet basic quality standards. You can help by modifying the article. The discussion page may contain useful suggestions.

Controllers are an alternative to keyboard and mouse input. Almost all recently released PC games support controllers, although many only support the newer XInput controllers by default.

For specific controllers see Category:Controller.

DirectInput

DirectInput is Microsoft's older controller API (used with nearly all games until 2006). XInput controllers operate in DirectInput mode for these games. Logitech's F310 and F710 gamepads have a physical switch which should be set to "D" for these games.

XInput

XInput is Microsoft's API for Xbox 360-compatible controllers such as the official Xbox 360 Controller.

Windows

Multiple controllers

Some older games do not allow you to select which controller to use, instead using the first controller reported by Windows; if you have multiple controllers the one you want may not be selected. To set the first controller open Game Controllers (joy.cpl) and click the Advanced button, then choose the controller you want. This setting is only relevant if you have multiple controllers connected; if you only connect one controller at a time it will always be reported as the first controller.

Some special controllers (e.g. certain HOTAS setups) report the separate physical pieces as individual controllers, making it difficult to use the entire controller with games that can only see a single controller. For these controllers you will need to set the main portion of the controller as the preferred device and then use another method to set up controls for the other parts (see controller with keyboard-only game).

Keyboard to controller input

If the game runs as an administrator, the controller program must also be run as an administrator otherwise it can't interact with the game.

Xpadder

Xpadder official site ($10 USD, lifetime license. Versions up to 5.3 are free.)

JoyToKey

Completely portable, with multiple configurations at once.
Up to four multiple keys can be set per trigger.
Might appear complicated to use at first.
Does not support xinput, polls xbox 360 controller via dinput, which leads to inability to use LT an RT simultaneously, any attempt to press one trigger while other pressed leads to both getting unpressed due of usage of same axis. Look for Xinput Plus section bellow, it includes dinput>xinput wrapper that may solve this problem.
Instructions
Instructions
Instructions

Pinnacle Game Profiler

Official site and 30 day trial ($25 USD, lifetime license)
Games/application profile downloads

DirectInput and XInput

For using a non-Xbox 360 controller with games that require an Xbox 360-compatible controller

x360ce

Can be used to force DirectInput controllers to be detected as XInput ones (Microsoft's API used for Xbox 360 controllers).
Does not work with games using the Unity engine due to implementation differences.[1]
Instructions

Durazno

Customize XInput controller settings. Adjust axis inversion, vibration strength and various other settings.

Xinput Plus

Has rect correction to solve square\cirlce issue (limited diagonal range that cause characters to stop in some game whenever you press any diagonal direction) in games.
Has many advanced features non of other xinput\dinput wrappers has.
Pretty easy to use and see result right in UI, thanks to understandable input\ouput graphs and internal testing tool.
The only dinput\dinput8 wrapper around that allows to use xinput LT\RT as separate axes or buttons and fix other problems in old games such as force deadzone, rebind POV to extra Buttons, etc.
Very easy and intuitive INI tweaking with self-explaining names of features and buttons.
Has option to combine itself with x360ce to work even with Dinput-only pads.
Allows to avoid usages of unofficial drivers such as XBCD and and japanesse Xinput and FFD drivers.
Allows to turn 16 physical buttons into 32 virtual buttons.
Official site and instruction in japanesse, site provides google translation to any language, but machine translation may be not very accurate and understandable.
Button rebind UI logic reversed and does opposite of what you expect.
Dinput rebind UI limited to very few common button combinations (it only allows to bind LT\RT as B11-12 or B12-13 adn as separate Z and rZ axes), does not show all of the features wrapper can provide, manual INI tweaking is necessary to fully rebind any dinput buttons and axes, and after manual editing usage UI is not reccomended since it will override manual tweaks.
WinMM gamepad API that was used in very old games and in even in some modern games, such as Deadly Premonition, not supported yet, however author promised to add it in the feature.
Perfect mix between x360ce, Durazno and XBCD. Allows to tweak many xinput settings that named tools does not allow to do, with good visual aid (shows input and output corrected difference) and built in testing tools, has rect correction (circle<>square), linearity, saturation, response and dead zone tweaking, allows to invert or disable any axis, allows full rebind of any button, has togglable rapid fire and hold features, easy controller number rebinds (can map single controller as two different, or two as one).
Most important feature - it is the one and only tool, that allows to fix xinput \ xbox 360 controller issues in old games that used dinput.dll and dinput8.dll, without messing with XBCD. Included dinput>xinput wrapper does exactly opposite thing x360ce does, it recives games calls to dinput and translate them to xinput calls, allowing to use LT and RT at the same time as two separate axes. Dinput wrappers allows to rebind any button and axis in any combination, so that LT and RT can be bound as digital buttons, and DPAD\POV can be bound as extra regular buttons, allowing to use them in games that never recognized POV. Layout of any classic gamepad such as Logitech RumblePad 2 can be simulated with dinput rebinds, allowing to play any old dinput game with default gamepad binds.
More than this, this is the only tool that allows to utilize up to 32 buttons in dinput games, using shift mode bound to any button. For example GUIDE button can be used as shift, that will turn all regular 12 buttons from button 1-12 to 13-25 while shift as pressed, and any physical button will virtually act as two buttons. Rect correction will help to fix problem with diagonal movements in dinput games that expected square rect and cant be performed with circle rect of xbox 360\ONE controllers. Wrapper also translates dinput rumble\FFD calls to xinput calls and restores vibration in any dinput game without any third party driver.
This wrapper is ultimate solution of all of xinput problems, however it can be combined with x360ce to fix some issues even with dinput pads, like rebind of pov to buttons, additon of virtual extra 12+ buttons, rect correction and few more issues that x360ce and other wrappers can not correct. In such case old game would call for XI+ dinput wrapper, which will call for x360ce xinput wrapper, that will call for original dinput, creating dinput>xinput>dinput chain.
Dinput wrapper was tested in Silent Hill 2-4, MGS 2, Manhunt, GTA 3, Need For Speeds, Splinter Cell Chaos Theory, Prince of Persia Sands of Time and other dinput games, and it works like a charm.

Force feedback driver

Some games will still not see the controller as force feedback-compatible even with this driver installed.


OS X

Xbox 360 Driver

ControllerMate

Linux

Most distributions come with the xpad driver already. If you're expereniencing problems with using controllers in your game, or want to bind your keyboard to the controller, you might try xboxdrv.

QJoyPad

QJoyPad allows you to create profiles for different games and switch between them via the interface or system tray icon.

List of controllers

Logitech controllers

Microsoft controllers

Xbox:

PC:

Nintendo controllers

Sony controllers

Miscellaneous


References