Skip to content

Commit

Permalink
xpadneo: Support GameSir T4 Cyclone models
Browse files Browse the repository at this point in the history
These models lack hardware supported haptics like most other third-party
controllers. The Pro models feature trigger rumble, so at least for now
we just allow trigger rumble for non-Pro models, too. It should have no
impact except using some more CPU cycles in the driver.

Fixes: atar-axis#426
Signed-off-by: Kai Krakow <[email protected]>
  • Loading branch information
kakra committed Feb 11, 2024
1 parent 95637c9 commit 938adc9
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 0 deletions.
15 changes: 15 additions & 0 deletions docs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -158,6 +158,21 @@ button, the click the plus button. Thus, the quirks flag is just a matter of set
This controller uses emulated profile switching support (see below).


### GameSir T4 Cyclone Family

This driver supports the GameSir T4 Cyclone controller family, tested by the community. The Pro-models also support
trigger rumble but since we cannot distinguish both models by the Bluetooth MAC OUI, we simply enable the trigger
rumble protocol for both variants. This should not introduce any problems but if it does, and your model does not have
trigger rumble support, you can explicitly tell the driver to not use the trigger rumble motors by adding a quirk flag:

```
# /etc/modprobe.conf
options hid_xpadneo quirks=A0:5A:5D:xx:xx:xx+2
```

This controller uses emulated profile switching support (see below).


## Profile Switching

The driver supports switching between different profiles, either through emulation or by using the hardware
Expand Down
2 changes: 2 additions & 0 deletions hid-xpadneo/src/hid-xpadneo.c
Original file line number Diff line number Diff line change
Expand Up @@ -94,6 +94,8 @@ static const struct quirk xpadneo_quirks[] = {
DEVICE_OUI_QUIRK("E4:17:D8",
XPADNEO_QUIRK_NO_PULSE | XPADNEO_QUIRK_NO_TRIGGER_RUMBLE |
XPADNEO_QUIRK_NO_MOTOR_MASK | XPADNEO_QUIRK_NINTENDO),
DEVICE_OUI_QUIRK("A0:5A:5D",
XPADNEO_QUIRK_NO_PULSE | XPADNEO_QUIRK_NO_MOTOR_MASK),
};

struct usage_map {
Expand Down

0 comments on commit 938adc9

Please sign in to comment.