- From: Ted Mielczarek <ted@mozilla.com>
- Date: Thu, 03 Apr 2014 14:07:52 -0400
- To: Florian Bösch <pyalot@gmail.com>, "Patrick H. Lauke" <redux@splintered.co.uk>
- CC: Webapps WG <public-webapps@w3.org>
- Message-ID: <533DA378.9050300@mozilla.com>
On 4/3/2014 12:05 PM, Florian Bösch wrote: > Every controller is an assemblage of input and output hardware. It's > vastly much easier to to oversee what kind of devices you'll get which > are: > > * Buttons (down or up) > * Axes (scalar value) > * Rumbles (speed) > * Motors (negative/positive force and/or scalar value for position) > * Screens (bitmap) > * Lights (intensity and/or color) > * Touchpads (touch events) > * Text displays (text) > > That's not a "monolythic API", that's how every other game controller > API in existence on any platform works (like evdev, DirectInput, > etc.). The attempt to wrap specific usecases is what is a monolythic > monster API that tries to be everything and the kitchensink in the end. > Note: DirectInput has been deprecated in favor of XInput, a much simpler API that maps directly to the Xbox 360 controller: http://msdn.microsoft.com/en-us/library/windows/desktop/ee417001%28v=vs.85%29.aspx Trying to design an API that's everything to everyone is extremely hard and likely to produce unsatisfactory results. We chose to focus on the most useful subset of things that are common to all controllers. I believe the API we've spec'ed is useful in spite of not covering everything that exists in the world. I am not opposed to the idea of extending it to cover other common features of game controllers, but I do think we'll stick to concepts that are widely accepted (like vibration) and not bleeding-edge things supported by a single device (touchpads, colored LED). If these things gain traction then it makes sense to discuss spec'ing them. Otherwise you run the risk of spec'ing something that has only one hardware example, thus making the API hard to generalize to other devices that introduce similar (but not identical) features in the future. -Ted
Received on Thursday, 3 April 2014 18:08:21 UTC