* [PATCH v2] Input: Add support for PDP Xbox One controllers
@ 2017-12-10 23:52 Mark Furneaux
2017-12-12 5:42 ` Cameron Gutman
0 siblings, 1 reply; 3+ messages in thread
From: Mark Furneaux @ 2017-12-10 23:52 UTC (permalink / raw)
To: mark
Input: Add support for PDP Xbox One controllers
Adds support for the current lineup of Xbox One controllers from PDP
(Performance Designed Products). These controllers are very picky with
their initialization sequence and require an additional 2 packets before
they send any input reports.
Signed-off-by: Mark Furneaux <mark@furneaux.ca>
---
Changes in v2:
- Zeroed the sequence numbers and removed the redundant quirk entry.
- Corrected mangled formatting from my email client.
drivers/input/joystick/xpad.c | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)
diff --git a/drivers/input/joystick/xpad.c b/drivers/input/joystick/xpad.c
index d86e595..d88d3e0 100644
--- a/drivers/input/joystick/xpad.c
+++ b/drivers/input/joystick/xpad.c
@@ -229,6 +229,7 @@ static const struct xpad_device {
{ 0x0e6f, 0x0213, "Afterglow Gamepad for Xbox 360", 0, XTYPE_XBOX360 },
{ 0x0e6f, 0x021f, "Rock Candy Gamepad for Xbox 360", 0, XTYPE_XBOX360 },
{ 0x0e6f, 0x0246, "Rock Candy Gamepad for Xbox One 2015", 0, XTYPE_XBOXONE },
+ { 0x0e6f, 0x02ab, "PDP Controller for Xbox One", 0, XTYPE_XBOXONE },
{ 0x0e6f, 0x0301, "Logic3 Controller", 0, XTYPE_XBOX360 },
{ 0x0e6f, 0x0346, "Rock Candy Gamepad for Xbox One 2016", 0, XTYPE_XBOXONE },
{ 0x0e6f, 0x0401, "Logic3 Controller", 0, XTYPE_XBOX360 },
@@ -476,6 +477,22 @@ static const u8 xboxone_hori_init[] = {
};
/*
+ * This packet is required for some of the PDP pads to start
+ * sending input reports. One of those pads is (0x0e6f:0x02ab).
+ */
+static const u8 xboxone_pdp_init1[] = {
+ 0x0a, 0x20, 0x00, 0x03, 0x00, 0x01, 0x14
+};
+
+/*
+ * This packet is required for some of the PDP pads to start
+ * sending input reports. One of those pads is (0x0e6f:0x02ab).
+ */
+static const u8 xboxone_pdp_init2[] = {
+ 0x06, 0x20, 0x00, 0x02, 0x01, 0x00
+};
+
+/*
* A specific rumble packet is required for some PowerA pads to start
* sending input reports. One of those pads is (0x24c6:0x543a).
*/
@@ -505,6 +522,8 @@ static const struct xboxone_init_packet xboxone_init_packets[] = {
XBOXONE_INIT_PKT(0x0e6f, 0x0165, xboxone_hori_init),
XBOXONE_INIT_PKT(0x0f0d, 0x0067, xboxone_hori_init),
XBOXONE_INIT_PKT(0x0000, 0x0000, xboxone_fw2015_init),
+ XBOXONE_INIT_PKT(0x0e6f, 0x02ab, xboxone_pdp_init1),
+ XBOXONE_INIT_PKT(0x0e6f, 0x02ab, xboxone_pdp_init2),
XBOXONE_INIT_PKT(0x24c6, 0x541a, xboxone_rumblebegin_init),
XBOXONE_INIT_PKT(0x24c6, 0x542a, xboxone_rumblebegin_init),
XBOXONE_INIT_PKT(0x24c6, 0x543a, xboxone_rumblebegin_init),
^ permalink raw reply related [flat|nested] 3+ messages in thread* Re: [PATCH v2] Input: Add support for PDP Xbox One controllers
2017-12-10 23:52 [PATCH v2] Input: Add support for PDP Xbox One controllers Mark Furneaux
@ 2017-12-12 5:42 ` Cameron Gutman
2018-01-22 19:25 ` Dmitry Torokhov
0 siblings, 1 reply; 3+ messages in thread
From: Cameron Gutman @ 2017-12-12 5:42 UTC (permalink / raw)
To: Mark Furneaux (by way of Mark Furneaux <mark@furneaux.ca>),
linux-input, Dmitry Torokhov
On 12/10/2017 03:52 PM, Mark Furneaux (by way of Mark Furneaux <mark@furneaux.ca>) wrote:
> Input: Add support for PDP Xbox One controllers
>
> Adds support for the current lineup of Xbox One controllers from PDP
> (Performance Designed Products). These controllers are very picky with
> their initialization sequence and require an additional 2 packets before
> they send any input reports.
>
> Signed-off-by: Mark Furneaux <mark@furneaux.ca>
>
> ---
> Changes in v2:
>
> - Zeroed the sequence numbers and removed the redundant quirk entry.
> - Corrected mangled formatting from my email client.
>
Thanks, LGTM.
Reviewed-by: Cameron Gutman <aicommander@gmail.com>
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH v2] Input: Add support for PDP Xbox One controllers
2017-12-12 5:42 ` Cameron Gutman
@ 2018-01-22 19:25 ` Dmitry Torokhov
0 siblings, 0 replies; 3+ messages in thread
From: Dmitry Torokhov @ 2018-01-22 19:25 UTC (permalink / raw)
To: Cameron Gutman
Cc: Mark Furneaux (by way of Mark Furneaux <mark@furneaux.ca>),
linux-input
On Mon, Dec 11, 2017 at 09:42:11PM -0800, Cameron Gutman wrote:
> On 12/10/2017 03:52 PM, Mark Furneaux (by way of Mark Furneaux <mark@furneaux.ca>) wrote:
> > Input: Add support for PDP Xbox One controllers
> >
> > Adds support for the current lineup of Xbox One controllers from PDP
> > (Performance Designed Products). These controllers are very picky with
> > their initialization sequence and require an additional 2 packets before
> > they send any input reports.
> >
> > Signed-off-by: Mark Furneaux <mark@furneaux.ca>
> >
> > ---
> > Changes in v2:
> >
> > - Zeroed the sequence numbers and removed the redundant quirk entry.
> > - Corrected mangled formatting from my email client.
> >
>
> Thanks, LGTM.
>
> Reviewed-by: Cameron Gutman <aicommander@gmail.com>
Applied and earmarked for stable, thank you.
--
Dmitry
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2018-01-22 19:25 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-12-10 23:52 [PATCH v2] Input: Add support for PDP Xbox One controllers Mark Furneaux
2017-12-12 5:42 ` Cameron Gutman
2018-01-22 19:25 ` Dmitry Torokhov
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).