{MAKE_CONTROLLER_ID(0x146b,0x0609),k_eControllerType_XInputPS4Controller,NULL},// NACON Wireless Controller for PS4
{MAKE_CONTROLLER_ID(0x146b,0x0d01),k_eControllerType_PS4Controller,NULL},// Nacon Revolution Pro Controller - has gyro
{MAKE_CONTROLLER_ID(0x146b,0x0d02),k_eControllerType_PS4Controller,NULL},// Nacon Revolution Pro Controller v2 - has gyro
{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
{MAKE_CONTROLLER_ID(0x146b,0x0d06),k_eControllerType_PS4Controller,NULL},// NACON Asymmetric Controller Wireless Dongle -- show up as ps4 until you connect controller to it then it reboots into Xbox controller with different vvid/pid
// { 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(0x054c,0x0e5f),k_eControllerType_PS5Controller,NULL},// Access Controller for PS5
{MAKE_CONTROLLER_ID(0x0e6f,0x0209),k_eControllerType_PS5Controller,NULL},// Victrix Pro FS PS4/PS5 (PS5 mode)
{MAKE_CONTROLLER_ID(0x0f0d,0x0163),k_eControllerType_PS5Controller,NULL},// HORI Fighting Commander OCTA
{MAKE_CONTROLLER_ID(0x0f0d,0x0184),k_eControllerType_PS5Controller,NULL},// Hori Fighting Stick α
{MAKE_CONTROLLER_ID(0x1532,0x100b),k_eControllerType_PS5Controller,NULL},// Razer Wolverine V2 Pro (Wired)
{MAKE_CONTROLLER_ID(0x1532,0x100c),k_eControllerType_PS5Controller,NULL},// Razer Wolverine V2 Pro (Wireless)
{MAKE_CONTROLLER_ID(0x1532,0x1024),k_eControllerType_PS5Controller,NULL},// Razer Raiju V3 Pro (PS5 mode wired)
{MAKE_CONTROLLER_ID(0x1532,0x1026),k_eControllerType_PS5Controller,NULL},// Razer Raiju V3 Pro (PS5 mode with dongle)
{MAKE_CONTROLLER_ID(0x3285,0x0d18),k_eControllerType_PS5Controller,NULL},// NACON Revolution 5 Pro (PS5 mode with dongle)
{MAKE_CONTROLLER_ID(0x3285,0x0d19),k_eControllerType_PS5Controller,NULL},// NACON Revolution 5 Pro (PS5 mode wired)
{MAKE_CONTROLLER_ID(0x358a,0x0104),k_eControllerType_PS5Controller,NULL},// Backbone One PlayStation Edition for iOS
{MAKE_CONTROLLER_ID(0x358a,0x0304),k_eControllerType_PS5Controller,NULL},// Backbone One PlayStation Edition Gen 2
{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,0x02a0),k_eControllerType_XBox360Controller,NULL},// Microsoft Xbox 360 Big Button IR
{MAKE_CONTROLLER_ID(0x045e,0x02a1),k_eControllerType_XBox360Controller,"Xbox 360 Wireless Controller"},// Microsoft Xbox 360 Wireless Controller with XUSB driver on Windows
{MAKE_CONTROLLER_ID(0x045e,0x02a2),k_eControllerType_XBox360Controller,"Xbox 360 Wireless Racing Wheel"},// Xbox 360 Wireless Racing Wheel with XUSB driver on Windows
{MAKE_CONTROLLER_ID(0x3537,0x103e),k_eControllerType_XBox360Controller,"Gamesir Xbox Controller"},// Gamesir dongle for Supernova (and maybe others) in Xinput mode
{MAKE_CONTROLLER_ID(0x24c6,0xfafe),k_eControllerType_XBox360Controller,NULL},// Rock Candy Gamepad for Xbox 360
{MAKE_CONTROLLER_ID(0x03f0,0x0495),k_eControllerType_XBoxOneController,NULL},// HP HyperX Clutch Gladiate
{MAKE_CONTROLLER_ID(0x044f,0xd012),k_eControllerType_XBoxOneController,NULL},// ThrustMaster eSwap PRO Controller Xbox
{MAKE_CONTROLLER_ID(0x045e,0x02d1),k_eControllerType_XBoxOneController,"Xbox One Controller"},// Microsoft X-Box One pad
{MAKE_CONTROLLER_ID(0x045e,0x02dd),k_eControllerType_XBoxOneController,"Xbox One Controller"},// Microsoft X-Box One pad (Firmware 2015)
{MAKE_CONTROLLER_ID(0x045e,0x02e0),k_eControllerType_XBoxOneController,"Xbox One S Controller"},// Microsoft X-Box One S pad (Bluetooth)
{MAKE_CONTROLLER_ID(0x045e,0x02e3),k_eControllerType_XBoxOneController,"Xbox One Elite Controller"},// Microsoft X-Box One Elite pad
{MAKE_CONTROLLER_ID(0x045e,0x02ea),k_eControllerType_XBoxOneController,"Xbox One S Controller"},// Microsoft X-Box One S pad
{MAKE_CONTROLLER_ID(0x045e,0x02fd),k_eControllerType_XBoxOneController,"Xbox One S Controller"},// Microsoft X-Box One S pad (Bluetooth)
{MAKE_CONTROLLER_ID(0x045e,0x02ff),k_eControllerType_XBoxOneController,NULL},// 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(0x045e,0x02d1),k_eControllerType_XBoxOneController,"Xbox One Controller"},// Microsoft Xbox One Controller
{MAKE_CONTROLLER_ID(0x045e,0x02dd),k_eControllerType_XBoxOneController,"Xbox One Controller"},// Microsoft Xbox One Controller (Firmware 2015)
{MAKE_CONTROLLER_ID(0x045e,0x02e0),k_eControllerType_XBoxOneController,"Xbox One S Controller"},// Microsoft Xbox One S Controller (Bluetooth)
{MAKE_CONTROLLER_ID(0x045e,0x02ea),k_eControllerType_XBoxOneController,"Xbox One S Controller"},// Microsoft Xbox One S Controller
{MAKE_CONTROLLER_ID(0x045e,0x02fd),k_eControllerType_XBoxOneController,"Xbox One S Controller"},// Microsoft Xbox One S Controller (Bluetooth)
{MAKE_CONTROLLER_ID(0x045e,0x02ff),k_eControllerType_XBoxOneController,"Xbox One Controller"},// Microsoft Xbox One Controller with XBOXGIP driver on Windows
{MAKE_CONTROLLER_ID(0x045e,0x0b0a),k_eControllerType_XBoxOneController,"Xbox Adaptive Controller"},// Microsoft Xbox Adaptive Controller
{MAKE_CONTROLLER_ID(0x045e,0x0b0c),k_eControllerType_XBoxOneController,"Xbox Adaptive Controller"},// Microsoft Xbox Adaptive Controller (Bluetooth)
{MAKE_CONTROLLER_ID(0x045e,0x0b12),k_eControllerType_XBoxOneController,"Xbox Series X Controller"},// Microsoft Xbox Series X Controller
{MAKE_CONTROLLER_ID(0x045e,0x0b13),k_eControllerType_XBoxOneController,"Xbox Series X Controller"},// Microsoft Xbox Series X Controller (BLE)
{MAKE_CONTROLLER_ID(0x045e,0x0b20),k_eControllerType_XBoxOneController,"Xbox One S Controller"},// Microsoft Xbox One S Controller (BLE)
{MAKE_CONTROLLER_ID(0x045e,0x0b21),k_eControllerType_XBoxOneController,"Xbox Adaptive Controller"},// Microsoft Xbox Adaptive Controller (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(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,0x2017),k_eControllerType_XBoxOneController,"PowerA Xbox Series X Controller"},// PowerA Xbox Series X EnWired Controller - 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
// 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(0x0f0d,0x00dc),k_eControllerType_XInputSwitchController,NULL},// HORIPAD S - Looks like a Switch controller but uses the Xbox 360 controller protocol, there is also a version of this that looks like a GameCube controller
{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,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(0x0e6f,0x018b),k_eControllerType_SwitchInputOnlyController,NULL},// PDP Afterglow Wave Wired/Wireless Controller for Switch
{MAKE_CONTROLLER_ID(0x0e6f,0x018c),k_eControllerType_SwitchProController,"PDP REALMz Wireless Controller"},// PDP REALMz Wireless Controller for Switch
{MAKE_CONTROLLER_ID(0x0e6f,0x0193),k_eControllerType_Switch2ProController,NULL},// Turtle Beach Afterglow Wireless RGB Gaming Controller for Nintendo Switch 2 and the Turtle Beach Rematch Wireless RGB Gaming Controller for Nintendo Switch 2
{MAKE_CONTROLLER_ID(0x0e6f,0x0196),k_eControllerType_Switch2InputOnlyController,NULL},// Turtle Beach Rematch Wired Controller for Nintendo Switch 2
{MAKE_CONTROLLER_ID(0x0e6f,0x0197),k_eControllerType_Switch2InputOnlyController,NULL},// Turtle Beach Afterglow Wave Wired Controller for Nintendo Switch 2
{MAKE_CONTROLLER_ID(0x0e6f,0x0198),k_eControllerType_Switch2InputOnlyController,NULL},// Turtle Beach Afterglow Wired Controller for Switch 2
{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,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
{MAKE_CONTROLLER_ID(0x20d6,0xa718),k_eControllerType_SwitchInputOnlyController,NULL},// PowerA Nintendo Switch Nano Wired Controller
{MAKE_CONTROLLER_ID(0x33dd,0x0001),k_eControllerType_SwitchInputOnlyController,NULL},// ZUIKI MasCon for Nintendo Switch Black
{MAKE_CONTROLLER_ID(0x33dd,0x0002),k_eControllerType_SwitchInputOnlyController,NULL},// ZUIKI MasCon for Nintendo Switch ??
{MAKE_CONTROLLER_ID(0x33dd,0x0003),k_eControllerType_SwitchInputOnlyController,NULL},// ZUIKI MasCon for Nintendo Switch Red
{MAKE_CONTROLLER_ID(0x0f0d,0x00f0),k_eControllerType_SwitchInputOnlyController,NULL},// HORI Taiko Controller For Switch
{MAKE_CONTROLLER_ID(0x054c,0x0df2),k_eControllerType_PS5EdgeController,NULL},// Sony DualSense Edge Controller
{MAKE_CONTROLLER_ID(0x045e,0x02e3),k_eControllerType_XBoxEliteController,"Xbox One Elite Controller"},// Microsoft Xbox One Elite Controller
{MAKE_CONTROLLER_ID(0x045e,0x0b00),k_eControllerType_XBoxEliteController,"Xbox One Elite 2 Controller"},// Microsoft Xbox One Elite Series 2 Controller
{MAKE_CONTROLLER_ID(0x045e,0x0b05),k_eControllerType_XBoxEliteController,"Xbox One Elite 2 Controller"},// Microsoft Xbox One Elite Series 2 Controller (Bluetooth)
{MAKE_CONTROLLER_ID(0x045e,0x0b22),k_eControllerType_XBoxEliteController,"Xbox One Elite 2 Controller"},// Microsoft Xbox One Elite Series 2 Controller (BLE)
{MAKE_CONTROLLER_ID(0x2dc8,0x6000),k_eControllerType_8BitDoController,"8Bitdo SF30 Controller"},// 8BitDo SF30 Pro Controller in Steam Mode
{MAKE_CONTROLLER_ID(0x2dc8,0x6100),k_eControllerType_8BitDoController,"8Bitdo SF30 Controller"},// 8BitDo SF30 Pro Controller in Steam Mode (Bluetooth)
{MAKE_CONTROLLER_ID(0x2dc8,0x6001),k_eControllerType_8BitDoController,"8Bitdo SN30 Controller"},// 8BitDo SN30 Pro Controller in Steam Mode
{MAKE_CONTROLLER_ID(0x2dc8,0x6101),k_eControllerType_8BitDoController,"8Bitdo SN30 Controller"},// 8BitDo SN30 Pro Controller in Steam Mode (Bluetooth)
{MAKE_CONTROLLER_ID(0x2dc8,0x6003),k_eControllerType_8BitDoController,"8Bitdo Pro 2 Controller"},// 8BitDo Pro 2 Controller in Steam Mode
{MAKE_CONTROLLER_ID(0x2dc8,0x6006),k_eControllerType_8BitDoController,"8Bitdo Pro 2 Controller"},// 8BitDo Pro 2 Controller in Steam Mode
{MAKE_CONTROLLER_ID(0x2dc8,0x6009),k_eControllerType_8BitDoController,"8Bitdo Pro 3 Controller"},// 8BitDo Pro 3 Controller in Steam Mode (Bluetooth)
k_eControllerType_XInputSwitchController=44,// Client-side only, used to mark Nintendo Switch style controllers as using XInput instead of the Nintendo Switch protocol
k_eControllerType_PS5Controller=45,
k_eControllerType_XInputPS4Controller=46,// Client-side only, used to mark DualShock 4 style controllers using XInput instead of the DualShock 4 controller protocol
k_eControllerType_XBoxEliteController=46,
k_eControllerType_XInputPS4Controller=47,// Client-side only, used to mark DualShock 4 style controllers using XInput instead of the DualShock 4 controller protocol
k_eControllerType_PS5EdgeController=48,
k_eControllerType_HoriSteamController=49,
k_eControllerType_8BitDoController=50,
k_eControllerType_Switch2ProController=51,
k_eControllerType_Switch2InputOnlyController=52,
k_eControllerType_LastController,// Don't add game controllers below this enumeration - this enumeration can change value
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.