Closed skibulk closed 8 years ago
What's the native API support like here? Does any OS support such devices natively, or do you need to use vendor-specific APIs to program for such a device? This might be a niche use case where a lower level extensibility API (like raw USB HID access) would make more sense than extending pointer events - not sure.
I only know web languages. Sorry I can't help with anything specific to the system / device drivers. I think it would be useful to provide some kind of Raw HID access to developers - so that pretty much any device could be handled by pointer events. There are lots of devices out there with custom programmable buttons. There's no way you could cover them all using pointer events - except with raw data.
And maybe a generalized way to interpret the raw data. Like button id, wheel position, intensity, etc.
Filed reillyeon/webusb#29 to discuss whether extentions to WebUSB may be a long-term path forward for niche cases like this.
This reminds me of some of the discussions I've tangentially seen for the Controller API - similar issue of defining API for controllers that can potentially have all sorts of configurations, sensors, buttons, potentiometers, etc.
The one in the youtube video is simply a triple axis analog stick at the input data level. Technically, it can be used to implement a pointer in 3d space, but modeling the web API around such a model doesn't sound like a good idea.
HID could in theory work, but I think the best bet would be to expose it as a triple axis joystick.
...summarized, I personally don't think this belongs in PE.
Yes, as I don't think PE want to (currently) touch on the 3rd dimension (unless the Z info would only be an additional parameter, like pressure), I'd tend to agree with @cynthia here
I don't see this feature as being explicitly in scope in PEWG's current charter and that is relevant vis-à-vis IP commitments).
(Don't know if the GamePad API could be relevant. It has some v2 feature requests.)
...and of course, when i said "Controller API" above, i meant the GamePad API. doh!
I think the overall feeling in the WG here is to close this, right?
I still like the idea of providing "Raw HID Access" so that developers can handle edge case devices if they want to. I can re-name this issue accordingly, if you'd like.
I still like the idea of providing "Raw HID Access" so that developers can handle edge case devices if they want to. I can re-name this issue accordingly, if you'd like.
That probably ultimately belongs to some other repo, but whatever it is it probably doesn't exist yet, and would probably involve many of the same people that are here. So I'm OK keeping an issue in this group for this, as a feature request that someone here will hopefully drive in the WICG or another group. Alternately, maybe it belongs in UIEvents?
I think UIEvents is the more appropriate upstream place for this in the first instance, as raw HID data isn't specific to pointers (mouse, pen, touch) but more generally all human interface devices (including gamepads etc) that fire events.
Closing this, since - as discussed in the thread already - this feels more like a use case for the GamePad API, UIEvents and WebUSB
They can be used to navigate game environments or rotate 3d models.
https://www.youtube.com/watch?v=k2UMW2JH9o0 https://www.youtube.com/watch?v=9pAMne1eeTQ