summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/interfaces/gamepad.idl
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/tests/interfaces/gamepad.idl')
-rw-r--r--testing/web-platform/tests/interfaces/gamepad.idl76
1 files changed, 76 insertions, 0 deletions
diff --git a/testing/web-platform/tests/interfaces/gamepad.idl b/testing/web-platform/tests/interfaces/gamepad.idl
new file mode 100644
index 0000000000..77a22c1d85
--- /dev/null
+++ b/testing/web-platform/tests/interfaces/gamepad.idl
@@ -0,0 +1,76 @@
+// GENERATED CONTENT - DO NOT EDIT
+// Content was automatically extracted by Reffy into webref
+// (https://github.com/w3c/webref)
+// Source: Gamepad (https://w3c.github.io/gamepad/)
+
+[Exposed=Window, SecureContext]
+interface Gamepad {
+ readonly attribute DOMString id;
+ readonly attribute long index;
+ readonly attribute boolean connected;
+ readonly attribute DOMHighResTimeStamp timestamp;
+ readonly attribute GamepadMappingType mapping;
+ readonly attribute FrozenArray<double> axes;
+ readonly attribute FrozenArray<GamepadButton> buttons;
+ [SameObject] readonly attribute GamepadHapticActuator vibrationActuator;
+};
+
+[Exposed=Window, SecureContext]
+interface GamepadButton {
+ readonly attribute boolean pressed;
+ readonly attribute boolean touched;
+ readonly attribute double value;
+};
+
+enum GamepadMappingType {
+ "",
+ "standard",
+ "xr-standard",
+};
+
+[Exposed=Window]
+interface GamepadHapticActuator {
+ [SameObject] readonly attribute FrozenArray<GamepadHapticEffectType> effects;
+ Promise<GamepadHapticsResult> playEffect(
+ GamepadHapticEffectType type,
+ optional GamepadEffectParameters params = {}
+ );
+ Promise<GamepadHapticsResult> reset();
+};
+
+enum GamepadHapticsResult {
+ "complete",
+ "preempted"
+};
+
+enum GamepadHapticEffectType {
+ "dual-rumble"
+};
+
+dictionary GamepadEffectParameters {
+ unsigned long long duration = 0;
+ unsigned long long startDelay = 0;
+ double strongMagnitude = 0.0;
+ double weakMagnitude = 0.0;
+};
+
+[Exposed=Window]
+partial interface Navigator {
+ sequence<Gamepad?> getGamepads();
+};
+
+[Exposed=Window, SecureContext]
+
+interface GamepadEvent: Event {
+ constructor(DOMString type, GamepadEventInit eventInitDict);
+ [SameObject] readonly attribute Gamepad gamepad;
+};
+
+dictionary GamepadEventInit : EventInit {
+ required Gamepad gamepad;
+};
+
+partial interface mixin WindowEventHandlers {
+ attribute EventHandler ongamepadconnected;
+ attribute EventHandler ongamepaddisconnected;
+};