Overte C++ Documentation
StandardControls.h
1 //
2 // Created by Bradley Austin Davis 2015/10/09
3 // Copyright 2015 High Fidelity, Inc.
4 //
5 // Distributed under the Apache License, Version 2.0.
6 // See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
7 //
8 #pragma once
9 
10 namespace controller {
11 
12  // Needs to match order and values of SDL_GameControllerButton
13  enum StandardButtonChannel {
14  // Button quad
15  A = 0,
16  B,
17  X,
18  Y,
19 
20  // Center buttons
21  BACK,
22  GUIDE,
23  START,
24 
25  // Stick press
26  LS,
27  RS,
28 
29  // Bumper press
30  LB,
31  RB,
32 
33  // DPad
34  DU,
35  DD,
36  DL,
37  DR,
38 
39  // These don't map to SDL types
40  LEFT_PRIMARY_THUMB,
41  LEFT_SECONDARY_THUMB,
42  LEFT_PRIMARY_THUMB_TOUCH,
43  LEFT_SECONDARY_THUMB_TOUCH,
44  LS_TOUCH,
45  LEFT_THUMB_UP,
46  LS_CENTER,
47  LS_X,
48  LS_Y,
49  LT_CLICK,
50 
51  RIGHT_PRIMARY_THUMB,
52  RIGHT_SECONDARY_THUMB,
53  RIGHT_PRIMARY_THUMB_TOUCH,
54  RIGHT_SECONDARY_THUMB_TOUCH,
55  RS_TOUCH,
56  RIGHT_THUMB_UP,
57  RS_CENTER,
58  RS_X,
59  RS_Y,
60  RT_CLICK,
61 
62  LEFT_PRIMARY_INDEX,
63  LEFT_SECONDARY_INDEX,
64  LEFT_PRIMARY_INDEX_TOUCH,
65  LEFT_SECONDARY_INDEX_TOUCH,
66  LEFT_INDEX_POINT,
67  RIGHT_PRIMARY_INDEX,
68  RIGHT_SECONDARY_INDEX,
69  RIGHT_PRIMARY_INDEX_TOUCH,
70  RIGHT_SECONDARY_INDEX_TOUCH,
71  RIGHT_INDEX_POINT,
72 
73  LEFT_GRIP_TOUCH,
74  RIGHT_GRIP_TOUCH,
75 
76  NUM_STANDARD_BUTTONS
77  };
78 
79  // Needs to match order and values of SDL_GameControllerAxis
80  enum StandardAxisChannel {
81  // Left Analog stick
82  LX = 0,
83  LY,
84  // Right Analog stick
85  RX,
86  RY,
87  // Triggers
88  LT,
89  RT,
90  // Grips
91  LEFT_GRIP,
92  RIGHT_GRIP,
93 
94  // blendshapes
95  EYEBLINK_L,
96  EYEBLINK_R,
97  EYESQUINT_L,
98  EYESQUINT_R,
99  EYEDOWN_L,
100  EYEDOWN_R,
101  EYEIN_L,
102  EYEIN_R,
103  EYEOPEN_L,
104  EYEOPEN_R,
105  EYEOUT_L,
106  EYEOUT_R,
107  EYEUP_L,
108  EYEUP_R,
109  BROWSD_L,
110  BROWSD_R,
111  BROWSU_C,
112  BROWSU_L,
113  BROWSU_R,
114  JAWFWD,
115  JAWLEFT,
116  JAWOPEN,
117  JAWRIGHT,
118  MOUTHLEFT,
119  MOUTHRIGHT,
120  MOUTHFROWN_L,
121  MOUTHFROWN_R,
122  MOUTHSMILE_L,
123  MOUTHSMILE_R,
124  MOUTHDIMPLE_L,
125  MOUTHDIMPLE_R,
126  LIPSSTRETCH_L,
127  LIPSSTRETCH_R,
128  LIPSUPPERCLOSE,
129  LIPSLOWERCLOSE,
130  LIPSFUNNEL,
131  LIPSPUCKER,
132  PUFF,
133  CHEEKSQUINT_L,
134  CHEEKSQUINT_R,
135  MOUTHCLOSE,
136  MOUTHUPPERUP_L,
137  MOUTHUPPERUP_R,
138  MOUTHLOWERDOWN_L,
139  MOUTHLOWERDOWN_R,
140  MOUTHPRESS_L,
141  MOUTHPRESS_R,
142  MOUTHSHRUGLOWER,
143  MOUTHSHRUGUPPER,
144  NOSESNEER_L,
145  NOSESNEER_R,
146  TONGUEOUT,
147  USERBLENDSHAPE0,
148  USERBLENDSHAPE1,
149  USERBLENDSHAPE2,
150  USERBLENDSHAPE3,
151  USERBLENDSHAPE4,
152  USERBLENDSHAPE5,
153  USERBLENDSHAPE6,
154  USERBLENDSHAPE7,
155  USERBLENDSHAPE8,
156  USERBLENDSHAPE9,
157 
158  NUM_STANDARD_AXES,
159  LZ = LT,
160  RZ = RT
161  };
162 
163  // No correlation to SDL
164  enum StandardPoseChannel {
165  HIPS = 0,
166  RIGHT_UP_LEG,
167  RIGHT_LEG,
168  RIGHT_FOOT,
169  LEFT_UP_LEG,
170  LEFT_LEG,
171  LEFT_FOOT,
172  SPINE,
173  SPINE1,
174  SPINE2,
175  SPINE3,
176  NECK,
177  HEAD,
178  RIGHT_SHOULDER,
179  RIGHT_ARM,
180  RIGHT_FORE_ARM,
181  RIGHT_HAND,
182  RIGHT_HAND_THUMB1,
183  RIGHT_HAND_THUMB2,
184  RIGHT_HAND_THUMB3,
185  RIGHT_HAND_THUMB4,
186  RIGHT_HAND_INDEX1,
187  RIGHT_HAND_INDEX2,
188  RIGHT_HAND_INDEX3,
189  RIGHT_HAND_INDEX4,
190  RIGHT_HAND_MIDDLE1,
191  RIGHT_HAND_MIDDLE2,
192  RIGHT_HAND_MIDDLE3,
193  RIGHT_HAND_MIDDLE4,
194  RIGHT_HAND_RING1,
195  RIGHT_HAND_RING2,
196  RIGHT_HAND_RING3,
197  RIGHT_HAND_RING4,
198  RIGHT_HAND_PINKY1,
199  RIGHT_HAND_PINKY2,
200  RIGHT_HAND_PINKY3,
201  RIGHT_HAND_PINKY4,
202  LEFT_SHOULDER,
203  LEFT_ARM,
204  LEFT_FORE_ARM,
205  LEFT_HAND,
206  LEFT_HAND_THUMB1,
207  LEFT_HAND_THUMB2,
208  LEFT_HAND_THUMB3,
209  LEFT_HAND_THUMB4,
210  LEFT_HAND_INDEX1,
211  LEFT_HAND_INDEX2,
212  LEFT_HAND_INDEX3,
213  LEFT_HAND_INDEX4,
214  LEFT_HAND_MIDDLE1,
215  LEFT_HAND_MIDDLE2,
216  LEFT_HAND_MIDDLE3,
217  LEFT_HAND_MIDDLE4,
218  LEFT_HAND_RING1,
219  LEFT_HAND_RING2,
220  LEFT_HAND_RING3,
221  LEFT_HAND_RING4,
222  LEFT_HAND_PINKY1,
223  LEFT_HAND_PINKY2,
224  LEFT_HAND_PINKY3,
225  LEFT_HAND_PINKY4,
226  TRACKED_OBJECT_00,
227  TRACKED_OBJECT_01,
228  TRACKED_OBJECT_02,
229  TRACKED_OBJECT_03,
230  TRACKED_OBJECT_04,
231  TRACKED_OBJECT_05,
232  TRACKED_OBJECT_06,
233  TRACKED_OBJECT_07,
234  TRACKED_OBJECT_08,
235  TRACKED_OBJECT_09,
236  TRACKED_OBJECT_10,
237  TRACKED_OBJECT_11,
238  TRACKED_OBJECT_12,
239  TRACKED_OBJECT_13,
240  TRACKED_OBJECT_14,
241  TRACKED_OBJECT_15,
242  LEFT_EYE,
243  RIGHT_EYE,
244  NUM_STANDARD_POSES
245  };
246 
247  enum StandardCounts {
248  TRIGGERS = 2,
249  ANALOG_STICKS = 2,
250  POSES = NUM_STANDARD_POSES
251  };
252 }