45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
|
* Microsoft X-Box 360 pad [045E:028E]
* Joy-Con (L) [057E:2006]
* Joy-Con (R) [057E:2007]
* N64 Controller [057E:2019]
* Sony Interactive Entertainment DualSense Wireless Controller [054C:0CE6]
* 8BitDo Pro 2 Wired Controller [2DC8:3106]
* Stadia2SZY-0d6c [18D1:9400]
*/
static const uint16_t vendorIDMicrosoft = 0x045E;
static const uint16_t vendorIDNintendo = 0x057E;
static const uint16_t vendorIDSony = 0x054C;
static const uint16_t vendorIDGoogle = 0x18D1;
/* Microsoft controllers */
static const uint16_t productIDXbox360 = 0x028E;
/* Nintendo controllers */
static const uint16_t productIDLeftJoycon = 0x2006;
static const uint16_t productIDRightJoycon = 0x2007;
static const uint16_t productIDN64Controller = 0x2019;
/* Sony controllers */
static const uint16_t productIDDualSense = 0x0CE6;
/* Google controllers */
static const uint16_t productIDStadia = 0x9400;
@interface OFGameController ()
- (instancetype)of_initWithPath: (OFString *)path OF_METHOD_FAMILY(init);
@end
|
>
>
|
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
|
* Microsoft X-Box 360 pad [045E:028E]
* Joy-Con (L) [057E:2006]
* Joy-Con (R) [057E:2007]
* N64 Controller [057E:2019]
* Sony Interactive Entertainment DualSense Wireless Controller [054C:0CE6]
* 8BitDo Pro 2 Wired Controller [2DC8:3106]
* Stadia2SZY-0d6c [18D1:9400]
* Wireless Controller [054C:09CC]
*/
static const uint16_t vendorIDMicrosoft = 0x045E;
static const uint16_t vendorIDNintendo = 0x057E;
static const uint16_t vendorIDSony = 0x054C;
static const uint16_t vendorIDGoogle = 0x18D1;
/* Microsoft controllers */
static const uint16_t productIDXbox360 = 0x028E;
/* Nintendo controllers */
static const uint16_t productIDLeftJoycon = 0x2006;
static const uint16_t productIDRightJoycon = 0x2007;
static const uint16_t productIDN64Controller = 0x2019;
/* Sony controllers */
static const uint16_t productIDDualSense = 0x0CE6;
static const uint16_t productIDDualShock4 = 0x09CC;
/* Google controllers */
static const uint16_t productIDStadia = 0x9400;
@interface OFGameController ()
- (instancetype)of_initWithPath: (OFString *)path OF_METHOD_FAMILY(init);
@end
|
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
|
return OFGameControllerCPadLeftButton;
case BTN_C:
return OFGameControllerCPadRightButton;
case BTN_Z:
return OFGameControllerCaptureButton;
}
} else if (vendorID == vendorIDSony &&
productID == productIDDualSense) {
switch (button) {
case BTN_NORTH:
return OFGameControllerNorthButton;
case BTN_WEST:
return OFGameControllerWestButton;
}
} else if (vendorID == vendorIDGoogle && productID == productIDStadia) {
|
>
|
|
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
|
return OFGameControllerCPadLeftButton;
case BTN_C:
return OFGameControllerCPadRightButton;
case BTN_Z:
return OFGameControllerCaptureButton;
}
} else if (vendorID == vendorIDSony &&
(productID == productIDDualSense ||
productID == productIDDualShock4)) {
switch (button) {
case BTN_NORTH:
return OFGameControllerNorthButton;
case BTN_WEST:
return OFGameControllerWestButton;
}
} else if (vendorID == vendorIDGoogle && productID == productIDStadia) {
|