mirror of
https://github.com/servo/servo.git
synced 2025-07-23 07:13:52 +01:00
* Implement Servo side of GamepadHapticActuator Signed-off-by: Daniel Adams <msub2official@gmail.com> * Get build working Signed-off-by: Daniel Adams <msub2official@gmail.com> * Create effect handling on embedder side Signed-off-by: Daniel Adams <msub2official@gmail.com> * Update tracing for GamepadHapticEffect Signed-off-by: Daniel Adams <msub2official@gmail.com> * Update gilrs to point to commit with effect complete event Signed-off-by: Daniel Adams <msub2official@gmail.com> * Implement playing and preempting haptic effects Signed-off-by: Daniel Adams <msub2official@gmail.com> * Update IDL to add trigger rumble Signed-off-by: Daniel Adams <msub2official@gmail.com> * Update WPT expectations Signed-off-by: Daniel Adams <msub2official@gmail.com> * Handle stopping haptic effects from reset() Signed-off-by: Daniel Adams <msub2official@gmail.com> * ./mach fmt, fix test-tidy issues Signed-off-by: Daniel Adams <msub2official@gmail.com> * Add extra validity checks for trigger rumble Signed-off-by: Daniel Adams <msub2official@gmail.com> * Retrieve supported haptic effects from embedder Signed-off-by: Daniel Adams <msub2official@gmail.com> * Fix test expectations Signed-off-by: Daniel Adams <msub2official@gmail.com> * Add missing spec link, pin gilrs commit Signed-off-by: Daniel Adams <msub2official@gmail.com> * servoshell cargo formatting Signed-off-by: Daniel Adams <msub2official@gmail.com> * Fix Cargo.toml Signed-off-by: Daniel Adams <msub2official@gmail.com> * Additional comments, realm proof, naming Signed-off-by: Daniel Adams <msub2official@gmail.com> * ./mach fmt Signed-off-by: Daniel Adams <msub2official@gmail.com> * Update gilrs rev to gilrs-core 0.5.12 release Signed-off-by: Daniel Adams <msub2official@gmail.com> * Implement sequence ids for gamepad haptic promises Signed-off-by: Daniel Adams <msub2official@gmail.com> * Take playing effect promise instead of cloning Signed-off-by: Daniel Adams <msub2official@gmail.com> * Implement listener for reset function Signed-off-by: Daniel Adams <msub2official@gmail.com> * Fix Cargo.lock Signed-off-by: Daniel Adams <msub2official@gmail.com> * Restructure IPC listeners, add comments, handle visibility change Signed-off-by: Daniel Adams <msub2official@gmail.com> * Check that haptic effect still exists before handling ff completion event Signed-off-by: Daniel Adams <msub2official@gmail.com> * Visibility steps, add InRealm bindings for promises Signed-off-by: Daniel Adams <msub2official@gmail.com> * Add Gamepad EmbedderMsg arms to egl servo_glue Signed-off-by: Daniel Adams <msub2official@gmail.com> --------- Signed-off-by: Daniel Adams <msub2official@gmail.com>
36 lines
1.3 KiB
Text
36 lines
1.3 KiB
Text
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
|
|
|
|
// https://w3c.github.io/gamepad/#gamepad-interface
|
|
[Exposed=Window, Pref="dom.gamepad.enabled"]
|
|
interface Gamepad {
|
|
readonly attribute DOMString id;
|
|
readonly attribute long index;
|
|
readonly attribute boolean connected;
|
|
readonly attribute DOMHighResTimeStamp timestamp;
|
|
readonly attribute DOMString mapping;
|
|
readonly attribute Float64Array axes;
|
|
[SameObject] readonly attribute GamepadButtonList buttons;
|
|
[SameObject] readonly attribute GamepadHapticActuator vibrationActuator;
|
|
};
|
|
|
|
// https://w3c.github.io/gamepad/extensions.html#partial-gamepad-interface
|
|
partial interface Gamepad {
|
|
readonly attribute GamepadHand hand;
|
|
// readonly attribute FrozenArray<GamepadHapticActuator> hapticActuators;
|
|
readonly attribute GamepadPose? pose;
|
|
};
|
|
|
|
// https://w3c.github.io/gamepad/extensions.html#gamepadhand-enum
|
|
enum GamepadHand {
|
|
"", /* unknown, both hands, or not applicable */
|
|
"left",
|
|
"right"
|
|
};
|
|
|
|
// https://www.w3.org/TR/gamepad/#extensions-to-the-windoweventhandlers-interface-mixin
|
|
partial interface mixin WindowEventHandlers {
|
|
attribute EventHandler ongamepadconnected;
|
|
attribute EventHandler ongamepaddisconnected;
|
|
};
|