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 "Controller:Nintendo Switch Pro Controller"

From PCGamingWiki, the wiki about fixing PC games
m (→‎reWASD: typo)
(Removed Stub template)
 
(49 intermediate revisions by 19 users not shown)
Line 1: Line 1:
{{stub}}
 
 
{{Infobox controller
 
{{Infobox controller
 
|title        = Switch Pro Controller
 
|title        = Switch Pro Controller
 
|cover        = Switch Pro Controller.jpg
 
|cover        = Switch Pro Controller.jpg
 
|xinput      = hackable
 
|xinput      = hackable
 +
|connection method = Bluetooth, USB-C
 
|predecessor  = [[Controller:Wii U Pro Controller|Wii U Pro Controller]]<br/>[[Controller:Wii U GamePad|Wii U GamePad]]
 
|predecessor  = [[Controller:Wii U Pro Controller|Wii U Pro Controller]]<br/>[[Controller:Wii U GamePad|Wii U GamePad]]
 
|successor    =  
 
|successor    =  
 
|wikipedia    = Nintendo Switch#Other controllers and accessories
 
|wikipedia    = Nintendo Switch#Other controllers and accessories
 
}}
 
}}
 +
{{Introduction
 +
|introduction      = The '''Nintendo Switch Pro Controller''' is a game controller released by Nintendo on March 3, 2017. It was released alongside the Nintendo Swtich and the [[Controller:Joy-Con|Joy-Con]].
  
'''Key points'''
+
Unlike the Joy-Con which is a pair of stick-like controllers, the Switch Pro Controller features the more traditional game controller form-factor. It has HD rumble motors, NFC reader, accelometer and gyroscope. 
{{ii}} Must be connected via Bluetooth 3.0.
+
|current state    = The Switch Pro Controller is a DirectInput controller, so it is not supported on games that use the XInput API unless XInput wrappers like [[Steam Input]] are used. Some wrappers can expose additional features including gyroscope. For wireless connection using Bluetooth, it requires the host device to supporting Bluetooth 3.0 or later. Currently, only standard rumble is supported and NFC reader support is still in the work.
{{++}} Supports connectivity via USB via [[Steam Input]].
+
}}
{{++}} Motion Input also available via [[Steam Input]].
+
 
{{--}} No analogue triggers.
+
'''Inputs'''
{{--}} Yuzu and Ryujinx emulators have no native support for controller yet.
+
* Motion sensing: Accelerometer, Gyroscope
 +
* 2 × clickable analog sticks: {{Key|LS}}, {{Key|RS}}
 +
* 2 × digital shoulder buttons: {{Key|𝐋}}, {{Key|𝐑}}
 +
* 2 × digital triggers: {{Key|ZL}}, {{Key|ZR}}
 +
* 8 × digital buttons: {{Key|𝐀}}, {{Key|𝐁}}, {{Key|𝐗}}, {{Key|𝐘}}, {{Key|-}}, {{Key|+}}, {{Key|⧇ ᴄᴀᴘᴛᴜʀᴇ}}, {{Key|⌂ ʜᴏᴍᴇ}}
 +
* 4 × digital directional buttons (d-pad): {{Key|↑}}, {{Key|↓}}, {{Key|←}}, {{Key|→}}
 +
* Sync button: {{Key|sʏɴᴄ}}
 +
* NFC reader
  
 
==Availability==
 
