Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Input: xpad - send LED and auth done packets to all Xbox One controllers

This mirrors what SDL does, and is closer to Windows's behavior as-is.

Signed-off-by: Vicki Pfau <vi@endrift.com>
Link: https://lore.kernel.org/r/20250513225411.2718072-4-vi@endrift.com
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>

authored by

Vicki Pfau and committed by
Dmitry Torokhov
0d5c604b 898170cc

+8 -13
+8 -13
drivers/input/joystick/xpad.c
··· 676 676 }; 677 677 678 678 /* 679 - * This packet is required for most (all?) of the PDP pads to start 680 - * sending input reports. These pads include: (0x0e6f:0x02ab), 681 - * (0x0e6f:0x02a4), (0x0e6f:0x02a6). 679 + * This packet is sent by default on Windows, and is required for some pads to 680 + * start sending input reports, including most (all?) of the PDP. These pads 681 + * include: (0x0e6f:0x02ab), (0x0e6f:0x02a4), (0x0e6f:0x02a6). 682 682 */ 683 - static const u8 xboxone_pdp_led_on[] = { 684 - GIP_CMD_LED, GIP_OPT_INTERNAL, GIP_SEQ0, GIP_PL_LEN(3), 0x00, GIP_LED_ON, 0x14 685 - }; 683 + static const u8 xboxone_led_on[] = { GIP_CMD_LED, GIP_OPT_INTERNAL, GIP_SEQ0, 684 + GIP_PL_LEN(3), 0x00, GIP_LED_ON, 0x14 }; 686 685 687 686 /* 688 687 * This packet is required for most (all?) of the PDP pads to start 689 688 * sending input reports. These pads include: (0x0e6f:0x02ab), 690 689 * (0x0e6f:0x02a4), (0x0e6f:0x02a6). 691 690 */ 692 - static const u8 xboxone_pdp_auth[] = { 691 + static const u8 xboxone_auth_done[] = { 693 692 GIP_CMD_AUTHENTICATE, GIP_OPT_INTERNAL, GIP_SEQ0, GIP_PL_LEN(2), 0x01, 0x00 694 693 }; 695 694 ··· 725 726 XBOXONE_INIT_PKT(0x045e, 0x02ea, xboxone_s_init), 726 727 XBOXONE_INIT_PKT(0x045e, 0x0b00, xboxone_s_init), 727 728 XBOXONE_INIT_PKT(0x045e, 0x0b00, extra_input_packet_init), 728 - XBOXONE_INIT_PKT(0x0e6f, 0x0000, xboxone_pdp_led_on), 729 - XBOXONE_INIT_PKT(0x0f0d, 0x01b2, xboxone_pdp_led_on), 730 - XBOXONE_INIT_PKT(0x20d6, 0xa01a, xboxone_pdp_led_on), 731 - XBOXONE_INIT_PKT(0x0e6f, 0x0000, xboxone_pdp_auth), 732 - XBOXONE_INIT_PKT(0x0f0d, 0x01b2, xboxone_pdp_auth), 733 - XBOXONE_INIT_PKT(0x20d6, 0xa01a, xboxone_pdp_auth), 729 + XBOXONE_INIT_PKT(0x0000, 0x0000, xboxone_led_on), 730 + XBOXONE_INIT_PKT(0x0000, 0x0000, xboxone_auth_done), 734 731 XBOXONE_INIT_PKT(0x24c6, 0x541a, xboxone_rumblebegin_init), 735 732 XBOXONE_INIT_PKT(0x24c6, 0x542a, xboxone_rumblebegin_init), 736 733 XBOXONE_INIT_PKT(0x24c6, 0x543a, xboxone_rumblebegin_init),