Re: [w3c/gamepad] Added touched property to GamepadButton (#26)

I completely agree that we don't want to do something that only works for a single set of controllers! I'm also wary of tying gamepads too closely to a spec as large as pointer events, which has thus far been developed with no regard to this use case. I was my hope that this would be a good middle ground, but I'm very happy to have a constructive conversation about alternatives!

So to start off, I should point out a couple of the controllers that I'm aware of which could potentially take advantage of this feature.

- [Steam Controller](http://store.steampowered.com/app/353370/): Two touchpads, each only registers a single touch point and can register clicks like a button.
- [Vive Controllers](https://www.htcvive.com/us/product/): One touchpad per controller (you typically hold two). Each registers a single touch point and can register clicks like a button.
- [Oculus Touch](https://www.oculus.com/en-us/touch/): No touchpad, but has several capacitive controls to detect finger positions. (Joystick and two triggers can all detect when there is a finger on them.) Joystick can be clicked as well, like joysticks on XBox/PS controllers. Triggers are analog like XBox/PS triggers.
- [Daydream controller](https://developers.google.com/vr/concepts/controller-emulator): The controller for Google's VR system has a touchpad that registers a single touch point and registers clicks like a button. 
- [PS4 Controller](https://www.playstation.com/en-us/explore/accessories/dualshock-4-wireless-controller-ps4/): Has a touchpad can register two touch points and registers clicks like a button.
- [Shield Gamepad](https://shield.nvidia.com/support/shield-controller/faq/2): Has a touchpad, though I can't find out much about it. Appears to support one touch point. Clickable like a button.
- [WiiU Gamepad](https://en.wikipedia.org/wiki/Wii_U_GamePad): Touch sensitive screen, only registers a single touch point. Not clickable. (I really doubt this device is ever going to be exposed to the browser, though.)

There's also a sprinkling of long tail devices that have touchpads on them. Appears that very few if any support multi-touch.

So from my point of view it seems like most gamepads that have touch support use it for a single touch pad that functions more-or less like a joystick and is clickable. That general case already maps pretty well to the existing gamepad spec, with the exception of not having a clear notion of "touched". That's what prompted the idea of adding this single property to the button, as it felt unwieldy to link to a separate and fairly complex API to gain one additional bit of input. Especially considering that the Pointer events spec is event based, not polling, and there's no clear way to associate a given pointer with a given gamepad.

I agree that for devices with larger multitouch surfaces (especially something like the WiiU gamepad) pointer events seem more natural, but that seems to be the minority of gamepad uses.

---
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/w3c/gamepad/pull/26#issuecomment-227520020

Received on Tuesday, 21 June 2016 17:56:59 UTC