A quick update for the heavily modified version of the Sys-consystem module is published, the sysmodule a once installed to use any third-party controller connected directly to the USB port of the Switches
console. .
Unlike other similar solutions that require USB adapters or a smartphone to work (see hid-mitm), the new Sys module will only need a USB cable to connect the controller to the base.
This eliminates the need for a wireless connection, reduces input latency, and does not conflict with the libnx input solution in the latest version of the Atmosphère Custom Firmware.
This new version is not limited to adding support for Atmosphere v1.8.0, but also introduces a function to adjust the analog scale factor, useful for controllers whose analog sticks do not reach the full range.
Note: For Bluetooth connections, you can use MissionControl of ndeadly.
Installation
- Download the archive
.zip
and extract it within the SD card (make sure the fileexefs.nsp
is extracted correctly in the directorysdmc:/atmosphere/titles/690000000000000D/
). - Turn the Switch on or restart.
Configuration
The sys-con module includes a configuration folder located in /config/sys-con/
. . This folder contains options to adjust the dead zone of joysticks and triggers, and for remapping inputs. The configuration is loaded as follows:
- The [global] section is loaded only once, when the console starts, so if you want to apply a change you need to restart the console.
- The other sections are dedicated to configuring the controllers and are loaded every time you connect a controller. Therefore, to apply a change it is necessary to disconnect and reconnect the controller.
Loading order of controller mapping:
- The [default] section is loaded first.
- A [VID-PID] section is then searched; if found, it overwrites the default value.
- If [VID-PID] contains a [profile], first the [profile] is loaded and then [VID-PID].
In other words, the order of loading is: [Default] [Profile] [VID-PID]. If you want to overwrite a setting for a single controller, it is recommended that you write the configuration in [VID-PID].
Log in a lo
In case of problems, you can consult the logs in /config/sys-con/log.log
(in the SDCard). Logs are created automatically with a log level set to Info
. . For more detailed logs, you need to change /config/sys-con/config.ini
in the following way:
[global]
log_level=0
Restart the Switch console after making any changes to the file config.ini
. .
Important: If you enable the “Trace” or “Debugging” log level, the sys-module will automatically increase the polling frequency to 100 ms (for Debug) and 500 ms (for Trace). This will result in an increase in controller latency (this is normal and expected).
Therefore, if you want to press a button, you will need to hold it for at least 1 second. Trace and Debug log levels are not suitable for playing, but are used exclusively for debugging purposes.
Characteristics of
- Support joystick/gamepad HID (compatible with PC controller).
- Mapping the buttons using VID/PID or profiles.
- Deadzone is configurable.
- Configurable polling frequency.
- Configurable controller color using ?RGBA.
- Vibration.
Supported controllers
- Any controller for PC.
- Dualshock 4.
- Dualshock 3.
- Xbox OG controller.
- Xbox 360 controller.
- Xbox 360 wireless adapter (to 4 controllers can be connected).
- Xbox One X/S controller.
- Flying.
Tested
- Xinmotek XM-10 (arcasal controller).
- PSX adapter.
- Dualshock 4.
- Xbox 360 controller.
- Xbox 360 wireless adapter.
- Logitech Driving Force GT (flying).
- Trustmaster T150 Pro (flying).
- BSP-D9 Mobile Phone Stretch game controller.
- the Phantom White PDP
XboxOne of the one. Wave Afterglow PDP
- Xbox Series. .
- Activbb X6-34U.
How to add a new controller?
Most of the time you will only need to do the button mapping. Here’s how to do it:
Method 1 (From a Windows PC)
- Connect the controller to the PC.
- Go to “Control Panel” – “Dyvice Management” and search for the USB device under “Human Interface Devices”.
- Double-click the device or right-click and select “Properties”.
- Go to the “Details” tab and select “hardware ID” to display the PID and VID. The PID/VID should appear as “HID-VID-0810&PID-0001*…”, which will become: [0810-0001].
- Open up the file
joy.cpl
(both through Win+R and directly from the Start menu). - Select the controller and click on “Property”.
- Here you should see a panel with button IDs (1, 2, 3, …), press the buttons and take note of which button is associated with which ID.
- Now edit the file
/config/sys-con/config.ini
on the Switch SD card and add:
[0810-0001]
B=3
A=2
Y=4
X=1
L=7
R=8
ZL=5
ZR=6
minus=9
plus=10
Where 1, 2, 3, 4, … are the keys IDs noted in step 7.
Method 2 (Directly from the Switch logs)
- Connect the controller to the Switch and disconnect it.
- Open up
/config/sys-con/logs.txt
and look for a line like: “Trying to find configuration for USB device: [0810-0001]”. - Now change
/config/sys-con/config.ini
on the Switch SD card and add:
[0810-0001]
B=1
A=2
Y=3
X=4
L=5
R=6
ZL=7
ZR=8
minus=9
plus=10
Where 1, 2, 3, 4, … are set randomly.
- Reconnect the controller.
- On the Switch console go to: Settings – Controller and sensors ? Test input controller.
- Try to press the buttons, you will quickly realize that the mapping is wrong, now you have to go to remake it correctly by modifying it
/config/sys-con/config.ini
. .
Changelog
- Added support for custom firmware Atmosphere v1.8.0.
- Added an option to set an analog scale factor for the controller, useful in cases where the analog stick does not reach its full range (
factor_XXX=...
).
Download: Sys-con v1.4.2 (ATM 1.6.x)
Download: Sys-con v1.4.2 (ATM 1.8.x)
Download: Source code Sys-con v1.4.2
Source: github.com