diff options
Diffstat (limited to 'testing/web-platform/tests/interfaces/gamepad.idl')
-rw-r--r-- | testing/web-platform/tests/interfaces/gamepad.idl | 76 |
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; +}; |