{
  "driver_VirtualDesktop": {
    "loadPriority": 1000,

    // Whether to keep using the Oculus Touch controller models even when emulating Index controllers.
    "disable_knuckles_rendermodels": false,

    // Whether to use Trackpad or A/B touch events for simulating thumb actions.
    "use_trackpad_thumb": false,

    // The threshold for simulating a Trackpad or A touch even based on the physical thumb curl.
    "thumb_curl_threshold": 0.45,

    // The threshold for simulating a B touch even based on the physical thumb curl.
    "thumb_curl_full_threshold": 0.7,

    // The threshold for simulating index/middle/ring/pinky finger curl based on the corresponding physical finger curl.
    "other_fingers_curl_threshold": 0.075,

    // The threshold for simulating a trigger touch even based on the physical index curl.
    "index_curl_touch_threshold": 0.45,

    // The value to simulate index finger curl when the controller's trigger touch is detected.
    // Also acts as a threshold for simulating index finger curl based on the physical index curl.
    "trigger_touch_curl_value": 0.2,

    // The threshold for simulating a trigger click event based on the trigger value, when using hands or a controller.
    "trigger_click_threshold_hand": 0.5,
    "trigger_click_threshold_controller": 0.8,

    // The threshold for simulating middle/ring/pinky finger curl based on the controller's grip value.
    "grip_pinky_curl_threshold": 0.0,
    "grip_ring_curl_threshold": 0.1,
    "grip_middle_curl_threshold": 0.2,

    // The threshold for simulating grip force based on the grip value, when using hands or a controller.
    "grip_force_threshold_hand": 0.3,
    "grip_force_threshold_controller": 0.7,

    // The hysteresis to use for all thresholds.
    "hysteresis": 0.15,

    // In VRChat mode, block the menu gesture.
    "enable_hand_menu_button": false,

    // In VRChat mode, linger hand data for this number of seconds after loss of tracking.
    "hand_data_debounce_time": 1.5,

    // Override the priority of the Touch controller driver.
    "override_motion_controller_priority": false,
    "motion_controller_priority": 0,

    // Whether each body joint will emulate a Vive tracker.
    "hips_joint_enabled": true,
    "spine_lower_joint_enabled": false,
    "spine_middle_joint_enabled": false,
    "spine_upper_joint_enabled": false,
    "chest_joint_enabled": true,
    "neck_joint_enabled": false,
    "head_joint_enabled": false,
    "left_shoulder_joint_enabled": false,
    "left_scapula_joint_enabled": false,
    "left_arm_upper_joint_enabled": true,
    "left_arm_lower_joint_enabled": true,
    "left_hand_wrist_twist_joint_enabled": false,
    "left_hand_wrist_joint_enabled": false,
    "right_shoulder_joint_enabled": false,
    "right_scapula_joint_enabled": false,
    "right_arm_upper_joint_enabled": true,
    "right_arm_lower_joint_enabled": true,
    "right_hand_wrist_twist_joint_enabled": false,
    "right_hand_wrist_joint_enabled": false,
    "left_upper_leg_joint_enabled": false,
    "left_lower_leg_joint_enabled": true,
    "left_foot_ankle_twist_joint_enabled": false,
    "left_foot_ankle_joint_enabled": false,
    "left_foot_subtalar_joint_enabled": false,
    "left_foot_transverse_joint_enabled": true,
    "left_foot_ball_joint_enabled": false,
    "right_upper_leg_joint_enabled": false,
    "right_lower_leg_joint_enabled": true,
    "right_foot_ankle_twist_joint_enabled": false,
    "right_foot_ankle_joint_enabled": false,
    "right_foot_subtalar_joint_enabled": false,
    "right_foot_transverse_joint_enabled": true,
    "right_foot_ball_joint_enabled": false,

    // The default position and rotations to apply to each joint from the Oculus input data.
    "chest_joint_offset_x": 0.03,
    "chest_joint_offset_z": -0.13,
    "hips_joint_offset_z": -0.1,
    "hips_joint_rot_x": 90,
    "spine_lower_joint_rot_x": 90,
    "spine_middle_joint_rot_x": 90,
    "spine_upper_joint_rot_x": 90,
    "chest_joint_rot_x": 90,
    "neck_joint_rot_x": 90,
    "head_joint_rot_x": 90,
    "left_shoulder_joint_rot_x": 180,
    "left_scapula_joint_rot_x": 180,
    "left_arm_upper_joint_offset_x": 0.13,
    "left_arm_upper_joint_rot_y": 180,
    "right_arm_upper_joint_offset_x": 0.13,
    "left_arm_lower_joint_offset_x": 0.13,
    "left_arm_lower_joint_rot_y": 180,
    "right_arm_lower_joint_offset_x": 0.13,
    "left_hand_wrist_twist_joint_rot_x": 180,
    "left_hand_wrist_joint_rot_x": -90,
    "right_hand_wrist_joint_rot_x": 90,
    "left_upper_leg_joint_rot_x": -90,
    "left_lower_leg_joint_rot_x": -90,
    "right_upper_leg_joint_rot_x": 90,
    "right_lower_leg_joint_rot_x": 90,
    "left_foot_ankle_joint_rot_y": -90,
    "right_foot_ankle_twist_joint_rot_y": 180,
    "right_foot_ankle_joint_rot_y": 90,
    "left_foot_transverse_joint_rot_x": 90,
    "left_foot_transverse_joint_rot_y": -90,
    "right_foot_transverse_joint_rot_x": -90,
    "right_foot_transverse_joint_rot_y": 90,
    "right_foot_subtalar_joint_rot_y": 180,
    "right_foot_ball_joint_rot_y": 180
  },
  "trackers": {
    // Default role assignment for all trackers.
    // NOTE: TrackerRole_Chest is omitted, because it causes SteamVR to prompt for bindings with several applications.
    "/devices/VirtualDesktop/hips": "TrackerRole_Waist",
    "/devices/VirtualDesktop/left_scapula": "TrackerRole_LeftShoulder",
    "/devices/VirtualDesktop/right_scapula": "TrackerRole_RightShoulder",
    "/devices/VirtualDesktop/left_arm_upper": "TrackerRole_LeftElbow",
    "/devices/VirtualDesktop/right_arm_upper": "TrackerRole_RightElbow",
    "/devices/VirtualDesktop/left_hand_wrist": "TrackerRole_LeftWrist",
    "/devices/VirtualDesktop/right_hand_wrist": "TrackerRole_RightWrist",
    "/devices/VirtualDesktop/left_lower_leg": "TrackerRole_LeftKnee",
    "/devices/VirtualDesktop/right_lower_leg": "TrackerRole_RightKnee",
    "/devices/VirtualDesktop/left_ankle": "TrackerRole_LeftAnkle",
    "/devices/VirtualDesktop/right_ankle": "TrackerRole_RightAnkle",
    "/devices/VirtualDesktop/left_foot_transverse": "TrackerRole_LeftFoot",
    "/devices/VirtualDesktop/right_foot_transverse": "TrackerRole_RightFoot"
  }
}
