1/*
2 Simple DirectMedia Layer
3 Copyright (C) 1997-2021 Sam Lantinga <slouken@libsdl.org>
4
5 This software is provided 'as-is', without any express or implied
6 warranty. In no event will the authors be held liable for any damages
7 arising from the use of this software.
8
9 Permission is granted to anyone to use this software for any purpose,
10 including commercial applications, and to alter it and redistribute it
11 freely, subject to the following restrictions:
12
13 1. The origin of this software must not be misrepresented; you must not
14 claim that you wrote the original software. If you use this software
15 in a product, an acknowledgment in the product documentation would be
16 appreciated but is not required.
17 2. Altered source versions must be plainly marked as such, and must not be
18 misrepresented as being the original software.
19 3. This notice may not be removed or altered from any source distribution.
20*/
21
22#ifndef usb_ids_h_
23#define usb_ids_h_
24
25/* Definitions of useful USB VID/PID values */
26
27#define USB_VENDOR_APPLE 0x05ac
28#define USB_VENDOR_GOOGLE 0x18d1
29#define USB_VENDOR_HYPERKIN 0x2e24
30#define USB_VENDOR_MICROSOFT 0x045e
31#define USB_VENDOR_NINTENDO 0x057e
32#define USB_VENDOR_NVIDIA 0x0955
33#define USB_VENDOR_PDP 0x0e6f
34#define USB_VENDOR_POWERA_ALT 0x20d6
35#define USB_VENDOR_POWERA 0x24c6
36#define USB_VENDOR_RAZER 0x1532
37#define USB_VENDOR_SHENZHEN 0x0079
38#define USB_VENDOR_SONY 0x054c
39#define USB_VENDOR_VALVE 0x28de
40
41#define USB_PRODUCT_GOOGLE_STADIA_CONTROLLER 0x9400
42#define USB_PRODUCT_EVORETRO_GAMECUBE_ADAPTER 0x1846
43#define USB_PRODUCT_NINTENDO_GAMECUBE_ADAPTER 0x0337
44#define USB_PRODUCT_NINTENDO_SWITCH_PRO 0x2009
45#define USB_PRODUCT_NINTENDO_SWITCH_JOY_CON_LEFT 0x2006
46#define USB_PRODUCT_NINTENDO_SWITCH_JOY_CON_RIGHT 0x2007
47#define USB_PRODUCT_RAZER_PANTHERA 0x0401
48#define USB_PRODUCT_RAZER_PANTHERA_EVO 0x1008
49#define USB_PRODUCT_RAZER_ATROX 0x0a00
50#define USB_PRODUCT_SONY_DS4 0x05c4
51#define USB_PRODUCT_SONY_DS4_DONGLE 0x0ba0
52#define USB_PRODUCT_SONY_DS4_SLIM 0x09cc
53#define USB_PRODUCT_SONY_DS5 0x0ce6
54#define USB_PRODUCT_XBOX_ONE_ELITE_SERIES_1 0x02e3
55#define USB_PRODUCT_XBOX_ONE_ELITE_SERIES_2 0x0b00
56#define USB_PRODUCT_XBOX_ONE_ELITE_SERIES_2_BLUETOOTH 0x0b05
57#define USB_PRODUCT_XBOX_ONE_S 0x02ea
58#define USB_PRODUCT_XBOX_ONE_S_REV1_BLUETOOTH 0x02e0
59#define USB_PRODUCT_XBOX_ONE_S_REV2_BLUETOOTH 0x02fd
60#define USB_PRODUCT_XBOX_ONE_SERIES_X 0x0b12
61#define USB_PRODUCT_XBOX_ONE_SERIES_X_BLUETOOTH 0x0b13
62#define USB_PRODUCT_XBOX_ONE_SERIES_X_POWERA 0x2001
63#define USB_PRODUCT_XBOX_ONE_RAW_INPUT_CONTROLLER 0x02ff
64#define USB_PRODUCT_XBOX_ONE_XINPUT_CONTROLLER 0x02fe /* Made up product ID for XInput */
65
66/* USB usage pages */
67#define USB_USAGEPAGE_GENERIC_DESKTOP 0x0001
68#define USB_USAGEPAGE_BUTTON 0x0009
69
70/* USB usages for USAGE_PAGE_GENERIC_DESKTOP */
71#define USB_USAGE_GENERIC_POINTER 0x0001
72#define USB_USAGE_GENERIC_MOUSE 0x0002
73#define USB_USAGE_GENERIC_JOYSTICK 0x0004
74#define USB_USAGE_GENERIC_GAMEPAD 0x0005
75#define USB_USAGE_GENERIC_KEYBOARD 0x0006
76#define USB_USAGE_GENERIC_KEYPAD 0x0007
77#define USB_USAGE_GENERIC_MULTIAXISCONTROLLER 0x0008
78#define USB_USAGE_GENERIC_X 0x0030
79#define USB_USAGE_GENERIC_Y 0x0031
80#define USB_USAGE_GENERIC_Z 0x0032
81#define USB_USAGE_GENERIC_RX 0x0033
82#define USB_USAGE_GENERIC_RY 0x0034
83#define USB_USAGE_GENERIC_RZ 0x0035
84#define USB_USAGE_GENERIC_SLIDER 0x0036
85#define USB_USAGE_GENERIC_DIAL 0x0037
86#define USB_USAGE_GENERIC_WHEEL 0x0038
87#define USB_USAGE_GENERIC_HAT 0x0039
88
89#endif /* usb_ids_h_ */
90
91/* vi: set ts=4 sw=4 expandtab: */
92