Newer
Older
reroad-test / 2020-ryusei / aframe-master / docs / components / oculus-go-controls.md
@ryusei ryusei on 22 Oct 2020 2 KB パノラマ表示
---
title: oculus-go-controls
type: components
layout: docs
parent_section: components
source_code: src/components/oculus-go-controls.js

examples: []
---

[trackedcontrols]: ./tracked-controls.md

The oculus-go-controls component interfaces with the Oculus Go controllers.
It wraps the [tracked-controls component][trackedcontrols] while adding button
mappings, events, and an Oculus Go controller model that highlights the touched
and/or pressed buttons (trackpad, trigger).

## Example

```html
<!-- 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>
```

## Value

| 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     |

## Events

| 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

Legacy WebVR browsers use the older 'trackpadXXXX' event names, rather than the
[WebXR nomenclature](https://github.com/immersive-web/webxr-input-profiles/tree/master/packages/assets/profiles)
'touchpadXXXX'. If you want to support both event types, then you can listen for both flavors of event names.

```.js
el.addEventListener('touchpadchanged', yourHandler);
el.addEventListener('trackpadchanged', yourHandler);
```

## Assets

- [Controller GLTF](https://cdn.aframe.io/controllers/oculus/go/oculus-go-controller.gltf)