mirror of
https://github.com/torvalds/linux.git
synced 2024-09-20 06:53:04 +00:00
Merge branch 'for-6.12/hid-playstation' into for-linus
- Enhance compatibility with clone controllers (Max Staudt)
This commit is contained in:
commit
54ab927352
|
@ -2143,6 +2143,26 @@ static void dualshock4_output_worker(struct work_struct *work)
|
|||
|
||||
spin_lock_irqsave(&ds4->base.lock, flags);
|
||||
|
||||
/*
|
||||
* Some 3rd party gamepads expect updates to rumble and lightbar
|
||||
* together, and setting one may cancel the other.
|
||||
*
|
||||
* Let's maximise compatibility by always sending rumble and lightbar
|
||||
* updates together, even when only one has been scheduled, resulting
|
||||
* in:
|
||||
*
|
||||
* ds4->valid_flag0 >= 0x03
|
||||
*
|
||||
* Hopefully this will maximise compatibility with third-party pads.
|
||||
*
|
||||
* Any further update bits, such as 0x04 for lightbar blinking, will
|
||||
* be or'd on top of this like before.
|
||||
*/
|
||||
if (ds4->update_rumble || ds4->update_lightbar) {
|
||||
ds4->update_rumble = true; /* 0x01 */
|
||||
ds4->update_lightbar = true; /* 0x02 */
|
||||
}
|
||||
|
||||
if (ds4->update_rumble) {
|
||||
/* Select classic rumble style haptics and enable it. */
|
||||
common->valid_flag0 |= DS4_OUTPUT_VALID_FLAG0_MOTOR;
|
||||
|
|
Loading…
Reference in New Issue
Block a user