Add support for third-party Nintendo Switch Pro Controller (vendor ID 1949:0402)
I purchased a Powerwave brand controller (Nintendo clone controller from Amazon), Model: 167185. This is what I had to do to get the controller working on my home setup.
Description:
The current udev rules in 72-joycond.rules only match official Nintendo controllers (vendor ID 057e). Third-party and clone controllers using vendor ID 1949 with product ID 0402 are not recognized by joycond, preventing them from being mapped to /dev/input/jsX devices.
Root Cause:
The udev rules lack entries for the 1949:0402 vendor/product combination, so these controllers are never tagged with TAG+="joycond" and remain undiscovered by the service.
Solution:
Add udev rule entries for 1949:0402 controllers, matching the same pattern as the official Nintendo controller rules:
Third-party Nintendo Switch Pro Controller (1949:0402)
ATTRS{id/vendor}=="1949", ATTRS{id/product}=="0402", ATTRS{name}!="Combined", ATTRS{name}!="Virtual", ATTRS{name}!="IMU", TAG+="joycond", MODE="0600"
ATTRS{id/vendor}=="1949", ATTRS{id/product}=="0402", ATTRS{name}=="IMU", TAG+="uaccess"
ATTRS{id/vendor}=="1949", ATTRS{id/product}=="0402", ATTRS{name}!="Combined", ATTRS{name}!="Virtual", ATTRS{name}!="IMU", TAG-="uaccess"
Testing:
After applying the rules and restarting joycond, the controller is correctly discovered and mapped to /dev/input/js0.
Add support for third-party Nintendo Switch Pro Controller (vendor ID 1949:0402)
I purchased a Powerwave brand controller (Nintendo clone controller from Amazon), Model: 167185. This is what I had to do to get the controller working on my home setup.
Description:
The current udev rules in 72-joycond.rules only match official Nintendo controllers (vendor ID 057e). Third-party and clone controllers using vendor ID 1949 with product ID 0402 are not recognized by joycond, preventing them from being mapped to /dev/input/jsX devices.
Root Cause:
The udev rules lack entries for the 1949:0402 vendor/product combination, so these controllers are never tagged with TAG+="joycond" and remain undiscovered by the service.
Solution:
Add udev rule entries for 1949:0402 controllers, matching the same pattern as the official Nintendo controller rules:
Third-party Nintendo Switch Pro Controller (1949:0402)
ATTRS{id/vendor}=="1949", ATTRS{id/product}=="0402", ATTRS{name}!="Combined", ATTRS{name}!="Virtual", ATTRS{name}!="IMU", TAG+="joycond", MODE="0600"
ATTRS{id/vendor}=="1949", ATTRS{id/product}=="0402", ATTRS{name}=="IMU", TAG+="uaccess"
ATTRS{id/vendor}=="1949", ATTRS{id/product}=="0402", ATTRS{name}!="Combined", ATTRS{name}!="Virtual", ATTRS{name}!="IMU", TAG-="uaccess"
Testing:
After applying the rules and restarting joycond, the controller is correctly discovered and mapped to /dev/input/js0.