Rumble Effect support for Gamepad API
Categories
(Core :: DOM: Device Interfaces, enhancement, P4)
Tracking
()
People
(Reporter: sicking, Assigned: jesup)
References
(Depends on 6 open bugs, Blocks 3 open bugs)
Details
(Keywords: dev-doc-needed, Whiteboard: nospec)
Attachments
(5 files, 1 obsolete file)
Comment 1•15 years ago
|
||
Updated•15 years ago
|
Comment 2•15 years ago
|
||
Comment 3•14 years ago
|
||
Comment 4•14 years ago
|
||
Comment 5•14 years ago
|
||
Comment 6•14 years ago
|
||
Comment 7•14 years ago
|
||
Comment 8•14 years ago
|
||
Comment 9•14 years ago
|
||
Comment 10•14 years ago
|
||
Comment 11•14 years ago
|
||
Comment 12•14 years ago
|
||
Comment 13•14 years ago
|
||
Comment 14•14 years ago
|
||
Comment 15•14 years ago
|
||
Comment 16•13 years ago
|
||
Comment 17•13 years ago
|
||
Updated•13 years ago
|
Comment 18•13 years ago
|
||
Comment 19•13 years ago
|
||
Updated•13 years ago
|
Comment 20•13 years ago
|
||
Comment 21•13 years ago
|
||
Updated•13 years ago
|
Updated•13 years ago
|
Updated•13 years ago
|
Updated•12 years ago
|
Comment 22•11 years ago
|
||
Comment 23•11 years ago
|
||
Comment 24•11 years ago
|
||
| Reporter | ||
Comment 25•11 years ago
|
||
Comment 26•11 years ago
|
||
| Reporter | ||
Comment 27•11 years ago
|
||
Comment 28•11 years ago
|
||
Comment 29•9 years ago
|
||
Updated•8 years ago
|
Comment 30•8 years ago
|
||
Updated•3 years ago
|
| Assignee | ||
Comment 32•2 months ago
|
||
Implements the W3C Gamepad haptics API surface end-to-end:
- WebIDL: GamepadHapticEffectType, GamepadHapticsResult, GamepadEffectParameters,
playEffect()/reset() on GamepadHapticActuator, vibrationActuator on Gamepad - IPC: PlayHaptic/ResetHaptic/ReplyGamepadHapticsResult messages
- GamepadPlatformService: deferred promise-resolution token registry
- All platform backends stubbed (resolve complete immediately)
Updated•2 months ago
|
| Assignee | ||
Comment 33•2 months ago
|
||
Drive the XInput rumble motors from the deferred-result haptics path added
in the previous commit. Load XInputSetState, report one haptic actuator for
XInput pads, and run dual-rumble effects on the monitor thread with a timer
for startDelay/duration. Handle preemption, reset, and device removal by
resolving the outstanding promise (preempted) and zeroing the motors. Route
the legacy pulse() path through the same backend.
| Assignee | ||
Comment 34•2 months ago
|
||
Exercises the new dual-rumble API end-to-end through the mock GamepadService:
vibrationActuator is non-null when the pad reports a haptic actuator,
playEffect('dual-rumble') and reset() resolve 'complete' via the no-device
backend path, and an out-of-range magnitude rejects with a TypeError.
Updated•2 months ago
|
Updated•2 months ago
|
Updated•2 months ago
|
Updated•1 month ago
|
| Assignee | ||
Comment 35•1 month ago
|
||
Updated•1 month ago
|
| Assignee | ||
Comment 36•1 month ago
|
||
Binding codegen expects the getter for a non-nullable interface-typed
attribute to be named after the attribute directly, without the 'Get'
prefix (that prefix is reserved for nullable attributes, where returning
nullptr represents the null case). vibrationActuator lost its '?' earlier
in this stack but the C++ getter kept the old name, so GamepadBinding.cpp's
generated code failed to find a matching method.
Updated•1 month ago
|
Description
•