Difference between revisions of "Glossary:Controller"
From PCGamingWiki, the wiki about fixing PC games
(→AntiMicro (Windows and Linux): Respiratory moved to new site.) |
(→List of controllers: Added google section for the upcoming stadia controller which will work on PC it sounds like.) |
||
(37 intermediate revisions by 16 users not shown) | |||
Line 14: | Line 14: | ||
===Controller to Keyboard Input=== | ===Controller to Keyboard Input=== | ||
{{ii}} 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. | {{ii}} 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. | ||
+ | |||
+ | ====[[Store:Steam#Steam Input|Steam Input]] (Windows, Mac and Linux)==== | ||
+ | {{ii}} Works with non-Steam games if they're added and launched through Steam. | ||
+ | {{++}} Lets users share and customize game-specific controller profiles. | ||
+ | {{++}} Adds or extends the functionality of input devices in various ways (e.g. keyboard/mouse input mapped to a controller, XInput support for DirectInput-only devices, etc). | ||
+ | {{--}} Overrules games own possible controller specific configurations e.g. automatic button prompt change. | ||
+ | {{--}} UI for changing bindings is very much made with controllers in mind. | ||
+ | {{--}} Requires [[Steam]] and the Steam Overlay to function. | ||
====[https://github.com/AntiMicro/antimicro/releases AntiMicro (Windows and Linux)]==== | ====[https://github.com/AntiMicro/antimicro/releases AntiMicro (Windows and Linux)]==== | ||
− | {{ii}} Open source and easy to use application | + | {{ii}} Open source and easy to use application. |
{{++}} Allows any mouse and keyboard input to be bound to any controller buttons across different profiles. | {{++}} 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== | ==Windows== | ||
− | ===XInput | + | ===XInput wrappers=== |
{{ii}} Generic game controllers are classified as [[Glossary:Controller#DirectInput|DirectInput]] by Windows, these can be used in any games with [[Glossary:Controller#XInput|XInput]] support by using a wrapper. | {{ii}} Generic game controllers are classified as [[Glossary:Controller#DirectInput|DirectInput]] by Windows, these can be used in any games with [[Glossary:Controller#XInput|XInput]] support by using a wrapper. | ||
{{ii}} See [[#Controller to Keyboard Input|Controller to Keyboard Input]] for games with no controller support. | {{ii}} See [[#Controller to Keyboard Input|Controller to Keyboard Input]] for games with no controller support. | ||
+ | |||
+ | ====[[Glossary:Controller#Steam Input (Windows, Mac and Linux)|Steam Input]]==== | ||
+ | {{++}} Very easy to set up if you have Steam installed. | ||
+ | {{++}} With controllers like [[Controller:DualShock 4|DualShock 4]] and [[Controller:Switch Pro Controller|Switch Pro Controller]] allows haptic feedback passtrough as well. | ||
====[https://github.com/KrossX/Durazno Durazno]==== | ====[https://github.com/KrossX/Durazno Durazno]==== | ||
Line 28: | Line 41: | ||
====[https://sites.google.com/site/0dd14lab/xinput-plus XInput Plus]==== | ====[https://sites.google.com/site/0dd14lab/xinput-plus XInput Plus]==== | ||
− | {{ii}} The [[XBCD|Xbox Controller Driver]] and the | + | {{ii}} The [[XBCD|Xbox Controller Driver]] and the buggy 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. | {{++}} Features a wide array of advanced options, tweaks, features and some major fixes which other wrappers may lack. | ||
{{++}} Can translate [[Glossary:Controller#DirectInput|DirectInput]] calls into [[Glossary:Controller#XInput|XInput]] and back. It can also be used on older games using '''dinput.dll''' and '''dinput8.dll'''. | {{++}} Can translate [[Glossary:Controller#DirectInput|DirectInput]] calls into [[Glossary:Controller#XInput|XInput]] and back. It can also be used on older games using '''dinput.dll''' and '''dinput8.dll'''. | ||
Line 38: | Line 51: | ||
===Primary device=== | ===Primary device=== | ||
− | {{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| | + | |
− | + | {{Fixbox|description=Set your used controller as primary one|ref={{cn|date=July 2016}}|fix= | |
− | # | + | # Open the Start menu, type <code>joy.cpl</code>, then press {{key|Enter}}. |
# Push '''Advanced'''. | # Push '''Advanced'''. | ||
# From dropdown list, locate your used controller and then push '''OK'''. | # From dropdown list, locate your used controller and then push '''OK'''. | ||
}} | }} | ||
− | == | + | ==Macintosh== |
− | ===[http://www.orderedbytes.com/controllermate/ | + | ===[http://www.orderedbytes.com/controllermate/ ControllerMate]=== |
+ | |||
+ | ===[http://www.usboverdrive.com/ USB Overdrive]=== | ||
==Linux== | ==Linux== | ||
− | {{ii}} 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 ''[http://pingus.seul.org/~grumbel/xboxdrv/ xboxdrv]'' | + | {{ii}} 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 ''[http://pingus.seul.org/~grumbel/xboxdrv/ xboxdrv]'', or refer to the controller-specific article for more information. |
− | |||
− | |||
− | |||
==Issues fixed== | ==Issues fixed== | ||
===Slow or random movement=== | ===Slow or random movement=== | ||
{{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| | + | |
− | {{ | + | {{Fixbox|description=Calibrating|ref={{cn|date=July 2016}}|fix= |
− | # | + | # 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. | ||
# Select the '''Settings''' tab, then push the '''Calibrate''' button and follow the on screen instructions. | # Select the '''Settings''' tab, then push the '''Calibrate''' button and follow the on screen instructions. | ||
Line 69: | Line 81: | ||
{{--}} 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| | + | {{Fixbox|description=Finding Virtual Controllers|ref={{cn|date=July 2016}}|fix= |
− | {{ | + | # 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| | + | {{Fixbox|description=Rebind Controller Buttons|fix= |
− | + | {{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 | ||
{{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 82: | Line 92: | ||
===SDL2=== | ===SDL2=== | ||
{{ii}} 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. | {{ii}} 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. | ||
− | {{ii}} To see what games use SDL2, | + | {{ii}} To see what games use SDL2, refer to game-specific middleware section. |
− | {{Fixbox| | + | |
− | + | {{Fixbox|description=Configure controller through Steam Big Picture modes settings|ref={{cn|date=July 2016}}|fix= | |
− | {{--}} This method requires Steam to be installed on a machine | + | {{--}} This method requires Steam to be installed on a machine. |
}} | }} | ||
− | {{Fixbox| | + | {{Fixbox|description=Use [http://community.pcgamingwiki.com/files/file/734-sdl2-gamepad-tool/ SDL2 Gamepad Tool]|ref={{cn|date=July 2016}}|fix= |
− | |||
# 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 98: | Line 107: | ||
==List of controllers== | ==List of controllers== | ||
<!-- This list is ordered by the controller release date. The Logitech and Misc sections have been left alphabetized. --> | <!-- This list is ordered by the controller release date. The Logitech and Misc sections have been left alphabetized. --> | ||
+ | ===Hori=== | ||
+ | * [[Controller:Pokkén Tournament Pro Pad Controller|Pokkén Tournament Pro Pad]] | ||
+ | |||
===Logitech=== | ===Logitech=== | ||
* [[Controller:Logitech Dual Action|Logitech Dual Action]] | * [[Controller:Logitech Dual Action|Logitech Dual Action]] | ||
Line 112: | Line 124: | ||
* [[Controller:Kinect|Kinect]] | * [[Controller:Kinect|Kinect]] | ||
* [[Controller:Xbox One Controller|Xbox One Controller]] | * [[Controller:Xbox One Controller|Xbox One Controller]] | ||
+ | * [[Controller:Xbox Elite Wireless Controller|Xbox Elite Wireless Controller]] | ||
+ | * [[Controller:Xbox Adaptive Controller|Xbox Adaptive Controller]] | ||
+ | * [[Controller:Xbox Elite Wireless Controller 2|Xbox Elite Wireless Controller 2]] | ||
'''PC''' | '''PC''' | ||
* [[Controller:Microsoft SideWinder Strategic Commander|Microsoft SideWinder Strategic Commander]] | * [[Controller:Microsoft SideWinder Strategic Commander|Microsoft SideWinder Strategic Commander]] | ||
+ | |||
+ | ===Nacon=== | ||
+ | * [[Controller:Nacon Revolution Pro Controller|Nacon Revolution Pro Controller]] | ||
+ | * [[Controller:Nacon Revolution Pro Controller 2|Nacon Revolution Pro Controller 2]] | ||
===Nintendo=== | ===Nintendo=== | ||
Line 122: | Line 141: | ||
* [[Controller:Wii U GamePad|Wii U GamePad]] | * [[Controller:Wii U GamePad|Wii U GamePad]] | ||
* [[Controller:Wii U Pro Controller|Wii U Pro Controller]] | * [[Controller:Wii U Pro Controller|Wii U Pro Controller]] | ||
+ | * [[Controller:Switch Joy-Con|Switch Joy-Con]] | ||
+ | * [[Controller:Switch Pro Controller|Switch Pro Controller]] | ||
+ | |||
+ | ===Nvidia=== | ||
+ | * [[Controller:Nvidia SHIELD Controller|SHIELD Controller (2015)]] | ||
+ | * [[Controller:Nvidia SHIELD Controller (2017)|SHIELD Controller (2017)]] | ||
+ | |||
+ | ===Razer=== | ||
+ | * [[Controller:Razer Hydra|Razer Hydra]] | ||
+ | * [[Controller:Razer Serval|Razer Serval]] | ||
+ | * [[Controller:Razer Raiju|Razer Raiju]] | ||
+ | * [[Controller:Razer Wolverine|Razer Wolverine]] | ||
===Sony=== | ===Sony=== | ||
Line 130: | Line 161: | ||
* [[Controller:PlayStation Move|PlayStation Move]] | * [[Controller:PlayStation Move|PlayStation Move]] | ||
* [[Controller:DualShock 4|DualShock 4]] | * [[Controller:DualShock 4|DualShock 4]] | ||
+ | * [[Controller:PlayStation Classic Controller|PlayStation Classic Controller]] | ||
+ | |||
+ | ===SteelSeries=== | ||
+ | * [[Controller:SteelSeries Stratus XL|SteelSeries Stratus XL]] | ||
+ | |||
+ | ===Valve=== | ||
+ | * [[Controller:Steam Controller|Steam Controller]] | ||
+ | * [[Controller:Steam Link Touch Controller|Steam Link Touch Controller]] | ||
+ | |||
+ | ===Vive=== | ||
+ | * [[Controller:Vive Controller|Vive Controller]] | ||
+ | * [[Controller:Vive Tracker|Vive Tracker]] | ||
+ | |||
+ | ===Google=== | ||
+ | * [[Stadia Controller]] | ||
===Miscellaneous=== | ===Miscellaneous=== | ||
− | * [[Controller: | + | * [[Controller:Tobii Eye Tracking|Tobii Eye Tracking]] |
− | * [[ | + | * [[Controller:Leap Motion Controller|Leap Motion]] |
− | + | * [[Controller:OUYA|OUYA Controller]] | |
− | * [[Controller: | ||
==Other information== | ==Other information== | ||
Line 150: | Line 195: | ||
<!-- 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| | + | {{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= |
− | {{ | + | # Open the Start menu, type <code>joy.cpl</code>, then press {{key|Enter}}. |
− | # | ||
# Click on the '''Advanced''' button. | # Click on the '''Advanced''' button. | ||
# Select the '''Preferred device''' from the drop down menu located on the center. | # Select the '''Preferred device''' from the drop down menu located on the center. | ||
}} | }} | ||
− | {{References}}[[Category:Controller]] | + | {{References}} |
+ | |||
+ | [[Category:Controller]] |
Revision as of 07:16, 29 October 2019
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
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.
Steam Input (Windows, Mac and Linux)
- Works with non-Steam games if they're added and launched through Steam.
- Lets users share and customize game-specific controller profiles.
- Adds or extends the functionality of input devices in various ways (e.g. keyboard/mouse input mapped to a controller, XInput support for DirectInput-only devices, etc).
- Overrules games own possible controller specific configurations e.g. automatic button prompt change.
- UI for changing bindings is very much made with controllers in mind.
- Requires Steam and the Steam Overlay to function.
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.
Steam Input
- Very easy to set up if you have Steam installed.
- With controllers like DualShock 4 and Switch Pro Controller allows haptic feedback passtrough as well.
Durazno
- Allows XInput controllers to be customized.
XInput Plus
- The Xbox Controller Driver and the buggy 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] |
---|
|
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, or refer to the controller-specific article for more information.
Issues fixed
Slow or random movement
- This may be caused by worn out sticks or by low in-game deadzones.
Calibrating[citation needed] |
---|
|
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] |
---|
|
Rebind Controller Buttons |
---|
|
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.
Configure controller through Steam Big Picture modes settings[citation needed] |
---|
|
Use SDL2 Gamepad Tool[citation needed] |
---|
|
List of controllers
Hori
Logitech
- Logitech Dual Action
- Logitech Rumblepad 2
- Logitech Gamepad F310
- Logitech Rumble Gamepad F510
- Logitech Wireless Gamepad F710
- Logitech Extreme 3D Pro
Microsoft
Xbox
- Xbox Controller
- Xbox 360 Controller
- Kinect
- Xbox One Controller
- Xbox Elite Wireless Controller
- Xbox Adaptive Controller
- Xbox Elite Wireless Controller 2
PC
Nacon
Nintendo
- GameCube Controller
- Wii Remote
- Classic Controller
- Wii U GamePad
- Wii U Pro Controller
- Switch Joy-Con
- Switch Pro Controller
Nvidia
Razer
Sony
- DualShock
- DualShock 2
- Sixaxis
- DualShock 3
- PlayStation Move
- DualShock 4
- PlayStation Classic Controller
SteelSeries
Valve
Vive
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] |
---|
|
References
- ↑ Issue 48 - x360ce - Hooking does not work with Unity Engine - x360ce/x360ce - GitHub
- ↑ Verified by User:Blackbird on 2016-10-06
- Far as I can tell this is for DInput games only.