WebKit decided to implement the feature behind a feature flag by Jan 2023 for 
web compat. Since then, we have collaborated at the W3C in the Web Apps WG and 
added both the GamepadHapticActuator API and the trigger-rumble extension to 
the Gamepad API spec. Apple helped review and approved both spec pull requests 
below.

  *
Add vibrationActuator to the main spec by gabrielsanbrito · Pull Request #190 · 
w3c/gamepad (github.com)<https://github.com/w3c/gamepad/pull/190>
  *
Add trigger rumble effect by gabrielsanbrito · Pull Request #195 · w3c/gamepad 
(github.com)<https://github.com/w3c/gamepad/pull/195>

After that, I asked WebKit to officially reconsider their position, which they 
are doing.

________________________________
From: Yoav Weiss (@Shopify) <[email protected]>
Sent: Monday, April 15, 2024 7:04 PM
To: Gabriel Brito <[email protected]>
Cc: [email protected] <[email protected]>; Matt Reynolds 
<[email protected]>; Steve Becker <[email protected]>
Subject: [EXTERNAL] Re: [blink-dev] Intent to Ship: Gamepad API Trigger-Rumble 
Extension

You don't often get email from [email protected]. Learn why this is 
important<https://aka.ms/LearnAboutSenderIdentification>


On Thu, Apr 11, 2024 at 1:02 AM 'Gabriel Brito' via blink-dev 
<[email protected]<mailto:[email protected]>> wrote:
Contact emails
[email protected]<mailto:[email protected]>

Explainer
https://github.com/MicrosoftEdge/MSEdgeExplainers/blob/main/GamepadHapticsActuatorTriggerRumble/explainer.md

Specification
https://w3c.github.io/gamepad/#dom-gamepadhapticeffecttype-trigger-rumble

Design docs
None

Summary

Extend the GamepadHapticActuator interface to expose the trigger-rumble 
capability in the Web for compatible gamepads. This extension will allow Web 
applications that take advantage of the Gamepad API to also vibrate the 
triggers of gamepad devices that come equipped with this functionality.


Blink component
Blink>GamepadAPI<https://bugs.chromium.org/p/chromium/issues/list?q=component:Blink%3EGamepadAPI>

TAG review
https://github.com/w3ctag/design-reviews/issues/934

TAG review status
Issues addressed

Risks


Interoperability and Compatibility

The trigger-rumble extension has been added to the Gamepad API spec. Both 
Chromium and WebKit have this feature implemented behind a feature flag.

https://w3c.github.io/gamepad/#dom-gamepadhapticeffecttype-trigger-rumble


Gecko: No signal (https://github.com/mozilla/standards-positions/issues/656)

WebKit: In development (https://github.com/WebKit/standards-positions/issues/1) 
The feature has been specified and is currently working behind a feature flag 
in WebKit. https://bugs.webkit.org/show_bug.cgi?id=250352

I'm confused by the status of this position. IIUC WebKit are opposed to this, 
but (partially) implemented this for compat reasons? Can you expand on the 
status here?


Web developers: Positive. One cloud gaming company is currently using this API.

Other signals:

WebView application risks
Not supported on Android.


Debuggability


Will this feature be supported on all six Blink platforms (Windows, Mac, Linux, 
ChromeOS, Android, and Android WebView)?
No

The feature is fully supported on both Windows and macOS. It is also supported 
on ChromeOS and Linux over Bluetooth. However, it is not supported on:
- Linux and ChromeOS over USB: xpad<https://github.com/paroj/xpad> does not 
support this capability.
- Android: both xpad and Android's VibratorManager do not support this 
capability.

Is this feature fully tested by 
web-platform-tests<https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md>?
A manual test to verify the trigger rumble behavior is currently in 
review<https://crrev.com/c/5429053>.
This feature added the GamepadHapticActuator.effects array and the test below 
checks for its presence.

https://wpt.fyi/results/gamepad/idlharness.window.html?label=experimental&label=master&aligned

Flag name on chrome://flags
chrome://flags/#enable-gamepad-trigger-rumble

Finch feature name
WGIGamepadTriggerRumble

Requires code in //chrome?
False

Tracking bug
https://crbug.com/40834175

Launch bug
https://launch.corp.google.com/launch/4316636

Sample links
https://nondebug.github.io/gamepad-explorer

Estimated milestones
Shipping on desktop
126
DevTrial on desktop
105


Anticipated spec changes
None


Link to entry on the Chrome Platform Status
https://chromestatus.com/feature/5162940951953408

Links to previous Intent discussions
Intent to prototype: 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/DM5PR21MB0172E0D85E13D52B90A0A4D8D5B09%40DM5PR21MB0172.namprd21.prod.outlook.com

This intent message was generated by Chrome Platform 
Status<https://chromestatus.com/>.


--
You received this message because you are subscribed to the Google Groups 
"blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to 
[email protected]<mailto:[email protected]>.
To view this discussion on the web visit 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CY8PR00MB1645E134520E311663BE6ECCD5062%40CY8PR00MB1645.namprd00.prod.outlook.com<https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CY8PR00MB1645E134520E311663BE6ECCD5062%40CY8PR00MB1645.namprd00.prod.outlook.com?utm_medium=email&utm_source=footer>.

-- 
You received this message because you are subscribed to the Google Groups 
"blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/SA1PR00MB1643483CC411691A39505714D5082%40SA1PR00MB1643.namprd00.prod.outlook.com.

Reply via email to