# IMPORTANT INFORMATION:
# 
# This is the master configuration file for VR system. This is where you can change
# the settings of the VR system in various ways. 
# 
# If you are using a device that is neither the HTC Vive Pro Eye nor an Oculus-brand headset, you can add
# a separate device entry with its own settings. Set the current_device
# to your new device, and you will be good to go.
# 
# If you don't create a new device, the system will use the OTHER_VR device
# settings, which are designed to work on a normal HTC Vive without eye tracking.
# Change this based on the device you are using
current_device: "HTC_VIVE_PRO_EYE"
# Settings that are common across all VR devices
shared_settings:
  # Whether user can move by using the touchpad/joystick
  touchpad_movement: True
  # Which controller to use to control touchpad/joystick movement (must be left or right)
  movement_controller: "left"
  # Device whose pose will be used to control touchpad/joystick movement (must be in [hmd, left_controller, right_controller])
  relative_movement_device: "hmd"
  # Speed of touchpad/joystick movement
  movement_speed: 0.02
  # Width of HUD display in meters
  hud_width: 0.7
  # Position of HUD display relative to the HMD. X (left), Y (up), Z (away from HMD, into the scene)
  hud_pos: [0,0,-0.8]
  # Height boundaries for VR user
  height_bounds: [0, 1.8]
  # Whether to use iGibson companion window (set to False by default - please use Steam VR mirror display (described in README))
  use_companion_window: False
  # Whether to only store the first event per button, per frame (avoids multiple unwanted button presses)
  store_only_first_event_per_button: True
  # Whether to use the torso tracker for the vr body - set to True and make sure a serial is entered below to use a torso tracker
  use_tracked_body: True
  # Serial number of VR torso tracker - this can be found by connecting/pairing the tracker,
  # then going into Steam VR settings -> controllers -> manage vive trackers
  # Note: replace this with your own tracker serial number or leave blank to not use one
  torso_tracker_serial: "LHR-DF82C682"
# Settings that are specific to different VR devices (eg. eye tracking, button mapping)
device_settings:
  HTC_VIVE_PRO_EYE:
    # Whether to use eye tracking or not
    eye_tracking: True
    # Map of human-readable actions to button_idx, press combos
    # button_idx is one of the EVRButtonId enum values as defined in the openvr.h header
    # You can run the vr_button_mapping.py demo to figure out which buttons correspond to which indices
    # Press is simply 1 for detecting a press/touch of this button or 0 for detecting an unpress/untouch event
    # Note: there must a 1:1 mapping between actions and (button_idx, press_id) tuples

    # HTC Vive controller to button_idx
    # Application Menu (small button about touchpad) - 1
    # Grip (two, joined buttons on sides of controller) - 2
    # Touchpad - 32
    # Trigger - 33
    action_button_map:
      # This action, for example, registers a press (1) of the HTC Vive controller grip (2)
      reset_agent: [2, 1]
      # This action registers a press (1) of the HTC Vive controller application menu button (1)
      overlay_toggle: [1, 1]
  OCULUS:
    eye_tracking: False
    action_button_map:
      reset_agent: [33, 1]
      overlay_toggle: [1, 1]
  # This device is used if current_device is not one of the above two devices
  # Insert another device here by copying one of the device settings above and changing them,
  # if you wish to add your own device with custom settings
  OTHER_VR:
    eye_tracking: False
    # Assume user is using HTC Vive button mapping
    action_button_map:
      reset_agent: [2, 1]
      overlay_toggle: [1, 1]
