The hand this gamepad is usually handled on. Only relevant for XR pads. Value is either "left", "right" or "none".
The identifier for the gamepad. Its structure depends on device.
The index for this controller. A gamepad that is disconnected and reconnected will retain the same index.
The buttons and axes map.
The gamepad mapping detected by the browser. Value is either "standard", "xr-standard", "" or "custom". When empty string, you may need to update the mapping yourself. "custom" means you updated the mapping.
Gets the values from analog axes present on the GamePad. Values are between -1 and 1.
Gets the buttons present on the GamePad.
Gets whether the gamepad is connected.
Get the value of one of the analog axes of the pad.
The axis to get the value of, use constants PAD_L_STICK_X, etc.
The value of the axis between -1 and 1.
Retrieve a button from its index.
The index to return the button for.
The button for the searched index. May be a placeholder if none found.
Returns the value of a button between 0 and 1, with 0 representing a button that is not pressed, and 1 representing a button that is fully pressed.
The button to retrieve, use constants PAD_FACE_1, etc.
The value of the button between 0 and 1.
Returns true if the button is pressed.
The button to test, use constants PAD_FACE_1, etc.
True if the button is pressed.
Returns true if the button is touched.
The button to test, use constants PAD_FACE_1, etc.
True if the button is touched.
Make the gamepad vibrate.
Intensity for the vibration in the range 0 to 1.
Duration for the vibration in milliseconds.
Optional
options: { startDelay?: number; strongMagnitude?: number; weakMagnitude?: number }Options for special vibration pattern.
Optional
startDelay?: numberDelay before the pattern starts, in milliseconds. Defaults to 0.
Optional
strongMagnitude?: numberIntensity for strong actuators in the range 0 to 1. Defaults to intensity.
Optional
weakMagnitude?: numberIntensity for weak actuators in the range 0 to 1. Defaults to intensity.
Return a Promise resulting in true if the pulse was successfully completed.
Update the map for this gamepad.
The new mapping for this gamepad.
Axes mapping for this gamepad.
Buttons mapping for this gamepad.
Optional
mapping?: "custom"New mapping format. Will be forced into "custom".
Optional
synthesizedButtons?: objectInformation about buttons to pull from axes for this gamepad. Requires definition of axis index, min value and max value.
this.pad.updateMap({
buttons: [[
'PAD_FACE_1',
'PAD_FACE_2',
'PAD_FACE_3',
'PAD_FACE_4',
'PAD_L_SHOULDER_1',
'PAD_R_SHOULDER_1',
'PAD_L_SHOULDER_2',
'PAD_R_SHOULDER_2',
'PAD_SELECT',
'PAD_START',
'PAD_L_STICK_BUTTON',
'PAD_R_STICK_BUTTON',
'PAD_VENDOR'
],
axes: [
'PAD_L_STICK_X',
'PAD_L_STICK_Y',
'PAD_R_STICK_X',
'PAD_R_STICK_Y'
],
synthesizedButtons: {
PAD_UP: { axis: 0, min: 0, max: 1 },
PAD_DOWN: { axis: 0, min: -1, max: 0 },
PAD_LEFT: { axis: 0, min: -1, max: 0 },
PAD_RIGHT: { axis: 0, min: 0, max: 1 }
}
});
Return true if the button was pressed since the last update.
The button to test, use constants PAD_FACE_1, etc.
Return true if the button was pressed, false if not.
Return true if the button was released since the last update.
The button to test, use constants PAD_FACE_1, etc.
Return true if the button was released, false if not.
Return true if the button was touched since the last update.
The button to test, use constants PAD_FACE_1, etc.
Return true if the button was touched, false if not.
A GamePad stores information about a gamepad from the Gamepad API.