xrt: Add Samsung Odyssey Controller

This commit is contained in:
Jakob Bornecrantz 2023-01-24 13:36:34 +00:00
parent 958911fd0b
commit d231850771
2 changed files with 102 additions and 0 deletions

View file

@ -930,6 +930,95 @@
}
},
"/interaction_profiles/samsung/odyssey_controller": {
"title": "Samsung Odyssey Controller",
"type": "tracked_controller",
"monado_device": "XRT_DEVICE_SAMSUNG_ODYSSEY_CONTROLLER",
"extension": "XR_EXT_samsung_odyssey_controller",
"subaction_paths": [
"/user/hand/left",
"/user/hand/right"
],
"subpaths": {
"/input/menu": {
"type": "button",
"localized_name": "Menu",
"components": ["click"],
"monado_bindings": {
"click": "XRT_INPUT_ODYSSEY_CONTROLLER_MENU_CLICK"
}
},
"/input/squeeze": {
"type": "button",
"localized_name": "Squeeze",
"components": ["click"],
"monado_bindings": {
"click": "XRT_INPUT_ODYSSEY_CONTROLLER_SQUEEZE_CLICK"
}
},
"/input/trigger": {
"type": "trigger",
"localized_name": "Trigger",
"components": ["value"],
"monado_bindings": {
"value": "XRT_INPUT_ODYSSEY_CONTROLLER_TRIGGER_VALUE"
}
},
"/input/thumbstick": {
"type": "joystick",
"localized_name": "Thumbstick",
"components": ["click", "position"],
"dpad_emulation": {
"position": "position",
"center": false
},
"monado_bindings": {
"click": "XRT_INPUT_ODYSSEY_CONTROLLER_THUMBSTICK_CLICK",
"position": "XRT_INPUT_ODYSSEY_CONTROLLER_THUMBSTICK"
}
},
"/input/trackpad": {
"type": "trackpad",
"localized_name": "Trackpad",
"components": ["click", "touch", "position"],
"dpad_emulation": {
"position": "position",
"activate": "click",
"center": true
},
"monado_bindings": {
"click": "XRT_INPUT_ODYSSEY_CONTROLLER_TRACKPAD_CLICK",
"touch": "XRT_INPUT_ODYSSEY_CONTROLLER_TRACKPAD_TOUCH",
"position": "XRT_INPUT_ODYSSEY_CONTROLLER_TRACKPAD"
}
},
"/input/grip": {
"type": "pose",
"localized_name": "Grip",
"components": ["pose"],
"monado_bindings": {
"pose": "XRT_INPUT_ODYSSEY_CONTROLLER_GRIP_POSE"
}
},
"/input/aim": {
"type": "pose",
"localized_name": "Aim",
"components": ["pose"],
"monado_bindings": {
"pose": "XRT_INPUT_ODYSSEY_CONTROLLER_AIM_POSE"
}
},
"/output/haptic": {
"type": "vibration",
"localized_name": "Haptic",
"components": ["haptic"],
"monado_bindings": {
"haptic": "XRT_OUTPUT_NAME_ODYSSEY_CONTROLLER_HAPTIC"
}
}
}
},
"/interaction_profiles/microsoft/hand_interaction": {
"title": "Microsoft hand interaction",
"type": "tracked_controller",

View file

@ -621,6 +621,7 @@ enum xrt_device_name
XRT_DEVICE_INDEX_CONTROLLER,
XRT_DEVICE_HP_REVERB_G2_CONTROLLER,
XRT_DEVICE_SAMSUNG_ODYSSEY_CONTROLLER,
XRT_DEVICE_HAND_INTERACTION,
@ -875,6 +876,17 @@ enum xrt_input_name
XRT_INPUT_G2_CONTROLLER_THUMBSTICK = XRT_INPUT_NAME(0x00F8, VEC2_MINUS_ONE_TO_ONE),
XRT_INPUT_G2_CONTROLLER_GRIP_POSE = XRT_INPUT_NAME(0x00F9, POSE),
XRT_INPUT_G2_CONTROLLER_AIM_POSE = XRT_INPUT_NAME(0x00FA, POSE),
XRT_INPUT_ODYSSEY_CONTROLLER_MENU_CLICK = XRT_INPUT_NAME(0x0100, BOOLEAN),
XRT_INPUT_ODYSSEY_CONTROLLER_SQUEEZE_CLICK = XRT_INPUT_NAME(0x0101, BOOLEAN),
XRT_INPUT_ODYSSEY_CONTROLLER_TRIGGER_VALUE = XRT_INPUT_NAME(0x0102, VEC1_ZERO_TO_ONE),
XRT_INPUT_ODYSSEY_CONTROLLER_THUMBSTICK_CLICK = XRT_INPUT_NAME(0x0103, BOOLEAN),
XRT_INPUT_ODYSSEY_CONTROLLER_THUMBSTICK = XRT_INPUT_NAME(0x0104, VEC2_MINUS_ONE_TO_ONE),
XRT_INPUT_ODYSSEY_CONTROLLER_TRACKPAD_CLICK = XRT_INPUT_NAME(0x0105, BOOLEAN),
XRT_INPUT_ODYSSEY_CONTROLLER_TRACKPAD_TOUCH = XRT_INPUT_NAME(0x0106, BOOLEAN),
XRT_INPUT_ODYSSEY_CONTROLLER_TRACKPAD = XRT_INPUT_NAME(0x0107, VEC2_MINUS_ONE_TO_ONE),
XRT_INPUT_ODYSSEY_CONTROLLER_GRIP_POSE = XRT_INPUT_NAME(0x0108, POSE),
XRT_INPUT_ODYSSEY_CONTROLLER_AIM_POSE = XRT_INPUT_NAME(0x0109, POSE),
// clang-format on
};
@ -1034,6 +1046,7 @@ enum xrt_output_name
XRT_OUTPUT_NAME_FORCE_FEEDBACK_RIGHT = XRT_OUTPUT_NAME(0x0081, FORCE_FEEDBACK),
XRT_OUTPUT_NAME_G2_CONTROLLER_HAPTIC = XRT_OUTPUT_NAME(0x0090, VIBRATION),
XRT_OUTPUT_NAME_ODYSSEY_CONTROLLER_HAPTIC = XRT_OUTPUT_NAME(0x00A0, VIBRATION),
// clang-format on
};