Physical rotary controls in Automotive Infotainment!

64 views
Skip to first unread message

Vivek Galatage

unread,
May 10, 2017, 11:14:49 PM5/10/17
to inpu...@chromium.org
Hi input-dev,

I would like share one of the interesting use case with respect to various input methods in automotive infotainment and get your opinions.

Typically most of the high end vehicles are equipped with some sort of physical controls like the
image shown below. It is from BMW and the controller is called iDrive. Now if we were to interface this kind of controls on web (Assuming the web powered infotainment system), what would be the input type. I understand that these type of controls are not really mouse wheel types and neither they do fall under keyboard category.

So what would you suggest? I have been trying to understand the pointer events specification [1] but couldn't really find which would match the desired specification.

Would you be able to share some light on this?

Best regards,
Vivek 

Inline image 1

Timothy Dresser

unread,
May 11, 2017, 8:13:39 AM5/11/17
to Vivek Galatage, inpu...@chromium.org
This discussion on the surface dial here is relevant.

What's the dial's intended use? Are you hoping to land code for this in chromium?
I'd be inclined consider it a stationary pointer with varying twist, or hack it into wheel, depending on whether absolute rotation matters.

Vivek Galatage

unread,
May 11, 2017, 8:40:21 AM5/11/17
to Timothy Dresser, inpu...@chromium.org
These dials are not just rotary controls but sometimes they are equipped with more functionality. e.g. https://youtu.be/WKmxrvDupCI in this case, the dial works both a rotary control and on top of it, the user can scribble some text gesture which would be recognized and fed to the system. 

Also there are dedicated buttons on these controls so its mix of all input types. 

Currently there is no plan of landing any code yet as I am just trying to figure this input type for this before doing any design!
--
Best Regards,
Vivek

Timothy Dresser

unread,
May 11, 2017, 9:04:52 AM5/11/17
to Vivek Galatage, inpu...@chromium.org
Are you hoping to eventually land code for this? 
Is this intended to be used with existing content, new content produced by BMW, or new content on the web at large?

Vivek Galatage

unread,
May 11, 2017, 9:20:16 AM5/11/17
to Timothy Dresser, inpu...@chromium.org
I think its an interesting question when we see lot of things are getting converged. 

So from the web content at large (And nothing specific to BMW as such) how do we handle these complex input types seamlessly is the question and does existing specification(s) would handle this or what is the best fit for such input devices.
 
--
Best Regards,
Vivek

David Bokan

unread,
May 11, 2017, 10:40:46 AM5/11/17
to Vivek Galatage, Timothy Dresser, input-dev
Perhaps the Gamepad API would be appropriate here? Depending on whether the rotary control is discrete you could map a single click in each direction to a button.

Dave Tapuska

unread,
May 11, 2017, 10:51:09 AM5/11/17
to Vivek Galatage, Timothy Dresser, input-dev
The drawing scenario on a device is very much like a touchpad/touchscreen scenario. The physical button presses are more like keyboard events. A dial I don't have a good mapping of that yet :-|

dave.


On Thu, May 11, 2017 at 9:20 AM, Vivek Galatage <viv...@chromium.org> wrote:
--
You received this message because you are subscribed to the Google Groups "input-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to input-dev+unsubscribe@chromium.org.

Timothy Dresser

unread,
May 11, 2017, 11:32:13 AM5/11/17
to Dave Tapuska, Vivek Galatage, input-dev
Chrome won't want to explicitly support the myriad types of input devices being created.
Many of these can be handled via webusb or webbluetooth, depending on the use case.

You can then ship a JS library or extension which maps these onto web platform concepts.

If you wanted to map this specific device to web platform concepts I'd say:
  • Dial
    • I was thinking pointer event twist for this, but Rick mentioned that keyboard would make more sense if there are discrete ticks on the wheel.
  • Buttons
    • keyboard events
  • Touch screen
    • This is similar to supporting raw touchpad data, discussed here. You might be able to consider this pointer events on a separate screen?

To unsubscribe from this group and stop receiving emails from it, send an email to input-dev+...@chromium.org.
Reply all
Reply to author
Forward
0 new messages