69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
|
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
|
-
+
-
+
+
-
+
|
}
- (OFString *)name
{
return @"Nintendo DS";
}
- (OFSet *)buttons
- (OFSet OF_GENERIC(OFGameControllerButton) *)buttons
{
return [OFSet setWithObjects: OFGameControllerButtonA,
OFGameControllerButtonB, OFGameControllerButtonSelect,
OFGameControllerButtonStart, OFGameControllerButtonDPadRight,
OFGameControllerButtonDPadLeft, OFGameControllerButtonDPadUp,
OFGameControllerButtonDPadDown, OFGameControllerButtonR,
OFGameControllerButtonL, OFGameControllerButtonX,
OFGameControllerButtonY, nil];
}
- (OFSet *)pressedButtons
- (OFSet OF_GENERIC(OFGameControllerButton) *)pressedButtons
{
OFMutableSet OF_GENERIC(OFGameControllerButton) *pressedButtons =
OFMutableSet *pressedButtons = [OFMutableSet setWithCapacity: 12];
[OFMutableSet setWithCapacity: 12];
uint32 keys;
scanKeys();
keys = keysCurrent();
if (keys & KEY_A)
[pressedButtons addObject: OFGameControllerButtonA];
|
127
128
129
130
131
132
133
134
135
136
137
138
139
|
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
|
+
+
+
+
+
|
return false;
}
- (bool)hasRightAnalogStick
{
return false;
}
- (float)pressureForButton: (OFGameControllerButton)button
{
return ([self.pressedButtons containsObject: button] ? 1 : 0);
}
- (OFString *)description
{
return [OFString stringWithFormat: @"<%@: %@>", self.class, self.name];
}
@end
|