# Nintendo Controllers
Nintendo Controllers are controllers made by the company Nintendo.
**Motion Controllers** made by Nintendo are listed under the Motion Controllers entry on the wiki.
**Note some these inputs are part of the upcoming 0.8b update.**
## Switch Pro
Official Controller for the Nintendo Switch
#### Steam Input support
Yes
#### Linux Kernel Support
Yes, since 5.16 - `hid-nintendo`
### What is the Official - Switch Pro RetroDECK profile called?
- Switch Pro: `RetroDECK: Switch Pro`
#### What is the Current Version Number of the profile?
WIP
#### Switch Pro - Global Hotkeys: Nintendo Button Combos
The global hotkeys are activated by pressing the `SELECT` button and holding it while pressing the corresponding other button input.
What follows is a list of hotkeys:
`Function` Shows what the hotkey does.
`Button / Combination` Shows the input you need to make to trigger the command.
`Command` Shows what is being sent to the emulator.
`Emulator Support` Shows what emulators support the command.
`Comment` Just extra comments.
| Function | Button / Combination| Command | Emulator Support | Comment |
| :--- | :---: | :---: | :---: | :---: |
| Pause / Resume | `SELECT + B` | `CTRL + P` | `RetroArch` `Citra` `Dolphin/Primehack` `Duckstation` `MelonDS` `PCSX2` `Yuzu` | |
| Take Screenshot | `SELECT + A` | `CTRL + X` | `RetroArch` `Citra` `Dolphin/Primehack` `Duckstation` `PCSX2` `Yuzu` | |
| Fullscreen Toggle | `SELECT + Y` | `CTRL + ENTER` | `Citra` `Dolphin/Primehack` `Duckstation` `MelonDS` `PCSX2` `Yuzu` | |
| Open Menu | `SELECT + X` | `CTRL + M` | `RetroArch` `Duckstation` `PCSX2` `Yuzu` |
| Quit Emulator | `SELECT + Start` | `CTRL + Q` |`RetroArch` `Citra` `Dolphin/Primehack` `Duckstation` `PCSX2` `Yuzu` | | |
| Previous State Slot | `SELECT + D-Pad Left` | `CTRL + J` | `RetroArch` `Dolphin/Primehack` `Duckstation` `PCSX2`| | |
| Next State Slot | `SELECT + D-Pad Right` | `CTRL + K` | `RetroArch` `Dolphin/Primehack` `Duckstation` `PCSX2`|
| Increase Emulation Speed | `SELECT + D-Pad Up` | `CTRL + 1` | `Citra` `Dolphin/Primehack` `Duckstation` `PCSX2`| | |
| Decrease Emulation Speed | `SELECT + D-Pad Down` | `CTRL + 2` | `Citra` `Dolphin/Primehack` `Duckstation` `PCSX2`| | |
| Load State | `SELECT + L1` | `CTRL + A` | `RetroArch` `Citra` `Dolphin/Primehack` `Duckstation` `PCSX2` | |
| Save State | `SELECT + R1` | `CTRL + S` | `RetroArch` `Citra` `Dolphin/Primehack` `Duckstation` `PCSX2` | |
| Rewind | `SELECT + L2` | `CTRL + -` | `RetroArch` `Duckstation` | |
| Fast forward | `SELECT + R2` | `CTRL + +` | `RetroArch` `Duckstation` `MelonDS` `PCSX2` | |
| Global Radial Menu | `SELECT + Left Joystick` | | Opens the Radial Menu |
### Global Radial Menu
The Global Radial Menu is activated by holding `SELECT` and by moving the `Left Joystick`, then by pressing `L3` allows you press the selected radial button.
Radial Button | Keyboard Command| Emulator Support | Comment |
| :--- | :---: | :---: | :---: |
| Space | `Space` | `PC-Systems` | |
| Escape | `Escape` | `PPSSPP` `PC-Systems` | On PPPSPP it opens the Menu |
| Enter | `Enter` | `OpenBOR` `PC-Systems` | |
| F1 | `F1` | `PC-Systems` | |
| F5 | `F5` | `PC-Systems` | |
| F10 | `F10` | `PC-Systems` | |
| Wii Sync Button | `ALT + W` | `Dolphin/Primehack` | |
| Swap Dual-Screens | `CTRL + TAB` | `RetroArch` `Citra` `MelonDS` `Cemu`| |
| Change Dual-Screen Layout | `CTRL + L` | `Citra` | |
| Widescreen / Aspect Ratio | `CTRL + W` | `Dolphin/Primehack` `Duckstation` `PCSX2` | |
| Fullscreen Toggle | `CTRL + ENTER` | `Citra` `Dolphin/Primehack` `Duckstation` `MelonDS` `PCSX2` `Yuzu` | |
| Change Disc / Next Disc | `CTRL + D` | `RetroArch` `Dolphin/Primehack` `Duckstation`| |
### Right Joystick as Mouse
By holding `SELECT` and moving the `Right Joystick` you can use it as a mouse for various systems that uses mouse input.
| Function | Button / Combination| Command | Comment |
| :--- | :---: | :---: | :---: |
| Joystick as Mouse | `SELECT + Right Stick` | | Movement |
| Right Click | `SELECT + L3` | `Right Click` | |
| Left Click | `SELECT + R3` | `Left Click` | |
### RetroArch: Additional Hotkeys
These hotkeys also work for RetroArch and are built in.
| Function | Button / Combination | Emulator Support | Comment |
| :--- | :---: | :---: | :---: |
| Open Menu | `L3 + R3` | `RetroArch` | |
### Arcade Systems: Additional Hotkeys
This hotkey work for RetroArch, MAME, FBNEO and other arcade systems.
| Function | Button / Combination | Emulator Support | Comment |
| :--- | :---: | :---: | :---: |
| Insert Credit | `SELECT` | `RetroArch` `MAME` `FBNeo` | |
## Joy-Cons
Official Controllers for the Nintendo Switch
#### Steam Input support
Yes
#### Linux Kernel Support
Yes, since 5.16 - `hid-nintendo`
### What is the Official - Switch Pro RetroDECK profile called?
- Switch Pro: `RetroDECK: Switch Joycons`
Note that this will be released at a later date and work has not started on it yet.
## Wii U GamePad
Official Controller for the Wii U
#### Steam Input support
No
#### Linux Kernel Support
No
A list of projects and drivers that try to make the Wii U controller work on Linux.
[libdrc](https://github.com/rolandoislas/libdrc)
There has been efforts of adding by the libdrc team of add their `hid-wiiu-drc` to the Linux Kernel.
[linux-wiiu](https://gitlab.com/linux-wiiu/linux-wiiu)
Is a Linux distro that can be used on the Wii U machine. This seams to have a working `hid-wiiu-drc`
But the efforts to add it to the kernel seams to have been stalled.
[hid-wiiu-drc in linux-wiiu](https://gitlab.com/linux-wiiu/linux-wiiu/-/blob/rewrite-4.19/drivers/hid/hid-wiiu-drc.c)
[LWN Discussion on hid-nintendo-wiiu](https://lwn.net/ml/linux-kernel/20211027101043.31609-6-linkmauve@linkmauve.fr/)
## GameCube Controller Adapter for Wii U
#### Steam Input support
Yes, but the connected controllers shows up as Generic Controllers
#### Linux Kernel Support
Yes, acts a normal USB-hub.
### How to connect?
In most cases you just need to connect it via USB and put the device in PC mode on the switch.
Sometimes the udev rule is missing and you will need to add it:
1. Open a terminal window
2. Type `sudo echo 'SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTRS{idVendor}=="057e", ATTRS{idProduct}=="0337", MODE="0666"' | sudo tee -a /etc/udev/rules.d/51-gcadapter.rules > /dev/null`
3. Type `sudo udevadm control --reload-rules`
4. Sometimes you will need to take out and reinsert the USB connector after you have reloaded the rules.
### What is the Official - Switch Pro RetroDECK profile called?
- Switch Pro: `RetroDECK: Generic GameCube`
NOTE: That this will be released at a later date and work has not started on it yet.