From e8729a45b114a9698045ffd42c43fc993d40c0bb Mon Sep 17 00:00:00 2001 From: Andrei Ilyashenko Date: Tue, 8 Oct 2024 11:35:47 -0400 Subject: [PATCH] Input: xpad - Add support for Xbox ONE liquid metal controller I found that my controller wasn't working with this driver. The LED would light up and it could rumble but was not registering any button presses or joystick movements. I suspected the problem might be that it was not being sent some required init packet so I tried sending the packets being used in xboxone_init_packets and found that sending xboxone_pdp_auth got the controller working. At least for my controller xboxone_pdp_led_on was not strictly necessary but I decided to follow the same pattern used by the other two controllers. --- xpad.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/xpad.c b/xpad.c index ce79e06..0d365cc 100644 --- a/xpad.c +++ b/xpad.c @@ -690,8 +690,10 @@ static const struct xboxone_init_packet xboxone_init_packets[] = { XBOXONE_INIT_PKT(0x045e, 0x0b00, extra_input_packet_init), XBOXONE_INIT_PKT(0x0e6f, 0x0000, xboxone_pdp_led_on), XBOXONE_INIT_PKT(0x1430, 0x079b, xboxone_pdp_led_on), + XBOXONE_INIT_PKT(0x20d6, 0xa01a, xboxone_pdp_led_on), XBOXONE_INIT_PKT(0x0e6f, 0x0000, xboxone_pdp_auth), XBOXONE_INIT_PKT(0x1430, 0x079b, xboxone_pdp_auth), + XBOXONE_INIT_PKT(0x20d6, 0xa01a, xboxone_pdp_auth), XBOXONE_INIT_PKT(0x24c6, 0x541a, xboxone_rumblebegin_init), XBOXONE_INIT_PKT(0x24c6, 0x542a, xboxone_rumblebegin_init), XBOXONE_INIT_PKT(0x24c6, 0x543a, xboxone_rumblebegin_init),