Is there a VR controller device class?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi there,

the Google Daydream kit I have lying idly around here is incompatible
with my Android phone.

Yet the controller features some very nice hardware - a touchpad, some
buttons, magnetometer, accelerometer, gyroscope:

https://xinreality.com/wiki/Daydream_Controller

And the protocol has been properly reverse engineered in

https://hackernoon.com/how-i-hacked-google-daydream-controller-c4619ef318e4

So a proper driver isn't far away.

But how to map the device's buttons and axes?

A (possibly too) brief dive into the kernel source didn't come up with
a proper role model. There appears to be no existing driver for "vr
controller" type of hardware similar to the Daydream / Oculus / Vive
controllers. Those seem to be supported in various userspace libraries.

There are generic gyroscope sensor drivers all over the place in the
kernel, but not specifically for a vr controller device. And there are
spatial movement data mapped to an axis in hid-sony, hid-steam and
hid-wiimote.

So what is the proper way forward?

I currently assume that the device should be mapped like a gamepad with
the touchpad being an analog x/y axis. Is that correct?

But it's frightening to decide things for the "first" vr controller
driver and I currently wonder if it's therefore better to forget this
and leave handling this device in userspace code.

Thanks for advice,

Hanno



[Index of Archives]     [Linux Media Devel]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Linux Wireless Networking]     [Linux Omap]

  Powered by Linux