27#include "survive_api.h"
30#define SURVIVE_TRACE(d, ...) U_LOG_XDEV_IFL_T(&d->base, d->sys->log_level, __VA_ARGS__)
31#define SURVIVE_DEBUG(d, ...) U_LOG_XDEV_IFL_D(&d->base, d->sys->log_level, __VA_ARGS__)
32#define SURVIVE_INFO(d, ...) U_LOG_XDEV_IFL_I(&d->base, d->sys->log_level, __VA_ARGS__)
33#define SURVIVE_WARN(d, ...) U_LOG_XDEV_IFL_W(&d->base, d->sys->log_level, __VA_ARGS__)
34#define SURVIVE_ERROR(d, ...) U_LOG_XDEV_IFL_E(&d->base, d->sys->log_level, __VA_ARGS__)
37#define MAX_TRACKED_DEVICE_COUNT 16
42 VIVE_CONTROLLER_AIM_POSE = 0,
43 VIVE_CONTROLLER_GRIP_POSE,
44 VIVE_CONTROLLER_SYSTEM_CLICK,
45 VIVE_CONTROLLER_TRIGGER_CLICK,
46 VIVE_CONTROLLER_TRIGGER_VALUE,
47 VIVE_CONTROLLER_TRACKPAD,
48 VIVE_CONTROLLER_TRACKPAD_TOUCH,
51 VIVE_CONTROLLER_SQUEEZE_CLICK,
52 VIVE_CONTROLLER_MENU_CLICK,
53 VIVE_CONTROLLER_TRACKPAD_CLICK,
56 VIVE_CONTROLLER_THUMBSTICK,
57 VIVE_CONTROLLER_A_CLICK,
58 VIVE_CONTROLLER_B_CLICK,
59 VIVE_CONTROLLER_THUMBSTICK_CLICK,
60 VIVE_CONTROLLER_THUMBSTICK_TOUCH,
61 VIVE_CONTROLLER_SYSTEM_TOUCH,
62 VIVE_CONTROLLER_A_TOUCH,
63 VIVE_CONTROLLER_B_TOUCH,
64 VIVE_CONTROLLER_SQUEEZE_VALUE,
65 VIVE_CONTROLLER_SQUEEZE_FORCE,
66 VIVE_CONTROLLER_TRIGGER_TOUCH,
67 VIVE_CONTROLLER_TRACKPAD_FORCE,
69 VIVE_CONTROLLER_HAND_TRACKING,
73 VIVE_CONTROLLER_MAX_INDEX,
79 DEVICE_TYPE_CONTROLLER
91 const SurviveSimpleObject *survive_obj;
100 enum DeviceType device_type;
135 SurviveSimpleContext *ctx;
u_logging_level
Logging level enum.
Definition: u_logging.h:45
#define XRT_FINGER_COUNT
Number of fingers on a hand.
Definition: xrt_defines.h:1469
Wrapper around OS threading native functions.
Definition: m_relation_history.cpp:49
A wrapper around a native mutex.
Definition: os_threading.h:69
All in one helper that handles locking, waiting for change and starting a thread.
Definition: os_threading.h:499
Definition: survive_internal.h:88
bool use_default_ipd
Whether to use the default eye relation, or the IPD given by the HMD.
Definition: survive_internal.h:111
struct xrt_input * last_inputs
Array of input structs.
Definition: survive_internal.h:98
float ipd_override_mm
The IPD to force, -1 if no override.
Definition: survive_internal.h:109
float ipd
The current IPD given by the headset.
Definition: survive_internal.h:107
size_t num_last_inputs
Number of inputs.
Definition: survive_internal.h:96
Definition: survive_internal.h:133
Main struct drivers can use to implement hand and finger tracking.
Definition: u_hand_tracking.h:93
Draggable single precision float information.
Definition: u_var.h:128
headset config.
Definition: vive_config.h:133
Controller config.
Definition: vive_config.h:210
A single HMD or input device.
Definition: xrt_device.h:310
The main prober that probes and manages found but not opened HMD devices that are connected to the sy...
Definition: xrt_prober.h:133
A tracking system or device origin.
Definition: xrt_tracking.h:75
Interface to Libsurvive adapter.
#define MAX_TRACKED_DEVICE_COUNT
excl HMD we support 16 devices (controllers, trackers, ...)
Definition: survive_internal.h:37
Hand Tracking API interface.
Code to parse and handle the Vive Pro 2 configuration data.
Implementation of the Vive Pro 2 HID interface.