title: oculus-go-controls type: components layout: docs parent_section: components source_code: src/components/oculus-go-controls.js
The oculus-go-controls component interfaces with the Oculus Go controllers. It wraps the tracked-controls component while adding button mappings, events, and an Oculus Go controller model that highlights the touched and/or pressed buttons (trackpad, trigger).
<!-- Match Oculus Go controller if present, regardless of hand. --> <a-entity oculus-go-controls></a-entity> <!-- Match Oculus Go controller if present and for specified hand. --> <a-entity oculus-go-controls="hand: left"></a-entity> <a-entity oculus-go-controls="hand: right"></a-entity>
Property | Description | Default |
---|---|---|
armModel | Whether the arm model is used for positional data. | true |
buttonColor | Button colors when not pressed. | #000000 |
buttonTouchedColor | Button colors when touched. | #777777 |
buttonHighlightColor | Button colors when pressed and active. | #FFFFFF |
hand | The hand that will be tracked (e.g., right, left). | |
model | Whether the Oculus Go controller model is loaded. | true |
orientationOffset | Offset to apply to model orientation. | x: 0, y: 0, z: 0 |
Event Name | Description |
---|---|
touchpadchanged | Touchpad changed. |
touchpaddown | Touchpad pressed. |
touchpadup | Touchpad released. |
touchpadtouchstart | Touchpad touched. |
touchpadtouchend | Touchpad not touched. |
touchpadmoved | Touchpad moved. |
triggerchanged | Trigger changed. |
triggerdown | Trigger pressed. |
triggerup | Trigger released. |
Legacy WebVR browsers use the older 'trackpadXXXX' event names, rather than the WebXR nomenclature 'touchpadXXXX'. If you want to support both event types, then you can listen for both flavors of event names.
el.addEventListener('touchpadchanged', yourHandler); el.addEventListener('trackpadchanged', yourHandler);