GvrControllerInput
Main entry point for the Daydream controller API.
Summary
To use this API, add this script to a game object in your scene, or use the GvrControllerMain prefab. This is a singleton object. There can only be one object with this script in your scene.
To access a controller's state, get a device from GvrControllerInput.GetDevice
then query it for state. For example, to the dominant controller's current orientation, use GvrControllerInput.GetDevice(GvrControllerHand.Dominant).Orientation
.
Inheritance
Inherits from: MonoBehaviour
Public types |
|
---|---|
EmulatorConnectionMode{
|
enum Controller Emulatuor connection modes. |
Public attributes |
|
---|---|
emulatorConnectionMode = EmulatorConnectionMode.USB
|
Indicates how to connect to the controller emulator.
|
Events |
|
---|---|
OnControllerInputUpdated
|
static Action
Event handler for receiving button, touchpad, and IMU updates from the controllers.
|
OnPostControllerInputUpdated
|
static Action
Event handler for receiving a second notification callback, after all
OnControllerInputUpdated events have fired. |
Properties |
|
---|---|
Accel
|
static Vector3
GvrControllerInputDevice.Accel . Gets the dominant controller's current acceleration in meters per second squared. |
ApiStatus
|
static GvrControllerApiStatus
Gets the status of the controller API.
|
AppButton
|
static bool
GvrControllerInputDevice.GetButton(GvrControllerButton.App) . Gets a value indicating whether the user is currently holding down the dominant controller's app button. |
AppButtonDown
|
static bool
GvrControllerInputDevice.GetButtonDown(GvrControllerButton.App) . Gets a value indicating whether this is the frame the user started pressing down the dominant controller's app button. |
AppButtonUp
|
static bool
GvrControllerInputDevice.GetButtonUp(GvrControllerButton.App) . Gets a value indicating whether this is the frame after the user stopped pressing down the dominant controller's app button. |
BatteryLevel
|
static GvrControllerBatteryLevel
GvrControllerInputDevice.BatteryLevel . Gets the dominant controller's current battery charge level. |
ClickButton
|
static bool
GvrControllerInputDevice.GetButton(GvrControllerButton.TouchPadButton) . Gets a value indicating whether the user currently holds down the dominant controller's touchpad button. |
ClickButtonDown
|
static bool
GvrControllerInputDevice.GetButtonDown(GvrControllerButton.TouchPadButton) . Gets a value indicating whether this is the frame the user starts pressing down the dominant controller's touchpad button. |
ClickButtonUp
|
static bool
GvrControllerInputDevice.GetButtonUp(GvrControllerButton.TouchPadButton) . Gets a value indicating whether this is the frame after the user stops pressing down the dominant controller's touchpad button. |
ErrorDetails
|
static string
GvrControllerInputDevice.ErrorDetails . Gets details about the reasoning behind the Dominant Controller's error state. |
Gyro
|
static Vector3
GvrControllerInputDevice.Gyro . Gets the dominant controller's current angular speed in radians per second. |
HomeButtonDown
|
static bool
GvrControllerInputDevice.GetButtonDown(GvrControllerButton.System) . Gets a value indicating whether this is the frame the user started pressing down the dominant controller's system button. |
HomeButtonState
|
static bool
Gets a value indicating whether the user is holding down the dominant controller's system button. |
IsCharging
|
static bool
GvrControllerInputDevice.IsCharging . Gets a value indicating whether the dominant controller is currently being charged. |
IsTouching
|
static bool
GvrControllerInputDevice.GetButton(GvrControllerButton.TouchPadTouch) . Gets a value indicating whether the user is touching the dominant controller's touchpad. |
OnDevicesChanged
|
static Action
Event handler for when controller devices have changed.
|
OnStateChanged
|
static OnStateChangedEvent
Event handler for when the connection state of the dominant controller changes.
|
Orientation
|
static Quaternion
GvrControllerInputDevice.Orientation . Gets the dominant controller's current orientation in space, as a quaternion. |
Recentered
|
static bool
Gets a value indicating whether the user just completed the recenter gesture.
|
Recentering
|
static bool
Recentered to detect when user has completed the recenter gesture. Gets a value indicating whether the user is currently recentering. |
State
|
static GvrConnectionState
GvrControllerInputDevice.State . Gets the dominant controller's current connection state. |
StatePtr
|
static IntPtr
GvrControllerInputDevice.StatePtr . Gets the GVR C library controller state pointer ( gvr_controller_state* ) for the dominant controller. |
SupportsBatteryStatus
|
static bool
Gets a value indicating whether battery status is supported.
|
TouchDown
|
static bool
GvrControllerInputDevice.GetButtonDown(GvrControllerButton.TouchPadTouch) . Gets a value indicating whether this frame is the frame the user starts touching the dominant controller's touchpad. |
TouchPos
|
static Vector2
GvrControllerInputDevice.TouchPos . Gets the position of the dominant controller's current touch, if touching the touchpad. |
TouchPosCentered
|
static Vector2
GvrControllerInputDevice.TouchPos . Gets the position of the dominant controller's current touch, if touching the touchpad. |
TouchUp
|
static bool
GvrControllerInputDevice.GetButtonUp(GvrControllerButton.TouchPadTouch) . Gets a value indicating whether this frame is the frame after the user stops touching the dominant controller's touchpad. |
Public functions |
|
---|---|
OnStateChangedEvent(GvrConnectionState state, GvrConnectionState oldState)
|
delegate void
Event handler for when the connection state of a controller changes.
|
Public static functions |
|
---|---|
GetDevice(GvrControllerHand hand)
|
Returns a controller device for the specified hand.
|
Public types
EmulatorConnectionMode
EmulatorConnectionMode
Public attributes
emulatorConnectionMode
EmulatorConnectionMode emulatorConnectionMode = EmulatorConnectionMode.USB
Indicates how to connect to the controller emulator.
Events
OnControllerInputUpdated
static Action OnControllerInputUpdated
Event handler for receiving button, touchpad, and IMU updates from the controllers.
Use this handler to update app state based on controller input.
OnPostControllerInputUpdated
static Action OnPostControllerInputUpdated
Event handler for receiving a second notification callback, after all OnControllerInputUpdated
events have fired.
Properties
Accel
static Vector3 Accel
Gets the dominant controller's current acceleration in meters per second squared.
Deprecated.
Replaced by GvrControllerInputDevice.Accel
.
The controller's axes are:
- X points to the right.
- Y points perpendicularly up from the controller's top surface.
- Z lies along the controller's body, pointing towards the front.
Note that gravity is indistinguishable from acceleration, so when the controller is resting on a surface, expect to measure an acceleration of 9.8 m/s^2 on the Y axis. The accelerometer reading will be zero on all three axes only if the controller is in free fall, or if the user is in a zero gravity environment like a space station.
The acceleration. Will be Vector3.zero
if GvrControllerInput
is uninitialized.
ApiStatus
static GvrControllerApiStatus ApiStatus
Gets the status of the controller API.
Returns GvrControllerApiStatus.Error
if GvrControllerInput
is uninitialized.
The api status.
AppButton
static bool AppButton
Gets a value indicating whether the user is currently holding down the dominant controller's app button.
Deprecated.
Replaced by GvrControllerInputDevice.GetButton(GvrControllerButton.App)
.
Returns false
if GvrControllerInput
is uninitialized.
Value true
if the user is currently holding down the dominant controller's app button, false
otherwise.
AppButtonDown
static bool AppButtonDown
Gets a value indicating whether this is the frame the user started pressing down the dominant controller's app button.
Deprecated.
Replaced by GvrControllerInputDevice.GetButtonDown(GvrControllerButton.App)
.
Returns false
if GvrControllerInput
is uninitialized. Every AppButtonDown
event is guaranteed to be followed by exactly one AppButtonUp
event in a later frame. AppButtonDown
and AppButtonUp
will never both be true
in the same frame.
Value true
if this is the frame the user started pressing down the dominant controller's app button, false
otherwise.
AppButtonUp
static bool AppButtonUp
Gets a value indicating whether this is the frame after the user stopped pressing down the dominant controller's app button.
Deprecated.
Replaced by GvrControllerInputDevice.GetButtonUp(GvrControllerButton.App)
.
Returns false
if GvrControllerInput
is uninitialized. Every AppButtonUp
event is guaranteed to be preceded by exactly one AppButtonDown
event in an earlier frame. Also, AppButtonDown
and AppButtonUp
will never both be true
in the same frame.
Value true
if this is the frame after the user stopped pressing down the dominant controller's app button, false
otherwise.
BatteryLevel
static GvrControllerBatteryLevel BatteryLevel
Gets the dominant controller's current battery charge level.
Deprecated.
Replaced by GvrControllerInputDevice.BatteryLevel
.
Returns GvrControllerBatteryLevel.Error
if GvrControllerInput
is uninitialized.
The dominant controller's current battery charge level.
ClickButton
static bool ClickButton
Gets a value indicating whether the user currently holds down the dominant controller's touchpad button.
Deprecated.
Replaced by GvrControllerInputDevice.GetButton(GvrControllerButton.TouchPadButton)
.
Returns false
if GvrControllerInput
is uninitialized.
Value true
if the user currently holds down the dominant controller's touchpad button, false
otherwise.
ClickButtonDown
static bool ClickButtonDown
Gets a value indicating whether this is the frame the user starts pressing down the dominant controller's touchpad button.
Deprecated.
Replaced by GvrControllerInputDevice.GetButtonDown(GvrControllerButton.TouchPadButton)
.
Returns false
if GvrControllerInput
is uninitialized. Every ClickButtonDown
event is guaranteed to be followed by exactly one ClickButtonUp
event in a later frame. Also, ClickButtonDown
and ClickButtonUp
will never both be true
in the same frame.
Value true
this is the frame the user started pressing down the dominant controller's touchpad button, false
otherwise.
ClickButtonUp
static bool ClickButtonUp
Gets a value indicating whether this is the frame after the user stops pressing down the dominant controller's touchpad button.
Deprecated.
Replaced by GvrControllerInputDevice.GetButtonUp(GvrControllerButton.TouchPadButton)
.
Returns false
if GvrControllerInput
is uninitialized. Every ClickButtonUp
event is guaranteed to be preceded by exactly one ClickButtonDown
event in an earlier frame. Also, ClickButtonDown
and ClickButtonUp
will never both be true
in the same frame.
Value true
if this is the frame after the user stops pressing down the dominant controller's touchpad button, false
otherwise.
ErrorDetails
static string ErrorDetails
Gets details about the reasoning behind the Dominant Controller's error state.
Deprecated.
Replaced by GvrControllerInputDevice.ErrorDetails
.
If the dominant controller's state == GvrConnectionState.Error
, this contains details about the error. If GvrControllerInput
is uninitialized this returns an error string describing the uninitialized state.
Details about the reasoning behind the dominant controller's error state.
Gyro
static Vector3 Gyro
Gets the dominant controller's current angular speed in radians per second.
Deprecated.
Replaced by GvrControllerInputDevice.Gyro
.
Uses the right-hand rule (positive means a right-hand rotation about the given axis), as measured by the controller's gyroscope. Returns Vector3.zero
if GvrControllerInput
is uninitialized.
The controller's axes are:
- X points to the right.
- Y points perpendicularly up from the controller's top surface.
- Z lies along the controller's body, pointing towards the front.
The gyro's angular speed.
HomeButtonDown
static bool HomeButtonDown
Gets a value indicating whether this is the frame the user started pressing down the dominant controller's system button.
Deprecated.
Replaced by GvrControllerInputDevice.GetButtonDown(GvrControllerButton.System)
.
Returns false
if GvrControllerInput
is uninitialized.
Value true
if this is the frame the user started pressing down the dominant controller's system button, false
otherwise.
HomeButtonState
static bool HomeButtonState
Gets a value indicating whether the user is holding down the dominant controller's system button.
Deprecated. Replaced by GvrControllerInputDevice.GetButton(GvrControllerButton.System).
Returns false
if GvrControllerInput
is uninitialized.
Value true
if the user is holding down the dominant controller's system button, false
otherwise.
IsCharging
static bool IsCharging
Gets a value indicating whether the dominant controller is currently being charged.
Deprecated.
Replaced by GvrControllerInputDevice.IsCharging
.
Returns false
if GvrControllerInput
is uninitialized.
Value true
if the dominant controller is charging. Otherwise, false
.
IsTouching
static bool IsTouching
Gets a value indicating whether the user is touching the dominant controller's touchpad.
Deprecated.
Replaced by GvrControllerInputDevice.GetButton(GvrControllerButton.TouchPadTouch)
.
Returns false
if GvrControllerInput
is uninitialized.
Value true
if is touching. Otherwise, false
.
OnDevicesChanged
static Action OnDevicesChanged
Event handler for when controller devices have changed.
Any code that stores a GvrControllerInputDevice
should get a new device instance from GetDevice
. Existing GvrControllerInputDevice
s will be marked invalid and will log errors when used. Event handlers are called immediately when added.
OnStateChanged
static OnStateChangedEvent OnStateChanged
Event handler for when the connection state of the dominant controller changes.
Orientation
static Quaternion Orientation
Gets the dominant controller's current orientation in space, as a quaternion.
Deprecated.
Replaced by GvrControllerInputDevice.Orientation
.
The rotation is provided in 'orientation space' which means the rotation is given relative to the last time the user recentered their controllers. To make a game object in your scene have the same orientation as the dominant controller, simply assign this quaternion to the object's transform.rotation
. To match the relative rotation, use transform.localRotation
instead.
The orientation. This is Quaternion.identity
if GvrControllerInput
is uninitialized.
Recentered
static bool Recentered
Gets a value indicating whether the user just completed the recenter gesture.
Returns false
if GvrControllerInput
is uninitialized. The headset and the dominant controller's orientation are now being reported in the new recentered coordinate system. This is an event flag (it is true for only one frame after the event happens, then reverts to false).
Value true
if the user has just finished recentering, false
otherwise.
Recentering
static bool Recentering
Gets a value indicating whether the user is currently recentering.
Deprecated.
Use Recentered
to detect when user has completed the recenter gesture.
Value true
if the user is currently recentering, false
otherwise.
State
static GvrConnectionState State
Gets the dominant controller's current connection state.
Deprecated.
Replaced by GvrControllerInputDevice.State
.
Returns GvrConnectionState.Error
if GvrControllerInput
is uninitialized.
The state.
StatePtr
static IntPtr StatePtr
Gets the GVR C library controller state pointer (gvr_controller_state*
) for the dominant controller.
Deprecated.
Replaced by GvrControllerInputDevice.StatePtr
.
Returns IntPtr.Zero
if GvrControllerInput
is uninitialized.
The GVR C library controller state pointer (gvr_controller_state*
) for the dominant controller.
SupportsBatteryStatus
static bool SupportsBatteryStatus
Gets a value indicating whether battery status is supported.
Returns false
if GvrControllerInput
is uninitialized.
Value true
if the GVR Controller Input supports BatteryStatus calls, false
otherwise.
TouchDown
static bool TouchDown
Gets a value indicating whether this frame is the frame the user starts touching the dominant controller's touchpad.
Deprecated.
Replaced by GvrControllerInputDevice.GetButtonDown(GvrControllerButton.TouchPadTouch)
.
Returns false
if GvrControllerInput
is uninitialized. Every TouchDown
event is guaranteed to be followed by exactly one TouchUp
event in a later frame. Also, TouchDown
and TouchUp
will never both be true
in the same frame.
Value true
if this is the frame after the user starts touching the dominant controller's touchpad, false
otherwise.
TouchPos
static Vector2 TouchPos
Gets the position of the dominant controller's current touch, if touching the touchpad.
Deprecated.
Please migrate to the center-relative GvrControllerInputDevice.TouchPos
.
Returns Vector2(0.5f, 0.5f)
if GvrControllerInput
is uninitialized. If not touching, this is the position of the last touch (when the finger left the touchpad). The X and Y range is from 0 to 1. (0, 0) is the top left of the touchpad and (1, 1) is the bottom right of the touchpad.
The touch position.
TouchPosCentered
static Vector2 TouchPosCentered
Gets the position of the dominant controller's current touch, if touching the touchpad.
Deprecated.
Please migrate to the center-relative GvrControllerInputDevice.TouchPos
.
Returns Vector2.zero
if GvrControllerInput
is uninitialized. If not touching, this is the position of the last touch (when the finger left the touchpad). The X and Y range is from -1 to 1. (-.707,-.707) is bottom left, (.707,.707) is upper right. (0, 0) is the center of the touchpad. The magnitude of the touch vector is guaranteed to be less than or equal to 1.
The touch position centered.
TouchUp
static bool TouchUp
Gets a value indicating whether this frame is the frame after the user stops touching the dominant controller's touchpad.
Deprecated.
Replaced by GvrControllerInputDevice.GetButtonUp(GvrControllerButton.TouchPadTouch)
.
Returns false
if GvrControllerInput
is uninitialized. Every TouchUp
event is guaranteed to be preceded by exactly one TouchDown
event in an earlier frame. Also, TouchDown
and TouchUp
will never both be true
in the same frame.
Value true
if this is the frame after the user stops touching the dominant controller's touchpad, false
otherwise.
Public functions
OnStateChangedEvent
delegate void OnStateChangedEvent( GvrConnectionState state, GvrConnectionState oldState )
Event handler for when the connection state of a controller changes.
Details | |||||
---|---|---|---|---|---|
Parameters |
|
Public static functions
GetDevice
GvrControllerInputDevice GetDevice( GvrControllerHand hand )
Returns a controller device for the specified hand.
Details | |||
---|---|---|---|
Parameters |
|
||
Returns |
The controller input device.
|