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.

Difference between revisions of "Glossary:Controller"

From PCGamingWiki, the wiki about fixing PC games
m (updated template usage)
Line 41: Line 41:
 
{{ii}} Some games only use controller set as primary controller on Windows and ignores the rest. If incorrect or no controllers are set to primary, game doesn't work with used controller.
 
{{ii}} Some games only use controller set as primary controller on Windows and ignores the rest. If incorrect or no controllers are set to primary, game doesn't work with used controller.
  
{{Fixbox|1=
+
{{Fixbox|description=Set your used controller as primary one|ref={{cn|date=July 2016}}|fix=
{{Fixbox/fix|Set your used controller as primary one|ref={{cn|date=July 2016}}}}
 
 
# Open the Start menu, type <code>joy.cpl</code>, then press {{key|Enter}}.
 
# Open the Start menu, type <code>joy.cpl</code>, then press {{key|Enter}}.
 
# Push '''Advanced'''.
 
# Push '''Advanced'''.
Line 62: Line 61:
 
{{ii}} This may be caused by worn out sticks or by low in-game deadzones.
 
{{ii}} This may be caused by worn out sticks or by low in-game deadzones.
  
{{Fixbox|1=
+
{{Fixbox|description=Calibrating|ref={{cn|date=July 2016}}|fix=
{{Fixbox/fix|Calibrating|ref={{cn|date=July 2016}}}}
 
 
# Open the Start menu, type <code>joy.cpl</code>, then press {{key|Enter}}.
 
# Open the Start menu, type <code>joy.cpl</code>, then press {{key|Enter}}.
 
# Select the desired controller and click on the '''Properties''' button.
 
# Select the desired controller and click on the '''Properties''' button.
Line 73: Line 71:
 
{{--}} Common issue on games running on the [[Engine:Unity|Unity]] engine due to the Unity input manager using Raw Input instead of DirectInput.
 
{{--}} Common issue on games running on the [[Engine:Unity|Unity]] engine due to the Unity input manager using Raw Input instead of DirectInput.
  
{{Fixbox|1=
+
{{Fixbox|description=Finding Virtual Controllers|ref={{cn|date=July 2016}}|fix=
{{Fixbox/fix|Finding Virtual Controllers|ref={{cn|date=July 2016}}}}
 
 
# Open the Start menu, type <code>joy.cpl</code>, then press {{key|Enter}}.
 
# Open the Start menu, type <code>joy.cpl</code>, then press {{key|Enter}}.
 
# Locate the name of the virtual controller driver or utility and remove it.
 
# Locate the name of the virtual controller driver or utility and remove it.
 
}}
 
}}
{{Fixbox|1=
+
{{Fixbox|description=Rebind Controller Buttons|fix=
{{Fixbox/fix|Rebind Controller Buttons}}
 
 
{{ii}} For [[Engine:Unity|Unity]] games with no launchers hold {{key|Shift}} to access the launcher as the game starts, then select the '''Input''' tab.
 
{{ii}} For [[Engine:Unity|Unity]] games with no launchers hold {{key|Shift}} to access the launcher as the game starts, then select the '''Input''' tab.
 
{{ii}} Check the wiki article for the desired game to find a different rebinding solution. Configuration files may hold such settings.
 
{{ii}} Check the wiki article for the desired game to find a different rebinding solution. Configuration files may hold such settings.
Line 92: Line 88:
 
{{--}} This method requires Steam to be installed on a machine, making it harder for DRM-Free releases.
 
{{--}} This method requires Steam to be installed on a machine, making it harder for DRM-Free releases.
 
}}
 
}}
{{Fixbox|1=
+
{{Fixbox|description=Use [http://community.pcgamingwiki.com/files/file/734-sdl2-gamepad-tool/ SDL2 Gamepad Tool]|ref={{cn|date=July 2016}}|fix=
{{Fixbox/fix|Use [http://community.pcgamingwiki.com/files/file/734-sdl2-gamepad-tool/ SDL2 Gamepad Tool]|ref={{cn|date=July 2016}}}}
 
 
# Download and open [http://community.pcgamingwiki.com/files/file/734-sdl2-gamepad-tool/ SDL2 Gamepad Tool].
 
# Download and open [http://community.pcgamingwiki.com/files/file/734-sdl2-gamepad-tool/ SDL2 Gamepad Tool].
 
# Select desired controller from dropdown menu.
 
# Select desired controller from dropdown menu.
Line 155: Line 150:
 
<!-- This method assumes you only have two controllers so it kinda sucks, shouldn't the Xbox 360 Controller Emulator be used instead? -->
 
<!-- This method assumes you only have two controllers so it kinda sucks, shouldn't the Xbox 360 Controller Emulator be used instead? -->
 
<!-- Add proper HOTAS instructions, would need an actual Joystick to test this. -->
 
<!-- Add proper HOTAS instructions, would need an actual Joystick to test this. -->
{{Fixbox|1=
+
{{Fixbox|description=Instructions|ref=<ref>{{Refcheck|user=Blackbird|date=2016-10-06|comment=Far as I can tell this is for DInput games only.}}</ref>|fix=
{{Fixbox/fix|Instructions|ref=<ref>{{Refcheck|user=Blackbird|date=2016-10-06|comment=Far as I can tell this is for DInput games only.}}</ref>}}
 
 
# Open the Start menu, type <code>joy.cpl</code>, then press {{key|Enter}}.
 
# Open the Start menu, type <code>joy.cpl</code>, then press {{key|Enter}}.
 
# Click on the '''Advanced''' button.
 
# Click on the '''Advanced''' button.

Revision as of 00:38, 20 November 2017

This page may require cleanup to meet basic quality standards. The specific problem is: Correct any bad information. Keep things easy, clean and be complete when writing solutions, or I'll eat your donuts and I'll steal your cats. You can help by modifying the article. The discussion page may contain useful suggestions.

General information

DirectInput (and XInput) on Wikipedia
Xbox 360 Controller (XInput) on Wikipedia

Key points

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.

General

Controller to Keyboard Input

These utilities allow keyboard keys to be bound to any controller buttons for games with poor or no controller support. These keys must match with the in-game settings.

AntiMicro (Windows and Linux)

Open source and easy to use application.
Allows any mouse and keyboard input to be bound to any controller buttons across different profiles.
On Linux, it works only in Xorg environment.

Windows

XInput wrappers

Generic game controllers are classified as DirectInput by Windows, these can be used in any games with XInput support by using a wrapper.
See Controller to Keyboard Input for games with no controller support.

Durazno

Allows XInput controllers to be customized.

XInput Plus

The Xbox Controller Driver and the Force Feedback Driver aren't required with this program.
Features a wide array of advanced options, tweaks, features and some major fixes which other wrappers may lack.
Can translate DirectInput calls into XInput and back. It can also be used on older games using dinput.dll and dinput8.dll.

Xbox 360 Controller Emulator

Can be used to force DirectInput controllers to be detected as XInput ones.
Useful for games which may require multiple players. It also features a wide array of options.
Does not work with games using Unity due to implementation differences.[1]

Primary device

Some games only use controller set as primary controller on Windows and ignores the rest. If incorrect or no controllers are set to primary, game doesn't work with used controller.
Set your used controller as primary one[citation needed]
  1. Open the Start menu, type joy.cpl, then press Enter.
  2. Push Advanced.
  3. From dropdown list, locate your used controller and then push OK.

Macintosh

ControllerMate

USB Overdrive

Linux

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

Dualshock 4 Lightbar

See DualShock 4 Light Bar Support.

Issues fixed

Slow or random movement

This may be caused by worn out sticks or by low in-game deadzones.
Calibrating[citation needed]
  1. Open the Start menu, type joy.cpl, then press Enter.
  2. Select the desired controller and click on the Properties button.
  3. Select the Settings tab, then push the Calibrate button and follow the on screen instructions.

Fast movement

Remove any virtual controllers and use the Xbox 360 Controller Emulator instead. If the issue persists see below.
Common issue on games running on the Unity engine due to the Unity input manager using Raw Input instead of DirectInput.
Finding Virtual Controllers[citation needed]
  1. Open the Start menu, type joy.cpl, then press Enter.
  2. Locate the name of the virtual controller driver or utility and remove it.
Rebind Controller Buttons
For Unity games with no launchers hold Shift to access the launcher as the game starts, then select the Input tab.
Check the wiki article for the desired game to find a different rebinding solution. Configuration files may hold such settings.

SDL2

Many games use SDL2 to handle controller input. This means as long as the controller is on the list, game should detect, use it and give proper controller placement and prompts. Controllers that aren't on the list, do nothing and has to be manually added.
To see what games use SDL2, refer to game-specific middleware section.
Instructions
Use SDL2 Gamepad Tool[citation needed]
  1. Download and open SDL2 Gamepad Tool.
  2. Select desired controller from dropdown menu.
  3. Select "Create a new mapping" and press buttons accordingly.
    • If some button isn't present on the controller, use the "Skip" button and if some key is registered twice, use the "previous" button.
  4. Either set the string as enviromental variable, which should make the controller work with every SDL2 game or alternatively copy the string and paste it to gamecontrollerdb.txt found in games install folder.

List of controllers

Logitech

Microsoft

Xbox

PC

Nintendo

Sony

Miscellaneous

Other information

Controller hotplugging

Controller hotplugging is the ability to switch controllers without restarting a game.

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.

Multiple controller order for older games

Instructions[2]
  1. Open the Start menu, type joy.cpl, then press Enter.
  2. Click on the Advanced button.
  3. Select the Preferred device from the drop down menu located on the center.


References

  1. Issue 48 - x360ce - Hooking does not work with Unity Engine - x360ce/x360ce - GitHub
  2. Verified by User:Blackbird on 2016-10-06
    Far as I can tell this is for DInput games only.