@@ -140,6 +140,7 @@ static const struct xpad_device {
140
140
{ 0x044f, 0x0f00, "Thrustmaster Wheel", 0, XTYPE_XBOX },
141
141
{ 0x044f, 0x0f03, "Thrustmaster Wheel", 0, XTYPE_XBOX },
142
142
{ 0x044f, 0x0f07, "Thrustmaster, Inc. Controller", 0, XTYPE_XBOX },
143
+ { 0x044f, 0xd01e, "ThrustMaster, Inc. ESWAP X 2 ELDEN RING EDITION", 0, XTYPE_XBOXONE },
143
144
{ 0x044f, 0x0f10, "Thrustmaster Modena GT Wheel", 0, XTYPE_XBOX },
144
145
{ 0x044f, 0xb326, "Thrustmaster Gamepad GP XID", 0, XTYPE_XBOX360 },
145
146
{ 0x045e, 0x0202, "Microsoft X-Box pad v1 (US)", 0, XTYPE_XBOX },
@@ -177,6 +178,7 @@ static const struct xpad_device {
177
178
{ 0x06a3, 0x0200, "Saitek Racing Wheel", 0, XTYPE_XBOX },
178
179
{ 0x06a3, 0x0201, "Saitek Adrenalin", 0, XTYPE_XBOX },
179
180
{ 0x06a3, 0xf51a, "Saitek P3600", 0, XTYPE_XBOX360 },
181
+ { 0x0738, 0x4503, "Mad Catz Racing Wheel", 0, XTYPE_XBOXONE },
180
182
{ 0x0738, 0x4506, "Mad Catz 4506 Wireless Controller", 0, XTYPE_XBOX },
181
183
{ 0x0738, 0x4516, "Mad Catz Control Pad", 0, XTYPE_XBOX },
182
184
{ 0x0738, 0x4520, "Mad Catz Control Pad Pro", 0, XTYPE_XBOX },
@@ -238,6 +240,7 @@ static const struct xpad_device {
238
240
{ 0x0e6f, 0x0146, "Rock Candy Wired Controller for Xbox One", 0, XTYPE_XBOXONE },
239
241
{ 0x0e6f, 0x0147, "PDP Marvel Xbox One Controller", 0, XTYPE_XBOXONE },
240
242
{ 0x0e6f, 0x015c, "PDP Xbox One Arcade Stick", MAP_TRIGGERS_TO_BUTTONS, XTYPE_XBOXONE },
243
+ { 0x0e6f, 0x015d, "PDP Mirror's Edge Official Wired Controller for Xbox One", XTYPE_XBOXONE },
241
244
{ 0x0e6f, 0x0161, "PDP Xbox One Controller", 0, XTYPE_XBOXONE },
242
245
{ 0x0e6f, 0x0162, "PDP Xbox One Controller", 0, XTYPE_XBOXONE },
243
246
{ 0x0e6f, 0x0163, "PDP Xbox One Controller", 0, XTYPE_XBOXONE },
@@ -276,12 +279,15 @@ static const struct xpad_device {
276
279
{ 0x0f0d, 0x0078, "Hori Real Arcade Pro V Kai Xbox One", MAP_TRIGGERS_TO_BUTTONS, XTYPE_XBOXONE },
277
280
{ 0x0f0d, 0x00c5, "Hori Fighting Commander ONE", MAP_TRIGGERS_TO_BUTTONS, XTYPE_XBOXONE },
278
281
{ 0x0f0d, 0x00dc, "HORIPAD FPS for Nintendo Switch", MAP_TRIGGERS_TO_BUTTONS, XTYPE_XBOX360 },
282
+ { 0x0f0d, 0x0151, "Hori Racing Wheel Overdrive for Xbox Series X", 0, XTYPE_XBOXONE },
283
+ { 0x0f0d, 0x0152, "Hori Racing Wheel Overdrive for Xbox Series X", 0, XTYPE_XBOXONE },
279
284
{ 0x0f30, 0x010b, "Philips Recoil", 0, XTYPE_XBOX },
280
285
{ 0x0f30, 0x0202, "Joytech Advanced Controller", 0, XTYPE_XBOX },
281
286
{ 0x0f30, 0x8888, "BigBen XBMiniPad Controller", 0, XTYPE_XBOX },
282
287
{ 0x102c, 0xff0c, "Joytech Wireless Advanced Controller", 0, XTYPE_XBOX },
283
288
{ 0x1038, 0x1430, "SteelSeries Stratus Duo", 0, XTYPE_XBOX360 },
284
289
{ 0x1038, 0x1431, "SteelSeries Stratus Duo", 0, XTYPE_XBOX360 },
290
+ { 0x10f5, 0x7005, "Turtle Beach Recon Controller", 0, XTYPE_XBOXONE },
285
291
{ 0x11c9, 0x55f0, "Nacon GC-100XF", 0, XTYPE_XBOX360 },
286
292
{ 0x11ff, 0x0511, "PXN V900", 0, XTYPE_XBOX360 },
287
293
{ 0x1209, 0x2882, "Ardwiino Controller", 0, XTYPE_XBOX360 },
@@ -306,7 +312,7 @@ static const struct xpad_device {
306
312
{ 0x1689, 0xfe00, "Razer Sabertooth", 0, XTYPE_XBOX360 },
307
313
{ 0x17ef, 0x6182, "Lenovo Legion Controller for Windows", 0, XTYPE_XBOX360 },
308
314
{ 0x1949, 0x041a, "Amazon Game Controller", 0, XTYPE_XBOX360 },
309
- { 0x1a86, 0xe310, "QH Electronics Controller ", 0, XTYPE_XBOX360 },
315
+ { 0x1a86, 0xe310, "Legion Go S ", 0, XTYPE_XBOX360 },
310
316
{ 0x1bad, 0x0002, "Harmonix Rock Band Guitar", 0, XTYPE_XBOX360 },
311
317
{ 0x1bad, 0x0003, "Harmonix Rock Band Drumkit", MAP_DPAD_TO_BUTTONS, XTYPE_XBOX360 },
312
318
{ 0x1bad, 0x0130, "Ion Drum Rocker", MAP_DPAD_TO_BUTTONS, XTYPE_XBOX360 },
@@ -343,6 +349,7 @@ static const struct xpad_device {
343
349
{ 0x1bad, 0xfa01, "MadCatz GamePad", 0, XTYPE_XBOX360 },
344
350
{ 0x1bad, 0xfd00, "Razer Onza TE", 0, XTYPE_XBOX360 },
345
351
{ 0x1bad, 0xfd01, "Razer Onza", 0, XTYPE_XBOX360 },
352
+ { 0x1ee9, 0x1590, "ZOTAC Gaming Zone", 0, XTYPE_XBOX360 },
346
353
{ 0x20d6, 0x2001, "BDA Xbox Series X Wired Controller", 0, XTYPE_XBOXONE },
347
354
{ 0x20d6, 0x2009, "PowerA Enhanced Wired Controller for Xbox Series X|S", 0, XTYPE_XBOXONE },
348
355
{ 0x20d6, 0x281f, "PowerA Wired Controller For Xbox 360", 0, XTYPE_XBOX360 },
@@ -366,6 +373,7 @@ static const struct xpad_device {
366
373
{ 0x24c6, 0x5510, "Hori Fighting Commander ONE (Xbox 360/PC Mode)", MAP_TRIGGERS_TO_BUTTONS, XTYPE_XBOX360 },
367
374
{ 0x24c6, 0x551a, "PowerA FUSION Pro Controller", 0, XTYPE_XBOXONE },
368
375
{ 0x24c6, 0x561a, "PowerA FUSION Controller", 0, XTYPE_XBOXONE },
376
+ { 0x24c6, 0x581a, "ThrustMaster XB1 Classic Controller", 0, XTYPE_XBOXONE },
369
377
{ 0x24c6, 0x5b00, "ThrustMaster Ferrari 458 Racing Wheel", 0, XTYPE_XBOX360 },
370
378
{ 0x24c6, 0x5b02, "Thrustmaster, Inc. GPX Controller", 0, XTYPE_XBOX360 },
371
379
{ 0x24c6, 0x5b03, "Thrustmaster Ferrari 458 Racing Wheel", 0, XTYPE_XBOX360 },
@@ -374,22 +382,32 @@ static const struct xpad_device {
374
382
{ 0x2563, 0x058d, "OneXPlayer Gamepad", 0, XTYPE_XBOX360 },
375
383
{ 0x294b, 0x3303, "Snakebyte GAMEPAD BASE X", 0, XTYPE_XBOXONE },
376
384
{ 0x294b, 0x3404, "Snakebyte GAMEPAD RGB X", 0, XTYPE_XBOXONE },
385
+ { 0x2993, 0x2001, "TECNO Pocket Go", 0, XTYPE_XBOX360 },
377
386
{ 0x2dc8, 0x2000, "8BitDo Pro 2 Wired Controller fox Xbox", 0, XTYPE_XBOXONE },
378
387
{ 0x2dc8, 0x3106, "8BitDo Ultimate Wireless / Pro 2 Wired Controller", 0, XTYPE_XBOX360 },
388
+ { 0x2dc8, 0x3109, "8BitDo Ultimate Wireless Bluetooth", 0, XTYPE_XBOX360 },
379
389
{ 0x2dc8, 0x310a, "8BitDo Ultimate 2C Wireless Controller", 0, XTYPE_XBOX360 },
390
+ { 0x2dc8, 0x6001, "8BitDo SN30 Pro", 0, XTYPE_XBOX360 },
380
391
{ 0x2e24, 0x0652, "Hyperkin Duke X-Box One pad", 0, XTYPE_XBOXONE },
392
+ { 0x2e24, 0x1688, "Hyperkin X91 X-Box One pad", 0, XTYPE_XBOXONE },
393
+ { 0x2e95, 0x0504, "SCUF Gaming Controller", MAP_SELECT_BUTTON, XTYPE_XBOXONE },
381
394
{ 0x31e3, 0x1100, "Wooting One", 0, XTYPE_XBOX360 },
382
395
{ 0x31e3, 0x1200, "Wooting Two", 0, XTYPE_XBOX360 },
383
396
{ 0x31e3, 0x1210, "Wooting Lekker", 0, XTYPE_XBOX360 },
384
397
{ 0x31e3, 0x1220, "Wooting Two HE", 0, XTYPE_XBOX360 },
385
398
{ 0x31e3, 0x1230, "Wooting Two HE (ARM)", 0, XTYPE_XBOX360 },
386
399
{ 0x31e3, 0x1300, "Wooting 60HE (AVR)", 0, XTYPE_XBOX360 },
387
400
{ 0x31e3, 0x1310, "Wooting 60HE (ARM)", 0, XTYPE_XBOX360 },
401
+ { 0x3285, 0x0603, "Nacon Pro Compact controller for Xbox", 0, XTYPE_XBOXONE },
388
402
{ 0x3285, 0x0607, "Nacon GC-100", 0, XTYPE_XBOX360 },
403
+ { 0x3285, 0x0614, "Nacon Pro Compact", 0, XTYPE_XBOXONE },
389
404
{ 0x3285, 0x0646, "Nacon Pro Compact", 0, XTYPE_XBOXONE },
405
+ { 0x3285, 0x0662, "Nacon Revolution5 Pro", 0, XTYPE_XBOX360 },
390
406
{ 0x3285, 0x0663, "Nacon Evol-X", 0, XTYPE_XBOXONE },
391
407
{ 0x3537, 0x1004, "GameSir T4 Kaleid", 0, XTYPE_XBOX360 },
408
+ { 0x3537, 0x1010, "GameSir G7 SE", 0, XTYPE_XBOXONE },
392
409
{ 0x3767, 0x0101, "Fanatec Speedster 3 Forceshock Wheel", 0, XTYPE_XBOX },
410
+ { 0x413d, 0x2104, "Black Shark Green Ghost Gamepad", 0, XTYPE_XBOX360 },
393
411
{ 0xffff, 0xffff, "Chinese-made Xbox Controller", 0, XTYPE_XBOX },
394
412
{ 0x0000, 0x0000, "Generic X-Box pad", 0, XTYPE_UNKNOWN }
395
413
};
@@ -488,6 +506,7 @@ static const struct usb_device_id xpad_table[] = {
488
506
XPAD_XBOX360_VENDOR(0x03f0), /* HP HyperX Xbox 360 controllers */
489
507
XPAD_XBOXONE_VENDOR(0x03f0), /* HP HyperX Xbox One controllers */
490
508
XPAD_XBOX360_VENDOR(0x044f), /* Thrustmaster Xbox 360 controllers */
509
+ XPAD_XBOXONE_VENDOR(0x044f), /* Thrustmaster Xbox One controllers */
491
510
XPAD_XBOX360_VENDOR(0x045e), /* Microsoft Xbox 360 controllers */
492
511
XPAD_XBOXONE_VENDOR(0x045e), /* Microsoft Xbox One controllers */
493
512
XPAD_XBOX360_VENDOR(0x046d), /* Logitech Xbox 360-style controllers */
@@ -519,26 +538,30 @@ static const struct usb_device_id xpad_table[] = {
519
538
XPAD_XBOX360_VENDOR(0x1689), /* Razer Onza */
520
539
XPAD_XBOX360_VENDOR(0x17ef), /* Lenovo */
521
540
XPAD_XBOX360_VENDOR(0x1949), /* Amazon controllers */
522
- XPAD_XBOX360_VENDOR(0x1a86), /* QH Electronics */
541
+ XPAD_XBOX360_VENDOR(0x1a86), /* Nanjing Qinheng Microelectronics (WCH) */
523
542
XPAD_XBOX360_VENDOR(0x1bad), /* Harmonix Rock Band guitar and drums */
543
+ XPAD_XBOX360_VENDOR(0x1ee9), /* ZOTAC Technology Limited */
524
544
XPAD_XBOX360_VENDOR(0x20d6), /* PowerA controllers */
525
545
XPAD_XBOXONE_VENDOR(0x20d6), /* PowerA controllers */
526
546
XPAD_XBOX360_VENDOR(0x2345), /* Machenike Controllers */
527
547
XPAD_XBOX360_VENDOR(0x24c6), /* PowerA controllers */
528
548
XPAD_XBOXONE_VENDOR(0x24c6), /* PowerA controllers */
529
549
XPAD_XBOX360_VENDOR(0x2563), /* OneXPlayer Gamepad */
530
550
XPAD_XBOX360_VENDOR(0x260d), /* Dareu H101 */
531
- XPAD_XBOXONE_VENDOR(0x294b), /* Snakebyte */
551
+ XPAD_XBOXONE_VENDOR(0x294b), /* Snakebyte */
552
+ XPAD_XBOX360_VENDOR(0x2993), /* TECNO Mobile */
532
553
XPAD_XBOX360_VENDOR(0x2c22), /* Qanba Controllers */
533
- XPAD_XBOX360_VENDOR(0x2dc8), /* 8BitDo Pro 2 Wired Controller */
534
- XPAD_XBOXONE_VENDOR(0x2dc8), /* 8BitDo Pro 2 Wired Controller for Xbox */
535
- XPAD_XBOXONE_VENDOR(0x2e24), /* Hyperkin Duke Xbox One pad */
536
- XPAD_XBOX360_VENDOR(0x2f24), /* GameSir controllers */
554
+ XPAD_XBOX360_VENDOR(0x2dc8), /* 8BitDo Controllers */
555
+ XPAD_XBOXONE_VENDOR(0x2dc8), /* 8BitDo Controllers */
556
+ XPAD_XBOXONE_VENDOR(0x2e24), /* Hyperkin Controllers */
557
+ XPAD_XBOX360_VENDOR(0x2f24), /* GameSir Controllers */
558
+ XPAD_XBOXONE_VENDOR(0x2e95), /* SCUF Gaming Controller */
537
559
XPAD_XBOX360_VENDOR(0x31e3), /* Wooting Keyboards */
538
560
XPAD_XBOX360_VENDOR(0x3285), /* Nacon GC-100 */
539
561
XPAD_XBOXONE_VENDOR(0x3285), /* Nacon Evol-X */
540
562
XPAD_XBOX360_VENDOR(0x3537), /* GameSir Controllers */
541
563
XPAD_XBOXONE_VENDOR(0x3537), /* GameSir Controllers */
564
+ XPAD_XBOX360_VENDOR(0x413d), /* Black Shark Green Ghost Controller */
542
565
{ }
543
566
};
544
567
@@ -691,7 +714,9 @@ static const struct xboxone_init_packet xboxone_init_packets[] = {
691
714
XBOXONE_INIT_PKT(0x045e, 0x0b00, xboxone_s_init),
692
715
XBOXONE_INIT_PKT(0x045e, 0x0b00, extra_input_packet_init),
693
716
XBOXONE_INIT_PKT(0x0e6f, 0x0000, xboxone_pdp_led_on),
717
+ XBOXONE_INIT_PKT(0x20d6, 0xa01a, xboxone_pdp_led_on),
694
718
XBOXONE_INIT_PKT(0x0e6f, 0x0000, xboxone_pdp_auth),
719
+ XBOXONE_INIT_PKT(0x20d6, 0xa01a, xboxone_pdp_auth),
695
720
XBOXONE_INIT_PKT(0x24c6, 0x541a, xboxone_rumblebegin_init),
696
721
XBOXONE_INIT_PKT(0x24c6, 0x542a, xboxone_rumblebegin_init),
697
722
XBOXONE_INIT_PKT(0x24c6, 0x543a, xboxone_rumblebegin_init),
0 commit comments