drivers/input/joystick/xpad.c | 2 ++ 1 file changed, 2 insertions(+)
Adds support for the ZD O+ Excellence controller.
Tested with a wired connection.
Signed-off-by: Philippos Boon Alexaki <palexaki@xs4all.nl>
---
drivers/input/joystick/xpad.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/input/joystick/xpad.c b/drivers/input/joystick/xpad.c
index 4c94297e17e6..3805780d5be3 100644
--- a/drivers/input/joystick/xpad.c
+++ b/drivers/input/joystick/xpad.c
@@ -296,6 +296,7 @@ static const struct xpad_device {
{ 0x10f5, 0x7005, "Turtle Beach Recon Controller", 0, XTYPE_XBOXONE },
{ 0x10f5, 0x7008, "Turtle Beach Recon Controller", MAP_SHARE_BUTTON, XTYPE_XBOXONE },
{ 0x10f5, 0x7073, "Turtle Beach Stealth Ultra Controller", MAP_SHARE_BUTTON, XTYPE_XBOXONE },
+ { 0x11c0, 0x5505, "ZD O+ Excellence", 0, XTYPE_XBOX360 },
{ 0x11c9, 0x55f0, "Nacon GC-100XF", 0, XTYPE_XBOX360 },
{ 0x11ff, 0x0511, "PXN V900", 0, XTYPE_XBOX360 },
{ 0x1209, 0x2882, "Ardwiino Controller", 0, XTYPE_XBOX360 },
@@ -541,6 +542,7 @@ static const struct usb_device_id xpad_table[] = {
XPAD_XBOXONE_VENDOR(0x0f0d), /* Hori controllers */
XPAD_XBOX360_VENDOR(0x1038), /* SteelSeries controllers */
XPAD_XBOXONE_VENDOR(0x10f5), /* Turtle Beach Controllers */
+ XPAD_XBOXONE_VENDOR(0x11c0), /* ZD O+ Excellence */
XPAD_XBOX360_VENDOR(0x11c9), /* Nacon GC100XF */
XPAD_XBOX360_VENDOR(0x11ff), /* PXN V900 */
XPAD_XBOX360_VENDOR(0x1209), /* Ardwiino Controllers */
--
2.43.0
Hi Philippos,
On Thu, Oct 30, 2025 at 11:56:06PM +0100, Philippos Boon Alexaki wrote:
> Adds support for the ZD O+ Excellence controller.
> Tested with a wired connection.
>
> Signed-off-by: Philippos Boon Alexaki <palexaki@xs4all.nl>
> ---
> drivers/input/joystick/xpad.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/drivers/input/joystick/xpad.c b/drivers/input/joystick/xpad.c
> index 4c94297e17e6..3805780d5be3 100644
> --- a/drivers/input/joystick/xpad.c
> +++ b/drivers/input/joystick/xpad.c
> @@ -296,6 +296,7 @@ static const struct xpad_device {
> { 0x10f5, 0x7005, "Turtle Beach Recon Controller", 0, XTYPE_XBOXONE },
> { 0x10f5, 0x7008, "Turtle Beach Recon Controller", MAP_SHARE_BUTTON, XTYPE_XBOXONE },
> { 0x10f5, 0x7073, "Turtle Beach Stealth Ultra Controller", MAP_SHARE_BUTTON, XTYPE_XBOXONE },
> + { 0x11c0, 0x5505, "ZD O+ Excellence", 0, XTYPE_XBOX360 },
> { 0x11c9, 0x55f0, "Nacon GC-100XF", 0, XTYPE_XBOX360 },
> { 0x11ff, 0x0511, "PXN V900", 0, XTYPE_XBOX360 },
> { 0x1209, 0x2882, "Ardwiino Controller", 0, XTYPE_XBOX360 },
> @@ -541,6 +542,7 @@ static const struct usb_device_id xpad_table[] = {
> XPAD_XBOXONE_VENDOR(0x0f0d), /* Hori controllers */
> XPAD_XBOX360_VENDOR(0x1038), /* SteelSeries controllers */
> XPAD_XBOXONE_VENDOR(0x10f5), /* Turtle Beach Controllers */
> + XPAD_XBOXONE_VENDOR(0x11c0), /* ZD O+ Excellence */
It is really weird that the matching is added for XboxOne but the type
is set for Xbox360...
> XPAD_XBOX360_VENDOR(0x11c9), /* Nacon GC100XF */
> XPAD_XBOX360_VENDOR(0x11ff), /* PXN V900 */
> XPAD_XBOX360_VENDOR(0x1209), /* Ardwiino Controllers */
Thanks.
--
Dmitry
Hi Dmitry,
On Thu, Dec 18, 2025 at 09:08:03PM -0800, Dmitry Torokhov wrote:
> Hi Philippos,
>
> On Thu, Oct 30, 2025 at 11:56:06PM +0100, Philippos Boon Alexaki wrote:
> > Adds support for the ZD O+ Excellence controller.
> > Tested with a wired connection.
> >
> > Signed-off-by: Philippos Boon Alexaki <palexaki@xs4all.nl>
> > ---
> > drivers/input/joystick/xpad.c | 2 ++
> > 1 file changed, 2 insertions(+)
> >
> > diff --git a/drivers/input/joystick/xpad.c b/drivers/input/joystick/xpad.c
> > index 4c94297e17e6..3805780d5be3 100644
> > --- a/drivers/input/joystick/xpad.c
> > +++ b/drivers/input/joystick/xpad.c
> > @@ -296,6 +296,7 @@ static const struct xpad_device {
> > { 0x10f5, 0x7005, "Turtle Beach Recon Controller", 0, XTYPE_XBOXONE },
> > { 0x10f5, 0x7008, "Turtle Beach Recon Controller", MAP_SHARE_BUTTON, XTYPE_XBOXONE },
> > { 0x10f5, 0x7073, "Turtle Beach Stealth Ultra Controller", MAP_SHARE_BUTTON, XTYPE_XBOXONE },
> > + { 0x11c0, 0x5505, "ZD O+ Excellence", 0, XTYPE_XBOX360 },
> > { 0x11c9, 0x55f0, "Nacon GC-100XF", 0, XTYPE_XBOX360 },
> > { 0x11ff, 0x0511, "PXN V900", 0, XTYPE_XBOX360 },
> > { 0x1209, 0x2882, "Ardwiino Controller", 0, XTYPE_XBOX360 },
> > @@ -541,6 +542,7 @@ static const struct usb_device_id xpad_table[] = {
> > XPAD_XBOXONE_VENDOR(0x0f0d), /* Hori controllers */
> > XPAD_XBOX360_VENDOR(0x1038), /* SteelSeries controllers */
> > XPAD_XBOXONE_VENDOR(0x10f5), /* Turtle Beach Controllers */
> > + XPAD_XBOXONE_VENDOR(0x11c0), /* ZD O+ Excellence */
>
> It is really weird that the matching is added for XboxOne but the type
> is set for Xbox360...
This is a typo, it behaves like a Xbox360 so this should be changed
to reflect that. Should I resubmit my patch?
>
> > XPAD_XBOX360_VENDOR(0x11c9), /* Nacon GC100XF */
> > XPAD_XBOX360_VENDOR(0x11ff), /* PXN V900 */
> > XPAD_XBOX360_VENDOR(0x1209), /* Ardwiino Controllers */
>
> Thanks.
>
> --
> Dmitry
Kind regards,
Philippos
© 2016 - 2026 Red Hat, Inc.