[PATCH v5] Input: xpad - add support for Azeron devices

Roberts Kursitis posted 1 patch 2 weeks, 5 days ago
drivers/input/joystick/xpad.c | 7 +++++++
1 file changed, 7 insertions(+)
[PATCH v5] Input: xpad - add support for Azeron devices
Posted by Roberts Kursitis 2 weeks, 5 days ago
Azeron controllers (Cyro, Cyborg, Classic/Compact, Cyro Lefty,
Cyborg II and Keyzen) present a standard Xbox 360 controller
interface, so they work with the existing xpad driver once their
USB IDs are added.

The 0x16d0 vendor ID is a shared block, but this is safe because
xpad only binds interfaces that match the Xbox 360 signature.

Tested with an Azeron Keyzen.

Signed-off-by: Roberts Kursitis <roberts.kursitis@azeron.eu>
Cc: stable@vger.kernel.org
---
v4 -> v5:
 - Rebased on current dtor/input next. No functional changes; resending
   as the v4 posting was not picked up during the 7.3 merge window.

v3 -> v4:
 - Dropped the FLAG_NO_LED / FLAG_NO_RUMBLE quirk. Testing an Azeron
   Keyzen showed it accepts the LED and rumble packets without the
   -EPIPE stall assumed in v3, so the quirk is not needed. The patch
   is now just the device-ID additions.

v2 -> v3:
 - Moved the 0x16d0 entries after 0x1689 to keep both tables sorted
   by vendor ID.

 drivers/input/joystick/xpad.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/drivers/input/joystick/xpad.c b/drivers/input/joystick/xpad.c
index feb8f368f834..ed6ae7bf0d3a 100644
--- a/drivers/input/joystick/xpad.c
+++ b/drivers/input/joystick/xpad.c
@@ -292,6 +292,12 @@ static const struct xpad_device {
 	{ 0x1689, 0xfd00, "Razer Onza Tournament Edition", 0, XTYPE_XBOX360 },
 	{ 0x1689, 0xfd01, "Razer Onza Classic Edition", 0, XTYPE_XBOX360 },
 	{ 0x1689, 0xfe00, "Razer Sabertooth", 0, XTYPE_XBOX360 },
+	{ 0x16d0, 0x1103, "Azeron Cyro", 0, XTYPE_XBOX360 },
+	{ 0x16d0, 0x113c, "Azeron Cyborg", 0, XTYPE_XBOX360 },
+	{ 0x16d0, 0x1192, "Azeron Classic/Compact", 0, XTYPE_XBOX360 },
+	{ 0x16d0, 0x1212, "Azeron Cyro Lefty", 0, XTYPE_XBOX360 },
+	{ 0x16d0, 0x12f7, "Azeron Cyborg II", 0, XTYPE_XBOX360 },
+	{ 0x16d0, 0x13ea, "Azeron Keyzen", 0, XTYPE_XBOX360 },
 	{ 0x17ef, 0x6182, "Lenovo Legion Controller for Windows", 0, XTYPE_XBOX360 },
 	{ 0x1949, 0x041a, "Amazon Game Controller", 0, XTYPE_XBOX360 },
 	{ 0x1a86, 0xe310, "Legion Go S", 0, XTYPE_XBOX360 },
@@ -533,6 +539,7 @@ static const struct usb_device_id xpad_table[] = {
 	XPAD_XBOX360_VENDOR(0x15e4),		/* Numark Xbox 360 controllers */
 	XPAD_XBOX360_VENDOR(0x162e),		/* Joytech Xbox 360 controllers */
 	XPAD_XBOX360_VENDOR(0x1689),		/* Razer Onza */
+	XPAD_XBOX360_VENDOR(0x16d0),		/* Azeron controllers */
 	XPAD_XBOX360_VENDOR(0x17ef),		/* Lenovo */
 	XPAD_XBOX360_VENDOR(0x1949),		/* Amazon controllers */
 	XPAD_XBOX360_VENDOR(0x1a86),		/* Nanjing Qinheng Microelectronics (WCH) */
-- 
2.55.0
Re: [PATCH v5] Input: xpad - add support for Azeron devices
Posted by Dmitry Torokhov 1 week, 4 days ago
On Sun, Sep 06, 2026 at 05:30:40PM +0300, Roberts Kursitis wrote:
> Azeron controllers (Cyro, Cyborg, Classic/Compact, Cyro Lefty,
> Cyborg II and Keyzen) present a standard Xbox 360 controller
> interface, so they work with the existing xpad driver once their
> USB IDs are added.
> 
> The 0x16d0 vendor ID is a shared block, but this is safe because
> xpad only binds interfaces that match the Xbox 360 signature.
> 
> Tested with an Azeron Keyzen.
> 
> Signed-off-by: Roberts Kursitis <roberts.kursitis@azeron.eu>
> Cc: stable@vger.kernel.org

Applied, thank you.

-- 
Dmitry