Skip to content

Commit 0d5c604

Browse files
endriftdtor
authored andcommitted
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 <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Dmitry Torokhov <[email protected]>
1 parent 898170c commit 0d5c604

File tree

1 file changed

+8
-13
lines changed

1 file changed

+8
-13
lines changed

drivers/input/joystick/xpad.c

Lines changed: 8 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -676,20 +676,19 @@ static const u8 xboxone_hori_ack_id[] = {
676676
};
677677

678678
/*
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).
682682
*/
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 };
686685

687686
/*
688687
* This packet is required for most (all?) of the PDP pads to start
689688
* sending input reports. These pads include: (0x0e6f:0x02ab),
690689
* (0x0e6f:0x02a4), (0x0e6f:0x02a6).
691690
*/
692-
static const u8 xboxone_pdp_auth[] = {
691+
static const u8 xboxone_auth_done[] = {
693692
GIP_CMD_AUTHENTICATE, GIP_OPT_INTERNAL, GIP_SEQ0, GIP_PL_LEN(2), 0x01, 0x00
694693
};
695694

@@ -726,12 +725,8 @@ static const struct xboxone_init_packet xboxone_init_packets[] = {
726725
XBOXONE_INIT_PKT(0x045e, 0x02ea, xboxone_s_init),
727726
XBOXONE_INIT_PKT(0x045e, 0x0b00, xboxone_s_init),
728727
XBOXONE_INIT_PKT(0x045e, 0x0b00, extra_input_packet_init),
729-
XBOXONE_INIT_PKT(0x0e6f, 0x0000, xboxone_pdp_led_on),
730-
XBOXONE_INIT_PKT(0x0f0d, 0x01b2, xboxone_pdp_led_on),
731-
XBOXONE_INIT_PKT(0x20d6, 0xa01a, xboxone_pdp_led_on),
732-
XBOXONE_INIT_PKT(0x0e6f, 0x0000, xboxone_pdp_auth),
733-
XBOXONE_INIT_PKT(0x0f0d, 0x01b2, xboxone_pdp_auth),
734-
XBOXONE_INIT_PKT(0x20d6, 0xa01a, xboxone_pdp_auth),
728+
XBOXONE_INIT_PKT(0x0000, 0x0000, xboxone_led_on),
729+
XBOXONE_INIT_PKT(0x0000, 0x0000, xboxone_auth_done),
735730
XBOXONE_INIT_PKT(0x24c6, 0x541a, xboxone_rumblebegin_init),
736731
XBOXONE_INIT_PKT(0x24c6, 0x542a, xboxone_rumblebegin_init),
737732
XBOXONE_INIT_PKT(0x24c6, 0x543a, xboxone_rumblebegin_init),

0 commit comments

Comments
 (0)