profile.json 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351
  1. {
  2. "profileId": "meta-quest-touch-pro",
  3. "fallbackProfileIds": [
  4. "oculus-touch-v2",
  5. "oculus-touch",
  6. "generic-trigger-squeeze-thumbstick"
  7. ],
  8. "layouts": {
  9. "left": {
  10. "selectComponentId": "xr-standard-trigger",
  11. "components": {
  12. "xr-standard-trigger": {
  13. "type": "trigger",
  14. "gamepadIndices": {
  15. "button": 0
  16. },
  17. "rootNodeName": "xr_standard_trigger",
  18. "visualResponses": {
  19. "xr_standard_trigger_pressed": {
  20. "componentProperty": "button",
  21. "states": [
  22. "default",
  23. "touched",
  24. "pressed"
  25. ],
  26. "valueNodeProperty": "transform",
  27. "valueNodeName": "xr_standard_trigger_pressed_value",
  28. "minNodeName": "xr_standard_trigger_pressed_min",
  29. "maxNodeName": "xr_standard_trigger_pressed_max"
  30. }
  31. }
  32. },
  33. "xr-standard-squeeze": {
  34. "type": "squeeze",
  35. "gamepadIndices": {
  36. "button": 1
  37. },
  38. "rootNodeName": "xr_standard_squeeze",
  39. "visualResponses": {
  40. "xr_standard_squeeze_pressed": {
  41. "componentProperty": "button",
  42. "states": [
  43. "default",
  44. "touched",
  45. "pressed"
  46. ],
  47. "valueNodeProperty": "transform",
  48. "valueNodeName": "xr_standard_squeeze_pressed_value",
  49. "minNodeName": "xr_standard_squeeze_pressed_min",
  50. "maxNodeName": "xr_standard_squeeze_pressed_max"
  51. }
  52. }
  53. },
  54. "xr-standard-thumbstick": {
  55. "type": "thumbstick",
  56. "gamepadIndices": {
  57. "button": 3,
  58. "xAxis": 2,
  59. "yAxis": 3
  60. },
  61. "rootNodeName": "xr_standard_thumbstick",
  62. "visualResponses": {
  63. "xr_standard_thumbstick_pressed": {
  64. "componentProperty": "button",
  65. "states": [
  66. "default",
  67. "touched",
  68. "pressed"
  69. ],
  70. "valueNodeProperty": "transform",
  71. "valueNodeName": "xr_standard_thumbstick_pressed_value",
  72. "minNodeName": "xr_standard_thumbstick_pressed_min",
  73. "maxNodeName": "xr_standard_thumbstick_pressed_max"
  74. },
  75. "xr_standard_thumbstick_xaxis_pressed": {
  76. "componentProperty": "xAxis",
  77. "states": [
  78. "default",
  79. "touched",
  80. "pressed"
  81. ],
  82. "valueNodeProperty": "transform",
  83. "valueNodeName": "xr_standard_thumbstick_xaxis_pressed_value",
  84. "minNodeName": "xr_standard_thumbstick_xaxis_pressed_min",
  85. "maxNodeName": "xr_standard_thumbstick_xaxis_pressed_max"
  86. },
  87. "xr_standard_thumbstick_yaxis_pressed": {
  88. "componentProperty": "yAxis",
  89. "states": [
  90. "default",
  91. "touched",
  92. "pressed"
  93. ],
  94. "valueNodeProperty": "transform",
  95. "valueNodeName": "xr_standard_thumbstick_yaxis_pressed_value",
  96. "minNodeName": "xr_standard_thumbstick_yaxis_pressed_min",
  97. "maxNodeName": "xr_standard_thumbstick_yaxis_pressed_max"
  98. }
  99. }
  100. },
  101. "x-button": {
  102. "type": "button",
  103. "gamepadIndices": {
  104. "button": 4
  105. },
  106. "rootNodeName": "x_button",
  107. "visualResponses": {
  108. "x_button_pressed": {
  109. "componentProperty": "button",
  110. "states": [
  111. "default",
  112. "touched",
  113. "pressed"
  114. ],
  115. "valueNodeProperty": "transform",
  116. "valueNodeName": "x_button_pressed_value",
  117. "minNodeName": "x_button_pressed_min",
  118. "maxNodeName": "x_button_pressed_max"
  119. }
  120. }
  121. },
  122. "y-button": {
  123. "type": "button",
  124. "gamepadIndices": {
  125. "button": 5
  126. },
  127. "rootNodeName": "y_button",
  128. "visualResponses": {
  129. "y_button_pressed": {
  130. "componentProperty": "button",
  131. "states": [
  132. "default",
  133. "touched",
  134. "pressed"
  135. ],
  136. "valueNodeProperty": "transform",
  137. "valueNodeName": "y_button_pressed_value",
  138. "minNodeName": "y_button_pressed_min",
  139. "maxNodeName": "y_button_pressed_max"
  140. }
  141. }
  142. },
  143. "thumbrest": {
  144. "type": "button",
  145. "gamepadIndices": {
  146. "button": 6
  147. },
  148. "rootNodeName": "thumbrest",
  149. "visualResponses": {
  150. "thumbrest_pressed": {
  151. "componentProperty": "button",
  152. "states": [
  153. "default",
  154. "touched",
  155. "pressed"
  156. ],
  157. "valueNodeProperty": "transform",
  158. "valueNodeName": "thumbrest_pressed_value",
  159. "minNodeName": "thumbrest_pressed_min",
  160. "maxNodeName": "thumbrest_pressed_max"
  161. }
  162. }
  163. },
  164. "menu": {
  165. "type": "button",
  166. "gamepadIndices": {
  167. "button": 7
  168. },
  169. "rootNodeName": "menu",
  170. "visualResponses": {
  171. "menu_pressed": {
  172. "componentProperty": "button",
  173. "states": [
  174. "default",
  175. "touched",
  176. "pressed"
  177. ],
  178. "valueNodeProperty": "transform",
  179. "valueNodeName": "menu_pressed_value",
  180. "minNodeName": "menu_pressed_min",
  181. "maxNodeName": "menu_pressed_max"
  182. }
  183. }
  184. }
  185. },
  186. "gamepadMapping": "xr-standard",
  187. "rootNodeName": "meta-quest-touch-pro-left",
  188. "assetPath": "left.glb"
  189. },
  190. "right": {
  191. "selectComponentId": "xr-standard-trigger",
  192. "components": {
  193. "xr-standard-trigger": {
  194. "type": "trigger",
  195. "gamepadIndices": {
  196. "button": 0
  197. },
  198. "rootNodeName": "xr_standard_trigger",
  199. "visualResponses": {
  200. "xr_standard_trigger_pressed": {
  201. "componentProperty": "button",
  202. "states": [
  203. "default",
  204. "touched",
  205. "pressed"
  206. ],
  207. "valueNodeProperty": "transform",
  208. "valueNodeName": "xr_standard_trigger_pressed_value",
  209. "minNodeName": "xr_standard_trigger_pressed_min",
  210. "maxNodeName": "xr_standard_trigger_pressed_max"
  211. }
  212. }
  213. },
  214. "xr-standard-squeeze": {
  215. "type": "squeeze",
  216. "gamepadIndices": {
  217. "button": 1
  218. },
  219. "rootNodeName": "xr_standard_squeeze",
  220. "visualResponses": {
  221. "xr_standard_squeeze_pressed": {
  222. "componentProperty": "button",
  223. "states": [
  224. "default",
  225. "touched",
  226. "pressed"
  227. ],
  228. "valueNodeProperty": "transform",
  229. "valueNodeName": "xr_standard_squeeze_pressed_value",
  230. "minNodeName": "xr_standard_squeeze_pressed_min",
  231. "maxNodeName": "xr_standard_squeeze_pressed_max"
  232. }
  233. }
  234. },
  235. "xr-standard-thumbstick": {
  236. "type": "thumbstick",
  237. "gamepadIndices": {
  238. "button": 3,
  239. "xAxis": 2,
  240. "yAxis": 3
  241. },
  242. "rootNodeName": "xr_standard_thumbstick",
  243. "visualResponses": {
  244. "xr_standard_thumbstick_pressed": {
  245. "componentProperty": "button",
  246. "states": [
  247. "default",
  248. "touched",
  249. "pressed"
  250. ],
  251. "valueNodeProperty": "transform",
  252. "valueNodeName": "xr_standard_thumbstick_pressed_value",
  253. "minNodeName": "xr_standard_thumbstick_pressed_min",
  254. "maxNodeName": "xr_standard_thumbstick_pressed_max"
  255. },
  256. "xr_standard_thumbstick_xaxis_pressed": {
  257. "componentProperty": "xAxis",
  258. "states": [
  259. "default",
  260. "touched",
  261. "pressed"
  262. ],
  263. "valueNodeProperty": "transform",
  264. "valueNodeName": "xr_standard_thumbstick_xaxis_pressed_value",
  265. "minNodeName": "xr_standard_thumbstick_xaxis_pressed_min",
  266. "maxNodeName": "xr_standard_thumbstick_xaxis_pressed_max"
  267. },
  268. "xr_standard_thumbstick_yaxis_pressed": {
  269. "componentProperty": "yAxis",
  270. "states": [
  271. "default",
  272. "touched",
  273. "pressed"
  274. ],
  275. "valueNodeProperty": "transform",
  276. "valueNodeName": "xr_standard_thumbstick_yaxis_pressed_value",
  277. "minNodeName": "xr_standard_thumbstick_yaxis_pressed_min",
  278. "maxNodeName": "xr_standard_thumbstick_yaxis_pressed_max"
  279. }
  280. }
  281. },
  282. "a-button": {
  283. "type": "button",
  284. "gamepadIndices": {
  285. "button": 4
  286. },
  287. "rootNodeName": "a_button",
  288. "visualResponses": {
  289. "a_button_pressed": {
  290. "componentProperty": "button",
  291. "states": [
  292. "default",
  293. "touched",
  294. "pressed"
  295. ],
  296. "valueNodeProperty": "transform",
  297. "valueNodeName": "a_button_pressed_value",
  298. "minNodeName": "a_button_pressed_min",
  299. "maxNodeName": "a_button_pressed_max"
  300. }
  301. }
  302. },
  303. "b-button": {
  304. "type": "button",
  305. "gamepadIndices": {
  306. "button": 5
  307. },
  308. "rootNodeName": "b_button",
  309. "visualResponses": {
  310. "b_button_pressed": {
  311. "componentProperty": "button",
  312. "states": [
  313. "default",
  314. "touched",
  315. "pressed"
  316. ],
  317. "valueNodeProperty": "transform",
  318. "valueNodeName": "b_button_pressed_value",
  319. "minNodeName": "b_button_pressed_min",
  320. "maxNodeName": "b_button_pressed_max"
  321. }
  322. }
  323. },
  324. "thumbrest": {
  325. "type": "button",
  326. "gamepadIndices": {
  327. "button": 6
  328. },
  329. "rootNodeName": "thumbrest",
  330. "visualResponses": {
  331. "thumbrest_pressed": {
  332. "componentProperty": "button",
  333. "states": [
  334. "default",
  335. "touched",
  336. "pressed"
  337. ],
  338. "valueNodeProperty": "transform",
  339. "valueNodeName": "thumbrest_pressed_value",
  340. "minNodeName": "thumbrest_pressed_min",
  341. "maxNodeName": "thumbrest_pressed_max"
  342. }
  343. }
  344. }
  345. },
  346. "gamepadMapping": "xr-standard",
  347. "rootNodeName": "meta-quest-touch-pro-right",
  348. "assetPath": "right.glb"
  349. }
  350. }
  351. }