{MAKE_CONTROLLER_ID(0x0738,0x3250),k_eControllerType_PS3Controller,NULL},// madcats fightpad pro ps3
{MAKE_CONTROLLER_ID(0x0738,0x3481),k_eControllerType_PS3Controller,NULL},// Mad Catz FightStick TE 2+ PS3
{MAKE_CONTROLLER_ID(0x0738,0x8180),k_eControllerType_PS3Controller,NULL},// Mad Catz Alpha PS4 mode (no touchpad on device)
{MAKE_CONTROLLER_ID(0x0738,0x8838),k_eControllerType_PS3Controller,NULL},// Madcatz Fightstick Pro
{MAKE_CONTROLLER_ID(0x0810,0x0001),k_eControllerType_PS3Controller,NULL},// actually ps2 - maybe break out later
{MAKE_CONTROLLER_ID(0x0810,0x0003),k_eControllerType_PS3Controller,NULL},// actually ps2 - maybe break out later
{MAKE_CONTROLLER_ID(0x0925,0x0005),k_eControllerType_PS3Controller,NULL},// Sony PS3 Controller
{MAKE_CONTROLLER_ID(0x0925,0x8866),k_eControllerType_PS3Controller,NULL},// PS2 maybe break out later
{MAKE_CONTROLLER_ID(0x0925,0x8888),k_eControllerType_PS3Controller,NULL},// Actually ps2 -maybe break out later Lakeview Research WiseGroup Ltd, MP-8866 Dual Joypad
{MAKE_CONTROLLER_ID(0x0e6f,0x0109),k_eControllerType_PS3Controller,NULL},// PDP Versus Fighting Pad
{MAKE_CONTROLLER_ID(0x0e6f,0x011e),k_eControllerType_PS3Controller,NULL},// Rock Candy PS4
{MAKE_CONTROLLER_ID(0x0e6f,0x0128),k_eControllerType_PS3Controller,NULL},// Rock Candy PS3
{MAKE_CONTROLLER_ID(0x0f0d,0x005f),k_eControllerType_PS3Controller,NULL},// HORI Fighting Commander 4 PS3
{MAKE_CONTROLLER_ID(0x0f0d,0x006a),k_eControllerType_PS3Controller,NULL},// Real Arcade Pro 4
{MAKE_CONTROLLER_ID(0x0f0d,0x006e),k_eControllerType_PS3Controller,NULL},// HORI horipad4 ps3
{MAKE_CONTROLLER_ID(0x0f0d,0x0085),k_eControllerType_PS3Controller,NULL},// HORI Fighting Commander PS3
{MAKE_CONTROLLER_ID(0x0f0d,0x0086),k_eControllerType_PS3Controller,NULL},// HORI Fighting Commander PC (Uses the Xbox 360 protocol, but has PS3 buttons)
{MAKE_CONTROLLER_ID(0x0f0d,0x0088),k_eControllerType_PS3Controller,NULL},// HORI Fighting Stick mini 4
{MAKE_CONTROLLER_ID(0x8888,0x0308),k_eControllerType_PS3Controller,NULL},// Sony PS3 Controller
{MAKE_CONTROLLER_ID(0x0079,0x181b),k_eControllerType_PS4Controller,NULL},// Venom Arcade Stick - XXX:this may not work and may need to be called a ps3 controller
{MAKE_CONTROLLER_ID(0x044f,0xd00e),k_eControllerType_PS4Controller,NULL},// Thrustmaster Eswap Pro - No gyro and lightbar doesn't change color. Works otherwise
{MAKE_CONTROLLER_ID(0x054c,0x05c4),k_eControllerType_PS4Controller,NULL},// Sony PS4 Controller
{MAKE_CONTROLLER_ID(0x0c12,0x0e20),k_eControllerType_PS4Controller,NULL},// Brook Mars Controller - needs FW update to show up as Ps4 controller on PC. Has Gyro but touchpad is a single button.
{MAKE_CONTROLLER_ID(0x0f0d,0x005e),k_eControllerType_PS4Controller,NULL},// HORI Fighting Commander 4 PS4
{MAKE_CONTROLLER_ID(0x0f0d,0x0066),k_eControllerType_PS4Controller,NULL},// HORIPAD 4 FPS Plus
{MAKE_CONTROLLER_ID(0x0f0d,0x0084),k_eControllerType_PS4Controller,NULL},// HORI Fighting Commander PS4
{MAKE_CONTROLLER_ID(0x0f0d,0x0087),k_eControllerType_PS4Controller,NULL},// HORI Fighting Stick mini 4
{MAKE_CONTROLLER_ID(0x0f0d,0x008a),k_eControllerType_PS4Controller,NULL},// HORI Real Arcade Pro 4
{MAKE_CONTROLLER_ID(0x0f0d,0x009c),k_eControllerType_PS4Controller,NULL},// HORI TAC PRO mousething
{MAKE_CONTROLLER_ID(0x0f0d,0x00a0),k_eControllerType_PS4Controller,NULL},// HORI TAC4 mousething
{MAKE_CONTROLLER_ID(0x0f0d,0x00ed),k_eControllerType_XInputPS4Controller,NULL},// Hori Fighting Stick mini 4 kai - becomes an Xbox 360 controller on PC
{MAKE_CONTROLLER_ID(0x0f0d,0x00ee),k_eControllerType_PS4Controller,NULL},// Hori mini wired https://www.playstation.com/en-us/explore/accessories/gaming-controllers/mini-wired-gamepad/
{MAKE_CONTROLLER_ID(0x0f0d,0x011c),k_eControllerType_PS4Controller,NULL},// Hori Fighting Stick α
{MAKE_CONTROLLER_ID(0x0f0d,0x0123),k_eControllerType_PS4Controller,NULL},// HORI Wireless Controller Light (Japan only) - only over bt- over usb is xbox and pid 0x0124
{MAKE_CONTROLLER_ID(0x0f0d,0x0162),k_eControllerType_PS4Controller,NULL},// HORI Fighting Commander OCTA
{MAKE_CONTROLLER_ID(0x0f0d,0x0164),k_eControllerType_XInputPS4Controller,NULL},// HORI Fighting Commander OCTA
{MAKE_CONTROLLER_ID(0x11c0,0x4001),k_eControllerType_PS4Controller,NULL},// "PS4 Fun Controller" added from user log
{MAKE_CONTROLLER_ID(0x146b,0x0605),k_eControllerType_XInputPS4Controller,NULL},// NACON PS4 controller in Xbox mode - might also be other bigben brand xbox controllers
{MAKE_CONTROLLER_ID(0x146b,0x0d06),k_eControllerType_PS4Controller,NULL},// NACON Asymetrical Controller Wireless Dongle -- show up as ps4 until you connect controller to it then it reboots into Xbox controller with different vvid/pid
// Removing the Giotek because there were a bunch of help tickets from users w/ issues including from non-PS4 controller users. This VID/PID is probably used in different FW's
// { MAKE_CONTROLLER_ID( 0x7545, 0x1122 ), k_eControllerType_PS4Controller, NULL }, // Giotek VX4 - trackpad/gyro don't work. Had to not filter on interface info. Light bar is flaky, but works.
{MAKE_CONTROLLER_ID(0x054c,0x0ce6),k_eControllerType_PS5Controller,NULL},// Sony DualSense Controller
{MAKE_CONTROLLER_ID(0x054c,0x0df2),k_eControllerType_PS5Controller,NULL},// Sony DualSense Edge Controller
{MAKE_CONTROLLER_ID(0x358a,0x0104),k_eControllerType_PS5Controller,NULL},// Backbone One PlayStation Edition for iOS
{MAKE_CONTROLLER_ID(0x0079,0x0006),k_eControllerType_UnknownNonSteamController,NULL},// DragonRise Generic USB PCB, sometimes configured as a PC Twin Shock Controller - looks like a DS3 but the face buttons are 1-4 instead of symbols
{MAKE_CONTROLLER_ID(0x045e,0x02a1),k_eControllerType_XBox360Controller,"Xbox 360 Wireless Controller"},// Xbox 360 Wireless Controller with XUSB driver on Windows
{MAKE_CONTROLLER_ID(0x045e,0x02ff),k_eControllerType_XBoxOneController,"Xbox One Controller"},// Microsoft X-Box One controller with XBOXGIP driver on Windows
{MAKE_CONTROLLER_ID(0x045e,0x0b00),k_eControllerType_XBoxOneController,"Xbox One Elite 2 Controller"},// Microsoft X-Box One Elite Series 2 pad
// { MAKE_CONTROLLER_ID( 0x045e, 0x0b02 ), k_eControllerType_XBoxOneController, "Xbox One Elite 2 Controller" }, // The virtual keyboard generated by XboxGip drivers for Xbox One Controllers (see https://github.com/libsdl-org/SDL/pull/5121 for details)
{MAKE_CONTROLLER_ID(0x045e,0x0b05),k_eControllerType_XBoxOneController,"Xbox One Elite 2 Controller"},// Microsoft X-Box One Elite Series 2 pad (Bluetooth)
{MAKE_CONTROLLER_ID(0x045e,0x0b0a),k_eControllerType_XBoxOneController,"Xbox Adaptive Controller"},// Microsoft X-Box Adaptive pad
{MAKE_CONTROLLER_ID(0x045e,0x0b0c),k_eControllerType_XBoxOneController,"Xbox Adaptive Controller"},// Microsoft X-Box Adaptive pad (Bluetooth)
{MAKE_CONTROLLER_ID(0x045e,0x0b12),k_eControllerType_XBoxOneController,"Xbox Series X Controller"},// Microsoft X-Box Series X pad
{MAKE_CONTROLLER_ID(0x045e,0x0b13),k_eControllerType_XBoxOneController,"Xbox Series X Controller"},// Microsoft X-Box Series X pad (BLE)
{MAKE_CONTROLLER_ID(0x045e,0x0b20),k_eControllerType_XBoxOneController,"Xbox One S Controller"},// Microsoft X-Box One S pad (BLE)
{MAKE_CONTROLLER_ID(0x045e,0x0b21),k_eControllerType_XBoxOneController,"Xbox Adaptive Controller"},// Microsoft X-Box Adaptive pad (BLE)
{MAKE_CONTROLLER_ID(0x045e,0x0b22),k_eControllerType_XBoxOneController,"Xbox One Elite 2 Controller"},// Microsoft X-Box One Elite Series 2 pad (BLE)
{MAKE_CONTROLLER_ID(0x0738,0x4a01),k_eControllerType_XBoxOneController,NULL},// Mad Catz FightStick TE 2
{MAKE_CONTROLLER_ID(0x0e6f,0x0139),k_eControllerType_XBoxOneController,"PDP Xbox One Afterglow"},// PDP Afterglow Wired Controller for Xbox One
{MAKE_CONTROLLER_ID(0x0e6f,0x013B),k_eControllerType_XBoxOneController,"PDP Xbox One Face-Off Controller"},// PDP Face-Off Gamepad for Xbox One
{MAKE_CONTROLLER_ID(0x0e6f,0x013a),k_eControllerType_XBoxOneController,NULL},// PDP Xbox One Controller (unlisted)
{MAKE_CONTROLLER_ID(0x0e6f,0x0145),k_eControllerType_XBoxOneController,"PDP MK X Fight Pad"},// PDP MK X Fight Pad for Xbox One
{MAKE_CONTROLLER_ID(0x0e6f,0x0146),k_eControllerType_XBoxOneController,"PDP Xbox One Rock Candy"},// PDP Rock Candy Wired Controller for Xbox One
{MAKE_CONTROLLER_ID(0x0e6f,0x015b),k_eControllerType_XBoxOneController,"PDP Fallout 4 Vault Boy Controller"},// PDP Fallout 4 Vault Boy Wired Controller for Xbox One
{MAKE_CONTROLLER_ID(0x0e6f,0x015c),k_eControllerType_XBoxOneController,"PDP Xbox One @Play Controller"},// PDP @Play Wired Controller for Xbox One
{MAKE_CONTROLLER_ID(0x0e6f,0x015d),k_eControllerType_XBoxOneController,"PDP Mirror's Edge Controller"},// PDP Mirror's Edge Wired Controller for Xbox One
{MAKE_CONTROLLER_ID(0x0e6f,0x015f),k_eControllerType_XBoxOneController,"PDP Metallic Controller"},// PDP Metallic Wired Controller for Xbox One
{MAKE_CONTROLLER_ID(0x0e6f,0x0160),k_eControllerType_XBoxOneController,"PDP NFL Face-Off Controller"},// PDP NFL Official Face-Off Wired Controller for Xbox One
{MAKE_CONTROLLER_ID(0x0e6f,0x0161),k_eControllerType_XBoxOneController,"PDP Xbox One Camo"},// PDP Camo Wired Controller for Xbox One
{MAKE_CONTROLLER_ID(0x0e6f,0x0162),k_eControllerType_XBoxOneController,"PDP Xbox One Controller"},// PDP Wired Controller for Xbox One
{MAKE_CONTROLLER_ID(0x0e6f,0x0163),k_eControllerType_XBoxOneController,"PDP Deliverer of Truth"},// PDP Legendary Collection: Deliverer of Truth
{MAKE_CONTROLLER_ID(0x0e6f,0x0164),k_eControllerType_XBoxOneController,"PDP Battlefield 1 Controller"},// PDP Battlefield 1 Official Wired Controller for Xbox One
{MAKE_CONTROLLER_ID(0x0e6f,0x0165),k_eControllerType_XBoxOneController,"PDP Titanfall 2 Controller"},// PDP Titanfall 2 Official Wired Controller for Xbox One
{MAKE_CONTROLLER_ID(0x0e6f,0x0166),k_eControllerType_XBoxOneController,"PDP Mass Effect: Andromeda Controller"},// PDP Mass Effect: Andromeda Official Wired Controller for Xbox One
{MAKE_CONTROLLER_ID(0x0e6f,0x0167),k_eControllerType_XBoxOneController,"PDP Halo Wars 2 Face-Off Controller"},// PDP Halo Wars 2 Official Face-Off Wired Controller for Xbox One
{MAKE_CONTROLLER_ID(0x0e6f,0x0205),k_eControllerType_XBoxOneController,"PDP Victrix Pro Fight Stick"},// PDP Victrix Pro Fight Stick
{MAKE_CONTROLLER_ID(0x0e6f,0x0246),k_eControllerType_XBoxOneController,"PDP Xbox One Rock Candy"},// PDP Rock Candy Wired Controller for Xbox One
{MAKE_CONTROLLER_ID(0x0e6f,0x0261),k_eControllerType_XBoxOneController,"PDP Xbox One Camo"},// PDP Camo Wired Controller
{MAKE_CONTROLLER_ID(0x0e6f,0x0262),k_eControllerType_XBoxOneController,"PDP Xbox One Controller"},// PDP Wired Controller
{MAKE_CONTROLLER_ID(0x0e6f,0x02a0),k_eControllerType_XBoxOneController,"PDP Xbox One Midnight Blue"},// PDP Wired Controller for Xbox One - Midnight Blue
{MAKE_CONTROLLER_ID(0x0e6f,0x02a1),k_eControllerType_XBoxOneController,"PDP Xbox One Verdant Green"},// PDP Wired Controller for Xbox One - Verdant Green
{MAKE_CONTROLLER_ID(0x0e6f,0x02a2),k_eControllerType_XBoxOneController,"PDP Xbox One Crimson Red"},// PDP Wired Controller for Xbox One - Crimson Red
{MAKE_CONTROLLER_ID(0x0e6f,0x02a3),k_eControllerType_XBoxOneController,"PDP Xbox One Arctic White"},// PDP Wired Controller for Xbox One - Arctic White
{MAKE_CONTROLLER_ID(0x0e6f,0x02a4),k_eControllerType_XBoxOneController,"PDP Xbox One Phantom Black"},// PDP Wired Controller for Xbox One - Stealth Series | Phantom Black
{MAKE_CONTROLLER_ID(0x0e6f,0x02a5),k_eControllerType_XBoxOneController,"PDP Xbox One Ghost White"},// PDP Wired Controller for Xbox One - Stealth Series | Ghost White
{MAKE_CONTROLLER_ID(0x0e6f,0x02a6),k_eControllerType_XBoxOneController,"PDP Xbox One Revenant Blue"},// PDP Wired Controller for Xbox One - Stealth Series | Revenant Blue
{MAKE_CONTROLLER_ID(0x0e6f,0x02a7),k_eControllerType_XBoxOneController,"PDP Xbox One Raven Black"},// PDP Wired Controller for Xbox One - Raven Black
{MAKE_CONTROLLER_ID(0x0e6f,0x02a8),k_eControllerType_XBoxOneController,"PDP Xbox One Arctic White"},// PDP Wired Controller for Xbox One - Arctic White
{MAKE_CONTROLLER_ID(0x0e6f,0x02a9),k_eControllerType_XBoxOneController,"PDP Xbox One Midnight Blue"},// PDP Wired Controller for Xbox One - Midnight Blue
{MAKE_CONTROLLER_ID(0x0e6f,0x02aa),k_eControllerType_XBoxOneController,"PDP Xbox One Verdant Green"},// PDP Wired Controller for Xbox One - Verdant Green
{MAKE_CONTROLLER_ID(0x0e6f,0x02ab),k_eControllerType_XBoxOneController,"PDP Xbox One Crimson Red"},// PDP Wired Controller for Xbox One - Crimson Red
{MAKE_CONTROLLER_ID(0x0e6f,0x02ac),k_eControllerType_XBoxOneController,"PDP Xbox One Ember Orange"},// PDP Wired Controller for Xbox One - Ember Orange
{MAKE_CONTROLLER_ID(0x0e6f,0x02ad),k_eControllerType_XBoxOneController,"PDP Xbox One Phantom Black"},// PDP Wired Controller for Xbox One - Stealth Series | Phantom Black
{MAKE_CONTROLLER_ID(0x0e6f,0x02ae),k_eControllerType_XBoxOneController,"PDP Xbox One Ghost White"},// PDP Wired Controller for Xbox One - Stealth Series | Ghost White
{MAKE_CONTROLLER_ID(0x0e6f,0x02af),k_eControllerType_XBoxOneController,"PDP Xbox One Revenant Blue"},// PDP Wired Controller for Xbox One - Stealth Series | Revenant Blue
{MAKE_CONTROLLER_ID(0x0e6f,0x02b0),k_eControllerType_XBoxOneController,"PDP Xbox One Raven Black"},// PDP Wired Controller for Xbox One - Raven Black
{MAKE_CONTROLLER_ID(0x0e6f,0x02b1),k_eControllerType_XBoxOneController,"PDP Xbox One Arctic White"},// PDP Wired Controller for Xbox One - Arctic White
{MAKE_CONTROLLER_ID(0x0e6f,0x02b3),k_eControllerType_XBoxOneController,"PDP Xbox One Afterglow"},// PDP Afterglow Prismatic Wired Controller
{MAKE_CONTROLLER_ID(0x0e6f,0x02b5),k_eControllerType_XBoxOneController,"PDP Xbox One GAMEware Controller"},// PDP GAMEware Wired Controller Xbox One
{MAKE_CONTROLLER_ID(0x0e6f,0x02bd),k_eControllerType_XBoxOneController,"PDP Xbox One Royal Purple"},// PDP Wired Controller for Xbox One - Royal Purple
{MAKE_CONTROLLER_ID(0x0e6f,0x02be),k_eControllerType_XBoxOneController,"PDP Xbox One Raven Black"},// PDP Deluxe Wired Controller for Xbox One - Raven Black
{MAKE_CONTROLLER_ID(0x0e6f,0x02bf),k_eControllerType_XBoxOneController,"PDP Xbox One Midnight Blue"},// PDP Deluxe Wired Controller for Xbox One - Midnight Blue
{MAKE_CONTROLLER_ID(0x0e6f,0x02c0),k_eControllerType_XBoxOneController,"PDP Xbox One Phantom Black"},// PDP Deluxe Wired Controller for Xbox One - Stealth Series | Phantom Black
{MAKE_CONTROLLER_ID(0x0e6f,0x02c1),k_eControllerType_XBoxOneController,"PDP Xbox One Ghost White"},// PDP Deluxe Wired Controller for Xbox One - Stealth Series | Ghost White
{MAKE_CONTROLLER_ID(0x0e6f,0x02c2),k_eControllerType_XBoxOneController,"PDP Xbox One Revenant Blue"},// PDP Deluxe Wired Controller for Xbox One - Stealth Series | Revenant Blue
{MAKE_CONTROLLER_ID(0x0e6f,0x02c3),k_eControllerType_XBoxOneController,"PDP Xbox One Verdant Green"},// PDP Deluxe Wired Controller for Xbox One - Verdant Green
{MAKE_CONTROLLER_ID(0x0e6f,0x02c4),k_eControllerType_XBoxOneController,"PDP Xbox One Ember Orange"},// PDP Deluxe Wired Controller for Xbox One - Ember Orange
{MAKE_CONTROLLER_ID(0x0e6f,0x02c5),k_eControllerType_XBoxOneController,"PDP Xbox One Royal Purple"},// PDP Deluxe Wired Controller for Xbox One - Royal Purple
{MAKE_CONTROLLER_ID(0x0e6f,0x02c6),k_eControllerType_XBoxOneController,"PDP Xbox One Crimson Red"},// PDP Deluxe Wired Controller for Xbox One - Crimson Red
{MAKE_CONTROLLER_ID(0x0e6f,0x02c7),k_eControllerType_XBoxOneController,"PDP Xbox One Arctic White"},// PDP Deluxe Wired Controller for Xbox One - Arctic White
{MAKE_CONTROLLER_ID(0x0e6f,0x02c9),k_eControllerType_XBoxOneController,"PDP Xbox One Phantasm Red"},// PDP Deluxe Wired Controller for Xbox One - Stealth Series | Phantasm Red
{MAKE_CONTROLLER_ID(0x0e6f,0x02ca),k_eControllerType_XBoxOneController,"PDP Xbox One Specter Violet"},// PDP Deluxe Wired Controller for Xbox One - Stealth Series | Specter Violet
{MAKE_CONTROLLER_ID(0x0e6f,0x02cb),k_eControllerType_XBoxOneController,"PDP Xbox One Specter Violet"},// PDP Wired Controller for Xbox One - Stealth Series | Specter Violet
{MAKE_CONTROLLER_ID(0x0e6f,0x02cd),k_eControllerType_XBoxOneController,"PDP Xbox One Blu-merang"},// PDP Rock Candy Wired Controller for Xbox One - Blu-merang
{MAKE_CONTROLLER_ID(0x0e6f,0x02ce),k_eControllerType_XBoxOneController,"PDP Xbox One Cranblast"},// PDP Rock Candy Wired Controller for Xbox One - Cranblast
{MAKE_CONTROLLER_ID(0x0e6f,0x02cf),k_eControllerType_XBoxOneController,"PDP Xbox One Aqualime"},// PDP Rock Candy Wired Controller for Xbox One - Aqualime
{MAKE_CONTROLLER_ID(0x0e6f,0x02d5),k_eControllerType_XBoxOneController,"PDP Xbox One Red Camo"},// PDP Wired Controller for Xbox One - Red Camo
{MAKE_CONTROLLER_ID(0x0e6f,0x0346),k_eControllerType_XBoxOneController,"PDP Xbox One RC Gamepad"},// PDP RC Gamepad for Xbox One
{MAKE_CONTROLLER_ID(0x0e6f,0x0446),k_eControllerType_XBoxOneController,"PDP Xbox One RC Gamepad"},// PDP RC Gamepad for Xbox One
{MAKE_CONTROLLER_ID(0x0e6f,0x02da),k_eControllerType_XBoxOneController,"PDP Xbox Series X Afterglow"},// PDP Xbox Series X Afterglow
{MAKE_CONTROLLER_ID(0x20d6,0x2001),k_eControllerType_XBoxOneController,"PowerA Xbox Series X Controller"},// PowerA Xbox Series X EnWired Controller - Black Inline
{MAKE_CONTROLLER_ID(0x20d6,0x2002),k_eControllerType_XBoxOneController,"PowerA Xbox Series X Controller"},// PowerA Xbox Series X EnWired Controller Gray/White Inline
{MAKE_CONTROLLER_ID(0x20d6,0x2003),k_eControllerType_XBoxOneController,"PowerA Xbox Series X Controller"},// PowerA Xbox Series X EnWired Controller Green Inline
{MAKE_CONTROLLER_ID(0x20d6,0x2004),k_eControllerType_XBoxOneController,"PowerA Xbox Series X Controller"},// PowerA Xbox Series X EnWired Controller Pink inline
{MAKE_CONTROLLER_ID(0x20d6,0x2005),k_eControllerType_XBoxOneController,"PowerA Xbox Series X Controller"},// PowerA Xbox Series X Wired Controller Core - Black
{MAKE_CONTROLLER_ID(0x20d6,0x2006),k_eControllerType_XBoxOneController,"PowerA Xbox Series X Controller"},// PowerA Xbox Series X Wired Controller Core - White
{MAKE_CONTROLLER_ID(0x20d6,0x2009),k_eControllerType_XBoxOneController,"PowerA Xbox Series X Controller"},// PowerA Xbox Series X EnWired Controller Red inline
{MAKE_CONTROLLER_ID(0x20d6,0x200a),k_eControllerType_XBoxOneController,"PowerA Xbox Series X Controller"},// PowerA Xbox Series X EnWired Controller Blue inline
{MAKE_CONTROLLER_ID(0x20d6,0x200b),k_eControllerType_XBoxOneController,"PowerA Xbox Series X Controller"},// PowerA Xbox Series X EnWired Controller Camo Metallic Red
{MAKE_CONTROLLER_ID(0x20d6,0x200c),k_eControllerType_XBoxOneController,"PowerA Xbox Series X Controller"},// PowerA Xbox Series X EnWired Controller Camo Metallic Blue
{MAKE_CONTROLLER_ID(0x20d6,0x200d),k_eControllerType_XBoxOneController,"PowerA Xbox Series X Controller"},// PowerA Xbox Series X EnWired Controller Seafoam Fade
{MAKE_CONTROLLER_ID(0x20d6,0x200e),k_eControllerType_XBoxOneController,"PowerA Xbox Series X Controller"},// PowerA Xbox Series X EnWired Controller Midnight Blue
{MAKE_CONTROLLER_ID(0x20d6,0x200f),k_eControllerType_XBoxOneController,"PowerA Xbox Series X Controller"},// PowerA Xbox Series X EnWired Soldier Green
{MAKE_CONTROLLER_ID(0x20d6,0x2011),k_eControllerType_XBoxOneController,"PowerA Xbox Series X Controller"},// PowerA Xbox Series X EnWired - Metallic Ice
{MAKE_CONTROLLER_ID(0x20d6,0x2012),k_eControllerType_XBoxOneController,"PowerA Xbox Series X Controller"},// PowerA Xbox Series X Cuphead EnWired Controller - Mugman
{MAKE_CONTROLLER_ID(0x20d6,0x2015),k_eControllerType_XBoxOneController,"PowerA Xbox Series X Controller"},// PowerA Xbox Series X EnWired Controller - Blue Hint
{MAKE_CONTROLLER_ID(0x20d6,0x2016),k_eControllerType_XBoxOneController,"PowerA Xbox Series X Controller"},// PowerA Xbox Series X EnWired Controller - Green Hint
{MAKE_CONTROLLER_ID(0x20d6,0x2017),k_eControllerType_XBoxOneController,"PowerA Xbox Series X Controller"},// PowerA Xbox Series X EnWired Cntroller - Arctic Camo
{MAKE_CONTROLLER_ID(0x20d6,0x2018),k_eControllerType_XBoxOneController,"PowerA Xbox Series X Controller"},// PowerA Xbox Series X EnWired Controller Arc Lightning
{MAKE_CONTROLLER_ID(0x20d6,0x2019),k_eControllerType_XBoxOneController,"PowerA Xbox Series X Controller"},// PowerA Xbox Series X EnWired Controller Royal Purple
{MAKE_CONTROLLER_ID(0x20d6,0x201a),k_eControllerType_XBoxOneController,"PowerA Xbox Series X Controller"},// PowerA Xbox Series X EnWired Controller Nebula
{MAKE_CONTROLLER_ID(0x20d6,0x4001),k_eControllerType_XBoxOneController,"PowerA Fusion Pro 2 Controller"},// PowerA Fusion Pro 2 Wired Controller (Xbox Series X style)
{MAKE_CONTROLLER_ID(0x20d6,0x4002),k_eControllerType_XBoxOneController,"PowerA Spectra Infinity Controller"},// PowerA Spectra Infinity Wired Controller (Xbox Series X style)
{MAKE_CONTROLLER_ID(0x24c6,0x541a),k_eControllerType_XBoxOneController,NULL},// PowerA Xbox One Mini Wired Controller
{MAKE_CONTROLLER_ID(0x24c6,0x542a),k_eControllerType_XBoxOneController,NULL},// Xbox ONE spectra
{MAKE_CONTROLLER_ID(0x24c6,0x543a),k_eControllerType_XBoxOneController,"PowerA Xbox One Controller"},// PowerA Xbox ONE liquid metal controller
{MAKE_CONTROLLER_ID(0x24c6,0x551a),k_eControllerType_XBoxOneController,NULL},// PowerA FUSION Pro Controller
//{ MAKE_CONTROLLER_ID( 0x057e, 0x201e ), k_eControllerType_SwitchProController, NULL }, // Nintendo Online SEGA Genesis Controller
{MAKE_CONTROLLER_ID(0x0f0d,0x00c1),k_eControllerType_SwitchInputOnlyController,NULL},// HORIPAD for Nintendo Switch
{MAKE_CONTROLLER_ID(0x0f0d,0x0092),k_eControllerType_SwitchInputOnlyController,NULL},// HORI Pokken Tournament DX Pro Pad
{MAKE_CONTROLLER_ID(0x0f0d,0x00f6),k_eControllerType_SwitchProController,NULL},// HORI Wireless Switch Pad
// The HORIPAD S, which comes in multiple styles:
// - NSW-108, classic GameCube controller
// - NSW-244, Fighting Commander arcade pad
// - NSW-278, Hori Pad Mini gamepad
// - NSW-326, HORIPAD FPS for Nintendo Switch
//
// The first two, at least, shouldn't have their buttons remapped, and since we
// can't tell which model we're actually using, we won't do any button remapping
// for any of them.
{MAKE_CONTROLLER_ID(0x0f0d,0x00dc),k_eControllerType_XInputSwitchController,NULL},// HORIPAD S - Looks like a Switch controller but uses the Xbox 360 controller protocol
{MAKE_CONTROLLER_ID(0x0e6f,0x0180),k_eControllerType_SwitchInputOnlyController,NULL},// PDP Faceoff Wired Pro Controller for Nintendo Switch
{MAKE_CONTROLLER_ID(0x0e6f,0x0181),k_eControllerType_SwitchInputOnlyController,NULL},// PDP Faceoff Deluxe Wired Pro Controller for Nintendo Switch
{MAKE_CONTROLLER_ID(0x0e6f,0x0185),k_eControllerType_SwitchInputOnlyController,NULL},// PDP Wired Fight Pad Pro for Nintendo Switch
{MAKE_CONTROLLER_ID(0x0e6f,0x0186),k_eControllerType_SwitchProController,NULL},// PDP Afterglow Wireless Switch Controller - working gyro. USB is for charging only. Many later "Wireless" line devices w/ gyro also use this vid/pid
{MAKE_CONTROLLER_ID(0x0f0d,0x00aa),k_eControllerType_SwitchInputOnlyController,NULL},// HORI Real Arcade Pro V Hayabusa in Switch Mode
{MAKE_CONTROLLER_ID(0x20d6,0xa711),k_eControllerType_SwitchInputOnlyController,NULL},// PowerA Wired Controller Plus/PowerA Wired Controller Nintendo GameCube Style
{MAKE_CONTROLLER_ID(0x20d6,0xa712),k_eControllerType_SwitchInputOnlyController,NULL},// PowerA Nintendo Switch Fusion Fight Pad
{MAKE_CONTROLLER_ID(0x20d6,0xa713),k_eControllerType_SwitchInputOnlyController,NULL},// PowerA Super Mario Controller
{MAKE_CONTROLLER_ID(0x20d6,0xa714),k_eControllerType_SwitchInputOnlyController,NULL},// PowerA Nintendo Switch Spectra Controller
{MAKE_CONTROLLER_ID(0x20d6,0xa715),k_eControllerType_SwitchInputOnlyController,NULL},// Power A Fusion Wireless Arcade Stick (USB Mode) Over BT is shows up as 057e 2009
{MAKE_CONTROLLER_ID(0x20d6,0xa716),k_eControllerType_SwitchInputOnlyController,NULL},// PowerA Nintendo Switch Fusion Pro Controller - USB requires toggling switch on back of device
// Valve products
{MAKE_CONTROLLER_ID(0x0000,0x11fb),k_eControllerType_MobileTouch,NULL},// Streaming mobile touch virtual controls