Re: [gamepad] Haptic Feedback/Controller Vibration

On 3/24/2014 1:04 AM, Brandon Jones wrote:
> Mozilla has played around with gamepad vibration a bit
> already: https://bugzilla.mozilla.org/show_bug.cgi?id=680289
> There's been some mixed messages, but so far the basic idea seems to
> be to either extend the existing Vibration API
> <http://www.w3.org/TR/2014/WD-vibration-20140211/> to handle multiple
> motors (and presumably associate it back to a specific pad) or to add
> a very similar looking "vibrate" function to the gamepad API.
> Something like:
>
> vibrate(int motorIndex, float intensity);
Our primary intention there was simply "don't reinvent the wheel if you
don't have to". If we can map controller vibration to the existing
Vibration API that saves us having to do a whole bunch of spec work
ourselves. Given the extra complexity of having multiple vibration
motors at different frequencies it may be unavoidable though. I think
it's still worth pursuing, we should at least talk to the people behind
the Vibration API to see if we can leverage their work.

>
> Personally I think that there's got to be a little more to it than
> that. For one, you'll want to be able to query not only how many
> motors a device has but have a way of expressing what type of feedback
> that motor provides (is it a heavy motor, etc.) and possibly some
> description of it's locality (The Xbox One controller has motors in
> each trigger, and the Steam controller has motors under each
> touchpad.) I have no idea how to concisely and robustly communicate
> that information. This also assumes that the device has simple X-Input
> style feedback, not the more complicated joystick force feedback that
> was all the rage in the 90s. (Which is far more complicated and fairly
> dead, so I doubt it's worth addressing at all.)

Figuring all this out is one of the reasons we punted on this. I'd love
to come back around to it, but I'd like to get the spec finalized first.

>
> As for controller speakers, I see the argument that it's a type of
> controller feedback, but I don't think it should be conflated with
> controller vibration. I see them as two very distinct features. It
> /is/ an interesting feature to consider on it's own, though.
Yeah, short of having an actual audio output on the controller (like the
Wii remote, or a headset attached to an Xbox controller), exposing
rumble as Web Audio seems unnecessarily complex. At the platform level
the API tends to be just "set this motor to this intensity", so there's
a lot of layers of abstraction in between.

-Ted

Received on Thursday, 3 April 2014 15:34:49 UTC