- From: Ted Mielczarek <ted@mozilla.com>
- Date: Thu, 03 Apr 2014 11:34:22 -0400
- To: Brandon Jones <bajones@google.com>, Patrick Martin <patrick.martin.r@gmail.com>
- CC: Webapps WG <public-webapps@w3.org>
- Message-ID: <533D7F7E.4030704@mozilla.com>
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