==Availability==
{{ii}} [http://amzn.com/B01NAWKYZ0?tag=pcgamingwiki-20 Official Switch Pro Controller - Black] - Amazon
+
{{ii}} [http://amzn.com/dp/B01NAWKYZ0?tag=pcgamingwiki-20 Official Switch Pro Controller - Black] - Amazon
  
 
==Use with PC platforms==
 
==Use with PC platforms==
{{ii}} Connecting USB-C cable will make the controller show up, but it will be unuseable this way. Controller has to be connected via Bluetooth 3.0 unless you use [[Steam Input]].
+
===Connection===
 +
====Bluetooth====
 +
{{ii}} Connecting USB-C cable will make the controller show up, but it will be unusable this way. Controller has to be connected via Bluetooth 3.0 unless [[Steam Input]] or [[#reWASD|reWASD]] is used.
 
{{Fixbox|description=Connecting the controller|ref=<ref>{{Refcheck|user=Marioysikax|date=2017-12-12}}</ref>|fix=
 
{{Fixbox|description=Connecting the controller|ref=<ref>{{Refcheck|user=Marioysikax|date=2017-12-12}}</ref>|fix=
 
# Make sure the controller is turned off, then hold the sync button next to charging port until lights start blinking from side to side.
 
# Make sure the controller is turned off, then hold the sync button next to charging port until lights start blinking from side to side.
# From PC, pair the new bluetooth device and select `Pro Controller` from the list.
+
# From PC, pair the new Bluetooth device and select `Pro Controller` from the list.
 
'''Notes'''
 
'''Notes'''
 
{{ii}} Controller will keep flashing the led indicators from side to side even when fully connected and working when used with PC or any other device than Nintendo Switch.
 
{{ii}} Controller will keep flashing the led indicators from side to side even when fully connected and working when used with PC or any other device than Nintendo Switch.
 
{{ii}} To disconnect and shut down the controller, simply press the sync button once.
 
{{ii}} To disconnect and shut down the controller, simply press the sync button once.
 
{{ii}} To connect the controller again, press any regular button on the controller.
 
{{ii}} To connect the controller again, press any regular button on the controller.
 +
{{--}} On Windows OS, if using Bluetooth 5.0 adapter, controller will not wake/reconnect properly from sleep state. User needs to unpair-pair device once again. <ref>{{Refurl|url=https://steamcommunity.com/app/353370/discussions/2/1815422173049294380?ctp=4#c3874842132570381977|title=Switch Pro Controller won't reconnect through bluetooth|date=October 2023}}</ref> (''But there are user reports that the problem is solved in Bluetooth protocol version 5.2+'')
 +
{{--}} With Bluetooth 4.0 adapter, reconnecting works, but there are reports that input lag is increased.   
 
}}
 
}}
  
 
===Windows===
 
===Windows===
{{++}} [https://github.com/Davidobot/BetterJoy BetterJoy] allows the Nintendo Switch Pro Controller to be used with CEMU, Citra, Dolphin, Yuzu and as generic XInput.
+
{{++}} [https://github.com/Davidobot/BetterJoy BetterJoy] allows the Nintendo Switch Pro Controller to be used with CEMU, Citra, Dolphin, Yuzu and as generic XInput. It also allows using the gyro to control mouse and remap the special buttons ({{Key|SL}}, {{Key|SR}}, {{Key|Capture}}) to key bindings of user's choice.
 +
{{++}} Custom application [https://www.rewasd.com/ reWASD] lets remap whole controller. Software gives advanced customization options eg. reassigning buttons to keyboard or mouse actions, macros, activate custom modes etc.
 +
 
 +
{| class="wikitable sortable"
 +
! style="height: 38.6px" | Supported features !! reWASD !! DS4Windows !! JoyShockMapper !! Steam !! DSAdvance !! WiinUPro !! Gamepad Phoenix
 +
|-
 +
| Virtual Xbox controller emulation ||style="text-align: center; background: #D2FFD2"| ✓ <ref group=N>Allows using controller as [[Xbox 360 Controller|Xbox 360]] and [[Xbox One Controller|Xbox One]] virtual controllers.</ref> ||style="text-align: center; background: #D2FFD2"| ✓ ||style="text-align: center; background: #D2FFD2"| ✓ ||style="text-align: center; background: #D2FFD2"| ✓ ||style="text-align: center; background: #D2FFD2"| ✓ ||style="text-align: center; background: #D2FFD2"| ✓ ||style="text-align: center; background: #D2FFD2"| ✓
 +
|-
 +
| Virtual Nintendo controller emulation ||style="text-align: center; background: #D2FFD2"| ✓ <ref group=N>Allows using controller as virtual [[Switch Pro Controller]].</ref> ||style="text-align: center; background: #FFD2D2"| ✗ ||style="text-align: center; background: #FFD2D2"| ✗ ||style="text-align: center; background: #FFD2D2"| ✗ ||style="text-align: center; background: #FFD2D2"| ✗ ||style="text-align: center; background: #FFD2D2"| ✗ ||style="text-align: center; background: #FFD2D2"| ✗
 +
|-
 +
| HD Haptic Feedback ||style="text-align: center; background: #FFEFD5"| ~ <ref group=N name="rumble">Only basic vibrations.</ref> ||style="text-align: center; background: #FFEFD5"| ~ <ref group=N name="rumble"/> ||style="text-align: center; background: #FFEFD5"| ~ <ref group=N name="rumble"/> ||style="text-align: center; background: #FFEFD5"| ~ <ref group=N name="rumble"/> ||style="text-align: center; background: #FFEFD5"| ~ <ref group=N name="rumble"/> ||style="text-align: center; background: #FFEFD5"| ~ <ref group=N name="rumble"/> ||style="text-align: center; background: #FFD2D2"| ✗
 +
|-
 +
| Motion Control ||style="text-align: center; background: #D2FFD2"| ✓ ||style="text-align: center; background: #D2FFD2"| ✓ ||style="text-align: center; background: #D2FFD2"| ✓ ||style="text-align: center; background: #D2FFD2"| ✓ ||style="text-align: center; background: #D2FFD2"| ✓ ||style="text-align: center; background: #D2FFD2"| ✓ ||style="text-align: center; background: #FFD2D2"| ✗
 +
|-
 +
| LEDs ||style="text-align: center; background: #D2FFD2"| ✓ ||style="text-align: center; background: #FFD2D2"| ✗ ||style="text-align: center; background: #FFD2D2"| ✗ ||style="text-align: center; background: #FFD2D2"| ✗ ||style="text-align: center; background: #FFD2D2"| ✗ ||style="text-align: center; background: #FFD2D2"| ✗ ||style="text-align: center; background: #FFD2D2"| ✗
 +
|-
 +
| NFC ||style="text-align: center; background: #D2FFD2"| ✓ ||style="text-align: center; background: #FFD2D2"| ✗ ||style="text-align: center; background: #FFD2D2"| ✗ ||style="text-align: center; background: #FFD2D2"| ✗ ||style="text-align: center; background: #FFD2D2"| ✗ ||style="text-align: center; background: #FFD2D2"| ✗ ||style="text-align: center; background: #FFD2D2"| ✗
 +
|-
 +
| Dead-zone adjustment ||style="text-align: center; background: #D2FFD2"| ✓ ||style="text-align: center; background: #D2FFD2"| ✓ ||style="text-align: center; background: #D2FFD2"| ✓ ||style="text-align: center; background: #D2FFD2"| ✓ ||style="text-align: center; background: #D2FFD2"| ✓ <ref group=N>Possible to change the dead zones of the sticks or other parameters only in the configuration file <code>Config.ini</code>.</ref> ||style="text-align: center; background: #D2FFD2"| ✓ ||style="text-align: center; background: #D2FFD2"| ✓
 +
|-
 +
| Multiple controllers ||style="text-align: center; background: #D2FFD2"| ✓ ||style="text-align: center; background: #D2FFD2"| ✓ ||style="text-align: center; background: #D2FFD2"| ✓ ||style="text-align: center; background: #D2FFD2"| ✓ ||style="text-align: center; background: #FFD2D2"| ✗ ||style="text-align: center; background: #FFD2D2"| ✗ ||style="text-align: center; background: #D2FFD2"| ✓
 +
|-
 +
| Virtual DualShock emulation ||style="text-align: center; background: #D2FFD2"| ✓ <ref group=N>Allows using controller as [[DualShock 3]] and [[DualShock 4]] virtual controllers.</ref> ||style="text-align: center; background: #D2FFD2"| ✓ ||style="text-align: center; background: #D2FFD2"| ✓ ||style="text-align: center; background: #FFD2D2"| ✗ ||style="text-align: center; background: #FFD2D2"| ✗ ||style="text-align: center; background: #FFD2D2"| ✗ ||style="text-align: center; background: #FFD2D2"| ✗
 +
|-
 +
| Keyboard & Mouse input emulation ||style="text-align: center; background: #D2FFD2"| ✓ ||style="text-align: center; background: #D2FFD2"| ✓ ||style="text-align: center; background: #D2FFD2"| ✓ ||style="text-align: center; background: #D2FFD2"| ✓ ||style="text-align: center; background: #D2FFD2"| ✓ ||style="text-align: center; background: #D2FFD2"| ✓ ||style="text-align: center; background: #FFD2D2"| ✗
 +
|-
 +
| Retro DInput/WinMM compatibility ||style="text-align: center; background: #FFD2D2"| ✗ ||style="text-align: center; background: #FFD2D2"| ✗ ||style="text-align: center; background: #FFD2D2"| ✗ ||style="text-align: center; background: #FFD2D2"| ✗ ||style="text-align: center; background: #FFD2D2"| ✗ ||style="text-align: center; background: #FFD2D2"| ✗ ||style="text-align: center; background: #D2FFD2"| ✓
 +
|-
 +
| Flick Stick ||style="text-align: center; background: #D2FFD2"| ✓ ||style="text-align: center; background: #D2FFD2"| ✓ ||style="text-align: center; background: #D2FFD2"| ✓ ||style="text-align: center; background: #D2FFD2"| ✓ ||style="text-align: center; background: #FFD2D2"| ✗ ||style="text-align: center; background: #FFD2D2"| ✗ ||style="text-align: center; background: #FFD2D2"| ✗
 +
|-
 +
| Cemuhook's UDP protocol ||style="text-align: center; background: #D2FFD2"| ✓ ||style="text-align: center; background: #D2FFD2"| ✓ ||style="text-align: center; background: #FFD2D2"| ✗ ||style="text-align: center; background: #FFD2D2"| ✗ ||style="text-align: center; background: #FFD2D2"| ✗ ||style="text-align: center; background: #FFD2D2"| ✗ ||style="text-align: center; background: #FFD2D2"| ✗
 +
|-
 +
|}
 +
<references group=N />
  
 
====[[Glossary:Controller#Windows|XInput wrapping]]====
 
====[[Glossary:Controller#Windows|XInput wrapping]]====
{{ii}} Acting as native DirectInput controller, it's possible to use any of the generic wrappers. See [[Glossary:Controller#Windows|the controller article]] for those.
+
{{ii}} Being a DirectInput controller, it's possible to use any of the generic wrappers. See [[Glossary:Controller#Windows|the controller article]] for those.
 +
 
 +
====[https://github.com/KeyPuncher/WiinUPro WiinUPro]====
 +
{{++}} Allows for seemless Windows intergration of most Nintendo controllers via Bluetooth.
 +
{{++}} DInput or XInput output compatibility.
 +
{{++}} Xinput force feedback supported.
 +
{{++}} Supports full custom button remapping, including keyboard shortcuts.
 +
{{--}} Gyro not supported as of time of edit.
  
====[https://www.rewasd.com/ reWASD]====
+
====[https://www.rewasd.com/nintendo-switch-pro-controller-on-pc reWASD]====
{{++}} Supports Switch Pro Controller via bluetooth adapter or cable, does not require manual driver installment.
 
 
{{++}} LED shows which config slot is active at the moment.
 
{{++}} LED shows which config slot is active at the moment.
 
{{++}} Supports motion control via gyro.
 
{{++}} Supports motion control via gyro.
 
{{++}} Has enhanced sticks calibration.
 
{{++}} Has enhanced sticks calibration.
{{++}} Allows emulate virtual [[Controller:DualShock 4|DS4 controller]] to play PS4 Remote Play, PS Now or Dualshock 4 compatible games. Including gyro and accelerometer control.
+
{{++}} Can emulate the [[Controller:DualShock 4|DualShock 4]] to play PS4 Remote Play, PS Now or Dualshock 4 compatible games. Including gyro and accelerometer control.
{{++}} Allows emulate virtual [[Controller:Xbox 360 Controller|Xbox 360 controller]] to play XInput compatible games.
+
{{++}} Can emulate the [[Controller:Xbox 360 Controller|Xbox 360 controller]] to play XInput-compatible games.
 +
{{--}} Not free of charge. 7-days trial.
 
{{ii}} Custom configs for Switch Pro controller can be found in official [https://www.rewasd.com/community/configs/gamepad/nintendo/ Community Configs Library] maintained by reWASD users.
 
{{ii}} Custom configs for Switch Pro controller can be found in official [https://www.rewasd.com/community/configs/gamepad/nintendo/ Community Configs Library] maintained by reWASD users.
 +
 +
====[https://ryochan7.github.io/ds4windows-site/ DS4Windows]====
 +
{{ii}} Because {{Key|ZR}} and {{Key|ZL}} are digital it may be difficult to play games that make use of analog triggers.
 +
{{ii}} Bluetooth 2.1 + EDR or higher required for wireless connection.
 +
{{++}} Motion sensors are supported.
 +
{{--}} LEDs cannot be controlled.
 +
 +
====[https://github.com/r57zone/DSAdvance DSAdvance]====
 +
{{++}} Xbox controller emulation support.
 +
{{++}} A gyroscope and various modes of its operation are supported - mouse emulation and driving.
 +
{{++}} Easy to use, minimum settings
 +
{{--}} Support the Pro controller in wired mode.
 +
{{--}} Support for only one controller.
 +
 +
====[https://github.com/Electronicks/JoyShockMapper/ JoyShockMapper]====
 +
{{ii}} No GUI.
 +
{{++}} DS4 and Xinput emulation.
 +
{{++}} Full button mapping.
 +
{{++}} Gyro support.
 +
{{++}} Flick stick.
 +
 +
===Linux===
 +
{{++}} Native support since kernel 5.16
  
 
==Steam==
 
==Steam==
 
{{ii}} Controller can be found in [https://support.steampowered.com/kb_article.php?ref=5199-TOKV-4426 Supported Controller Database] and it's correctly recognizable as the Nintendo Switch Pro Controller.
 
{{ii}} Controller can be found in [https://support.steampowered.com/kb_article.php?ref=5199-TOKV-4426 Supported Controller Database] and it's correctly recognizable as the Nintendo Switch Pro Controller.
 
{{++}} Full support of [[Store:Steam#Steam Input|Steam Input]] including gyroscope and motion controls.
 
{{++}} Full support of [[Store:Steam#Steam Input|Steam Input]] including gyroscope and motion controls.
{{++}} You can toggle "Use Nintendo Button Layout" option depending on whether you prefer the {{Key|𝗔}}{{Key|𝗕}}{{Key|𝗫}}{{Key|𝗬}} buttons to be mapped as they are on the Pro Controller or to be mapped like it's an [[Controller:Xbox 360 Controller|Xbox 360 controller]] or [[Controller:Xbox Wireless Controller|Xbox Wireless Controller]].
+
{{++}} User can toggle "Use Nintendo Button Layout" option depending on whether they prefer the {{Key|𝗔}}{{Key|𝗕}}{{Key|𝗫}}{{Key|𝗬}} buttons to be mapped as they are on the Pro Controller or to be mapped like it's an [[Controller:Xbox 360 Controller|Xbox 360 controller]] or [[Controller:Xbox Wireless Controller|Xbox Wireless Controller]].
  
 
===Steam Link compatibility===
 
===Steam Link compatibility===
{{++}} Works via USB and Bluetooth. Includes gyroscope and motion controls.<ref>[https://steam.fandom.com/wiki/List_of_compatible_controllers_with_Steam_Link List of compatible controllers with Steam Link - SteamWiki]</ref>
+
{{++}} Works via USB and Bluetooth. Includes gyroscope and motion controls.<ref>{{Refurl|url=https://steam.fandom.com/wiki/List_of_compatible_controllers_with_Steam_Link|title=List of compatible controllers with Steam Link - SteamWiki|date=June 2023}}</ref>
 
{{++}} Works without any drivers on any operating system that supports Steam.
 
{{++}} Works without any drivers on any operating system that supports Steam.
 
{{++}} Can be used just to send input from a controller to a PC. Go into Streaming options, hit {{Key|𝗬}} and disable video and audio streaming.
 
{{++}} Can be used just to send input from a controller to a PC. Go into Streaming options, hit {{Key|𝗬}} and disable video and audio streaming.
{{ii}} Won't work great unless you connect it to LAN or a low latency Wi-Fi.
+
{{ii}} Won't work great unless the streaming device is connected to LAN or a low latency Wi-Fi.
 
 
==Support In Games==
 
===Games with Nintendo button prompts===
 
{{ii}} This is a list for games that offer Nintendo button prompts.
 
{{#ask: [[Category:Games]] [[Buttons prompts::Nintendo]]
 
| ?Developed by  = Developer
 
| ?Published by  = Publisher
 
| ?Uses engine  = Engine
 
| ?Release date  = First release |+limit=1
 
| ?Available on  = Systems
 
| Sort          = Release date
 
| Order          = descending
 
| limit          = 10
 
| introtemplate  = Infobox company/intro/company
 
| outrotemplate  = Infobox company/outro
 
| template      = Infobox company/row/company
 
| format        = template
 
| default        =
 
}}
 
  
 
==Hardware==
 
==Hardware==
Line 83: Line 140:
 
===[https://www.consoletuner.com/products/titan-two/ ConsoleTuner Titan Two Adapter]===
 
===[https://www.consoletuner.com/products/titan-two/ ConsoleTuner Titan Two Adapter]===
 
{{ii}} Titan Two is an all-in-one gaming device that combines features of dozens of products in a single form factor. Supports PlayStation 4, Xbox One, Nintendo Switch, PlayStation 3, PlayStation TV, Xbox 360, Computers and more...
 
{{ii}} Titan Two is an all-in-one gaming device that combines features of dozens of products in a single form factor. Supports PlayStation 4, Xbox One, Nintendo Switch, PlayStation 3, PlayStation TV, Xbox 360, Computers and more...
{{++}} Customize the controller layout accordingly your needs for any game.
+
{{++}} Customize the controller layout according to user's needs for any game.
 +
 
 +
==Support in games==
 +
{{++}} Supported natively by a growing list of games, allowing the use of the controller and some/all of it supplementary features without any additional software installed.
 +
{{ii}} Support for some controller features may be only available on certain systems. Refer to game-specific articles for details.
 +
 
 +
===Games with motion control support===
 +
{{feature|tracked motion controllers in non-VR gameplay}}
 +
{{++}} Thanks to [[Controller#JoyShockMapper_(Windows)|JoyShockMapper]], [[Steam Input]], [[Controller#reWASD_(Windows)|reWASD]] application, gyro control can be remapped to mouse or right stick in any game.
 +
{{--}} Number of games which natively support motion controls is limited and gyro support is still not a PC standard.
 +
 
 +
===Games with NFC support===
 +
{{ii}} [https://github.com/CTCaer/jc_toolkit Joy-Con Toolkit] demonstrates how the NFC reader can be used on PC. NFC objects can be used to execute combos like activating cheats, changing game configuration or performing advanced combos like fatalities in [[Series:Mortal Kombat|Mortal Kombat]] games.
 +
{{ii}} Pro Controller contains a near-field communication reader mostly used with Amiibo.
 +
{{--}} NFC reader support for PC games is still in development stage. [https://github.com/dekuNukem/Nintendo_Switch_Reverse_Engineering/issues/49 See more].
 +
{{mm}} See {{W|List of video games using NFC}}.
 +
 
 +
===Games with HD haptic feedback support===
 +
{{feature|HD haptic feedback}}
 +
{{ii}} HD Rumble is an extra level of immersion by letting feel a wide variety of sensations through [[Controller:Joy-Con|Joy-Cons]] and [[Controller:Switch Pro Controller|Switch Pro Controller]] vibrations. [[Controller:DualSense|DualSense's]] haptic feedback was designed by same company as Switch's HD Rumble technology - {{W|Immersion Corporation}}.
 +
{{++}} [https://github.com/CTCaer/jc_toolkit Joy-Con Toolkit] has HD Rumble Player feature to play different vibrations patterns.
 +
{{++}} [[Emulation:Switch|Switch]] emulator [[Yuzu]] supports HR Rumble.<ref>{{Refurl|url=https://github.com/yuzu-emu/yuzu/issues/3894|title=Yuzu: Rumble Support #3894|date=9 June 2023}}</ref>
 +
{{--}} There is no software that can translate [[Controller:DualSense|DualSense's]] haptic feedback vibrations into HD Rumble yet.
 +
{{--}} PC games do not support natively HD Rumble feature yet.
 +
 
 +
===Games with Nintendo button prompts===
 +
{{mm}} [[List of games with Nintendo button prompts]]
 +
 
 +
==Technical information==
 +
{{ii}} Device name: '''Pro Controller''', HWID: '''057E:2009'''
 +
{{Standard table|Controller button|Button label and axis|content=
 +
{{Standard table/row|A|Button 2}}
 +
{{Standard table/row|B|Button 1}}
 +
{{Standard table/row|X|Button 4}}
 +
{{Standard table/row|Y|Button 3}}
 +
{{Standard table/row|L|Button 5}}
 +
{{Standard table/row|R|Button 6}}
 +
{{Standard table/row|ZL|Button 7}}
 +
{{Standard table/row|ZR|Button 8}}
 +
{{Standard table/row|-|Button 9}}
 +
{{Standard table/row|+|Button 10}}
 +
{{Standard table/row|Left stick (LS)|Button 11, X-axis, Y-axis}}
 +
{{Standard table/row|Right stick (RS)|Button 12, X-rotation, Y-rotation}}
 +
{{Standard table/row|Home|Button 13}}
 +
{{Standard table/row|Capture|Button 14}}
 +
{{Standard table/row|D-pad up|POV up}}
 +
{{Standard table/row|D-pad down|POV down}}
 +
{{Standard table/row|D-pad left|POV left}}
 +
{{Standard table/row|D-pad right|POV right}}
 +
}}
 +
 
 +
=== Input lag ===
 +
{{--}} Wired connection input lag: '''19.6 ms''' for button press and '''5.9 ms''' for joystick move.<ref name="rocketscience">[https://inputlag.rocketscience.fyi/ Ultimate Controller Comparison | Input lag, etc. (PS5, PS4, Xbox SX/Elite 2/One, eSwap Pro)]</ref>
 +
{{ii}} Wireless connection input lag: '''11.5 ms''' for button press and '''4.5 ms''' for joystick move.<ref name="rocketscience" />
 +
{{Standard table|Connection|Input lag|content=
 +
{{Standard table/row|USB (button press)|19.6 ms (± 5.8 ms)}}
 +
{{Standard table/row|USB (joystick move)|19.2 ms (± 5.9 ms)}}
 +
{{Standard table/row|Bluetooth (button press)|11.5 ms (± 4.5 ms)}}
 +
{{Standard table/row|Bluetooth (joystick move)|11.9 ms (± 4.3 ms)}}
 +
}}
  
 
{{References}}
 
{{References}}
 +
 +
[[Category:Controllers with accelerometer]]
 +
[[Category:Controllers with gyroscope]]
 +
[[Category:Controllers with Bluetooth connection]]
 +
[[Category:Controllers with NFC reader]]
 +
[[Category:Controllers with haptic feedback]]

Latest revision as of 10:06, 13 February 2024

Switch Pro Controller
Switch Pro Controller cover
XInput support
Connection method
Bluetooth, USB-C
Predecessor
Wii U Pro Controller
Wii U GamePad
Nintendo Switch Pro Controller on Wikipedia

The Nintendo Switch Pro Controller is a game controller released by Nintendo on March 3, 2017. It was released alongside the Nintendo Swtich and the Joy-Con.

Unlike the Joy-Con which is a pair of stick-like controllers, the Switch Pro Controller features the more traditional game controller form-factor. It has HD rumble motors, NFC reader, accelometer and gyroscope.

The Switch Pro Controller is a DirectInput controller, so it is not supported on games that use the XInput API unless XInput wrappers like Steam Input are used. Some wrappers can expose additional features including gyroscope. For wireless connection using Bluetooth, it requires the host device to supporting Bluetooth 3.0 or later. Currently, only standard rumble is supported and NFC reader support is still in the work.

Inputs

  • Motion sensing: Accelerometer, Gyroscope
  • 2 × clickable analog sticks: LS, RS
  • 2 × digital shoulder buttons: 𝐋, 𝐑
  • 2 × digital triggers: ZL, ZR
  • 8 × digital buttons: 𝐀, 𝐁, 𝐗, 𝐘, -, +, ⧇ ᴄᴀᴘᴛᴜʀᴇ, ⌂ ʜᴏᴍᴇ
  • 4 × digital directional buttons (d-pad): , , ,
  • Sync button: sʏɴᴄ
  • NFC reader

Availability

Official Switch Pro Controller - Black - Amazon

Use with PC platforms

Connection

Bluetooth

Connecting USB-C cable will make the controller show up, but it will be unusable this way. Controller has to be connected via Bluetooth 3.0 unless Steam Input or reWASD is used.
Connecting the controller[1]
  1. Make sure the controller is turned off, then hold the sync button next to charging port until lights start blinking from side to side.
  2. From PC, pair the new Bluetooth device and select `Pro Controller` from the list.

Notes

Controller will keep flashing the led indicators from side to side even when fully connected and working when used with PC or any other device than Nintendo Switch.
To disconnect and shut down the controller, simply press the sync button once.
To connect the controller again, press any regular button on the controller.
On Windows OS, if using Bluetooth 5.0 adapter, controller will not wake/reconnect properly from sleep state. User needs to unpair-pair device once again. [2] (But there are user reports that the problem is solved in Bluetooth protocol version 5.2+)
With Bluetooth 4.0 adapter, reconnecting works, but there are reports that input lag is increased.

Windows

BetterJoy allows the Nintendo Switch Pro Controller to be used with CEMU, Citra, Dolphin, Yuzu and as generic XInput. It also allows using the gyro to control mouse and remap the special buttons (SL, SR, Capture) to key bindings of user's choice.
Custom application reWASD lets remap whole controller. Software gives advanced customization options eg. reassigning buttons to keyboard or mouse actions, macros, activate custom modes etc.
Supported features reWASD DS4Windows JoyShockMapper Steam DSAdvance WiinUPro Gamepad Phoenix
Virtual Xbox controller emulation [N 1]
Virtual Nintendo controller emulation [N 2]
HD Haptic Feedback ~ [N 3] ~ [N 3] ~ [N 3] ~ [N 3] ~ [N 3] ~ [N 3]
Motion Control
LEDs
NFC
Dead-zone adjustment [N 4]
Multiple controllers
Virtual DualShock emulation [N 5]
Keyboard & Mouse input emulation
Retro DInput/WinMM compatibility
Flick Stick
Cemuhook's UDP protocol
  1. Allows using controller as Xbox 360 and Xbox One virtual controllers.
  2. Allows using controller as virtual Switch Pro Controller.
  3. 3.0 3.1 3.2 3.3 3.4 3.5 Only basic vibrations.
  4. Possible to change the dead zones of the sticks or other parameters only in the configuration file Config.ini.
  5. Allows using controller as DualShock 3 and DualShock 4 virtual controllers.

XInput wrapping

Being a DirectInput controller, it's possible to use any of the generic wrappers. See the controller article for those.

WiinUPro

Allows for seemless Windows intergration of most Nintendo controllers via Bluetooth.
DInput or XInput output compatibility.
Xinput force feedback supported.
Supports full custom button remapping, including keyboard shortcuts.
Gyro not supported as of time of edit.

reWASD

LED shows which config slot is active at the moment.
Supports motion control via gyro.
Has enhanced sticks calibration.
Can emulate the DualShock 4 to play PS4 Remote Play, PS Now or Dualshock 4 compatible games. Including gyro and accelerometer control.
Can emulate the Xbox 360 controller to play XInput-compatible games.
Not free of charge. 7-days trial.
Custom configs for Switch Pro controller can be found in official Community Configs Library maintained by reWASD users.

DS4Windows

Because ZR and ZL are digital it may be difficult to play games that make use of analog triggers.
Bluetooth 2.1 + EDR or higher required for wireless connection.
Motion sensors are supported.
LEDs cannot be controlled.

DSAdvance

Xbox controller emulation support.
A gyroscope and various modes of its operation are supported - mouse emulation and driving.
Easy to use, minimum settings
Support the Pro controller in wired mode.
Support for only one controller.

JoyShockMapper

No GUI.
DS4 and Xinput emulation.
Full button mapping.
Gyro support.
Flick stick.

Linux

Native support since kernel 5.16

Steam

Controller can be found in Supported Controller Database and it's correctly recognizable as the Nintendo Switch Pro Controller.
Full support of Steam Input including gyroscope and motion controls.
User can toggle "Use Nintendo Button Layout" option depending on whether they prefer the 𝗔𝗕𝗫𝗬 buttons to be mapped as they are on the Pro Controller or to be mapped like it's an Xbox 360 controller or Xbox Wireless Controller.

Steam Link compatibility

Works via USB and Bluetooth. Includes gyroscope and motion controls.[3]
Works without any drivers on any operating system that supports Steam.
Can be used just to send input from a controller to a PC. Go into Streaming options, hit 𝗬 and disable video and audio streaming.
Won't work great unless the streaming device is connected to LAN or a low latency Wi-Fi.

Hardware

Cronus Zen Adapter

Cronus Zen allows the use of licensed gaming controller on all major gaming platforms, including all versions of PlayStation 4, Xbox One, Nintendo Switch, PlayStation 3, and Xbox 360, Windows PC, Android, Raspberry Pi.
Supports mods, scripts and macros.
Integrated Bluetooth.

ConsoleTuner Titan Two Adapter

Titan Two is an all-in-one gaming device that combines features of dozens of products in a single form factor. Supports PlayStation 4, Xbox One, Nintendo Switch, PlayStation 3, PlayStation TV, Xbox 360, Computers and more...
Customize the controller layout according to user's needs for any game.

Support in games

Supported natively by a growing list of games, allowing the use of the controller and some/all of it supplementary features without any additional software installed.
Support for some controller features may be only available on certain systems. Refer to game-specific articles for details.

Games with motion control support

For a list of games, see List of games that support tracked motion controllers in non-VR gameplay.

Thanks to JoyShockMapper, Steam Input, reWASD application, gyro control can be remapped to mouse or right stick in any game.
Number of games which natively support motion controls is limited and gyro support is still not a PC standard.

Games with NFC support

Joy-Con Toolkit demonstrates how the NFC reader can be used on PC. NFC objects can be used to execute combos like activating cheats, changing game configuration or performing advanced combos like fatalities in Mortal Kombat games.
Pro Controller contains a near-field communication reader mostly used with Amiibo.
NFC reader support for PC games is still in development stage. See more.
See List of video games using NFC.

Games with HD haptic feedback support

For a list of games, see List of games that support HD haptic feedback.

HD Rumble is an extra level of immersion by letting feel a wide variety of sensations through Joy-Cons and Switch Pro Controller vibrations. DualSense's haptic feedback was designed by same company as Switch's HD Rumble technology - Immersion Corporation.
Joy-Con Toolkit has HD Rumble Player feature to play different vibrations patterns.
Switch emulator Yuzu supports HR Rumble.[4]
There is no software that can translate DualSense's haptic feedback vibrations into HD Rumble yet.
PC games do not support natively HD Rumble feature yet.

Games with Nintendo button prompts

List of games with Nintendo button prompts

Technical information

Device name: Pro Controller, HWID: 057E:2009
Controller button Button label and axis
A Button 2
B Button 1
X Button 4
Y Button 3
L Button 5
R Button 6
ZL Button 7
ZR Button 8
- Button 9
+ Button 10
Left stick (LS) Button 11, X-axis, Y-axis
Right stick (RS) Button 12, X-rotation, Y-rotation
Home Button 13
Capture Button 14
D-pad up POV up
D-pad down POV down
D-pad left POV left
D-pad right POV right

Input lag

Wired connection input lag: 19.6 ms for button press and 5.9 ms for joystick move.[5]
Wireless connection input lag: 11.5 ms for button press and 4.5 ms for joystick move.[5]
Connection Input lag
USB (button press) 19.6 ms (± 5.8 ms)
USB (joystick move) 19.2 ms (± 5.9 ms)
Bluetooth (button press) 11.5 ms (± 4.5 ms)
Bluetooth (joystick move) 11.9 ms (± 4.3 ms)


References