@@ -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