Intent to Ship: Gamepad API Trigger-Rumble Extension

466 views
Skip to first unread message

Gabriel Brito

unread,
Apr 10, 2024, 7:02:45 PMApr 10
to blin...@chromium.org, Matt Reynolds, Steve Becker
Contact emails

Explainer

Specification

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

TAG review

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.




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

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 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?
A manual test to verify the trigger rumble behavior is currently in review.
This feature added the GamepadHapticActuator.effects array and the test below checks for its presence.


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

Finch feature name
WGIGamepadTriggerRumble

Requires code in //chrome?
False

Tracking bug

Launch bug

Sample links

Estimated milestones
Shipping on desktop
126
DevTrial on desktop
105


Anticipated spec changes
None


Link to entry on the Chrome Platform Status

Links to previous Intent discussions

This intent message was generated by Chrome Platform Status.


Alex Russell

unread,
Apr 11, 2024, 3:55:40 PMApr 11
to blink-dev, Gabriel Brito, mattre...@google.com, ste...@microsoft.com
LGTM1

Thomas Steiner

unread,
Apr 12, 2024, 5:16:53 AMApr 12
to Alex Russell, blink-dev, Gabriel Brito, mattre...@google.com, ste...@microsoft.com
Updated the developer-facing gamepad article: https://web.dev/articles/gamepad#the_vibration_actuator.

Mike Taylor

unread,
Apr 12, 2024, 1:25:12 PMApr 12
to Thomas Steiner, Alex Russell, blink-dev, Gabriel Brito, mattre...@google.com, ste...@microsoft.com

LGTM2

On 4/12/24 5:16 AM, 'Thomas Steiner' via blink-dev wrote:
Updated the developer-facing gamepad article: https://web.dev/articles/gamepad#the_vibration_actuator.
--
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 blink-dev+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CALgRrLnvkFcy-YZxaEdd10U4COQt825r2uHFUqiobHyNw%3DKGzQ%40mail.gmail.com.

Yoav Weiss (@Shopify)

unread,
Apr 15, 2024, 10:04:47 PMApr 15
to Gabriel Brito, blin...@chromium.org, Matt Reynolds, Steve Becker
On Thu, Apr 11, 2024 at 1:02 AM 'Gabriel Brito' via blink-dev <blin...@chromium.org> wrote:
Contact emails

Explainer

Specification

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

TAG review

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.




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?
 
--
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 blink-dev+...@chromium.org.

Gabriel Brito

unread,
Apr 16, 2024, 2:05:22 PMApr 16
to Yoav Weiss (@Shopify), blin...@chromium.org, Matt Reynolds, Steve Becker
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.
After that, I asked WebKit to officially reconsider their position, which they are doing.


From: Yoav Weiss (@Shopify) <yoav...@chromium.org>
Sent: Monday, April 15, 2024 7:04 PM
To: Gabriel Brito <gabrie...@microsoft.com>
Cc: blin...@chromium.org <blin...@chromium.org>; Matt Reynolds <mattre...@google.com>; Steve Becker <ste...@microsoft.com>
Subject: [EXTERNAL] Re: [blink-dev] Intent to Ship: Gamepad API Trigger-Rumble Extension
 
You don't often get email from yoav...@chromium.org. Learn why this is important

Domenic Denicola

unread,
Apr 16, 2024, 9:50:01 PMApr 16
to blink-dev, Gabriel Brito, blin...@chromium.org, mattre...@google.com, ste...@microsoft.com, Yoav Weiss
LGTM3. Thanks Yoav for digging in to the WebKit position!

To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+unsubscribe@chromium.org.
Reply all
Reply to author
Forward
0 new messages