Develop
Develop
Select your platform

Meta Quest Touch Plus Controllers

Overview

This interaction profile represents the input sources and haptics on the Meta Quest Touch Plus Controller.
You can find the interaction profile at the following path: …/interaction_profiles/meta/touch_controller_plus.

Controller paths

Both hands

  • …/input/squeeze/value
  • …/input/trigger/value
  • …/input/trigger/force
  • …/input/trigger/touch
  • …/input/trigger/curl_meta
  • …/input/trigger/slide_meta
  • …/input/trigger/proximity_meta
  • …/input/thumbstick
  • …/input/thumbstick/x
  • …/input/thumbstick/y
  • …/input/thumbstick/click
  • …/input/thumbstick/touch
  • …/input/thumbrest/touch
  • …/input/thumb_meta/proximity_meta
  • …/input/grip/pose
  • …/input/aim/pose
  • …/output/haptic

Hand specific paths

Only on /user/hand/leftOnly on /user/hand/right
…/input/x/click
…/input/a/click
…/input/x/touch
…/input/a/touch
…/input/y/click
…/input/b/click
…/input/y/click
…/input/b/click
…/input/menu/click
…/input/system/click
Note: …/input/system/click may not be available for application use.

New identifier

  • thumb_meta: proximity input value for the thumb.

Input path descriptions

  • …/input/trigger/curl_meta: float. Represents how pointed or curled the user’s finger is on the trigger:
    • 0: fully pointed
    • 1: finger flat on surface
  • …/input/trigger/slide_meta: float. Represents how far the user is sliding their index finger along the surface of the trigger:
    • 0: finger flat on the surface
    • 1: finger fully drawn back
  • …/input/trigger/force: Float. Represents the amount of force being applied by the user to the trigger after it reaches the end of the range of travel:
    • 0: no additional pressure applied
    • 1: maximum detectable pressure applied

Haptic feedback

Touch Plus controllers have one haptic actuator in the body of the controller. This actuator is a VCM (Voice Coil Motor) that provides wideband feedback to the palm of the user. The Meta Quest Touch Plus Controller also supports the PCM API for haptic playback. For more information on haptics and PCM, see Haptic Feedback.
Note: Touch Plus controllers do not support localized haptics like the Meta Quest Touch Pro.
Touch Plus controller and hand poses.

Two stage index trigger

Meta Quest Touch Plus adds a second stage to the index trigger that enables pressure-based interactions. For example, squish and break. The first stage of the index trigger is high-travel, low-force, and constant resistance, similar to the Meta Quest Touch controller trigger. The second stage is low-travel, high-force, and linearly increasing resistance, similar to the Meta Quest Touch Pro controller thumb rest sensor.
  • /input/trigger/proximity_meta: boolean. Indicates whether the user’s index finger is near the trigger.
  • /input/thumb_meta/proximity_meta: Boolean. Indicates whether the user’s thumb is near any of the thumb buttons (thumbstick, a/x button, b/y button, or the thumb rest).

Enable the interaction profile

In order to start using this interaction profile, you need to do two things:
  1. Include the header file: #include <openxr/openxr.h>
  2. Include the extension name: XR_META_TOUCH_CONTROLLER_PLUS_EXTENSION_NAME
Did you find this page helpful?