On Fri, May 10, 2019 at 1:57 AM Bastien Nocera <hadess@xxxxxxxxxx> wrote: > > On Sun, 2019-04-14 at 09:26 -0700, Roderick Colenbrander wrote: > > > <snip> > > We at the time were one of the first to expose acceleration and gyro > > data through /dev/input for DualShock 4 as supported by hid-sony. We > > report acceleration in 'g' and angular velocity in 'degree / s'. We > > set the resolution to respectively '1 g' and '1 degree / s'. The range > > we set to the range of the device e.g. for DS4 -4g to +4g for > > acceleration. I need to check though what coordinate system we use, > > but I think it is right handed (gyro counter clockwise relative to > > acceleration axes). > > How do you export the gyro information through the input device? For each DS4, there are multiple evdev devices for a DS4 for respectively "gamepad", touchpad and motion sensors. The motion sensors one, has INPUT_PROP_ACCELEROMETER set. ABS_X/_Y_Z provide acceleration and ABS_RX/_RY/_RZ provide gyro. When we added this we also updated the input documentation (event-codes.rst) to allow gyro to use the rotational axes. > FWIW, we needed to do extra work in iio-sensor-proxy so that the > accelerometer in the Sixaxis/DS4 joypads (and uDraw tablet) didn't > appear as though they were accelerometer for the system: > https://github.com/hadess/iio-sensor-proxy/commit/401d59e54b3123860180d4401e09df8a1e1bc6c3 > > > The two other drivers using INPUT_PROC_ACCELEROMETER are hid-wacom and > > hid-udraw-ps3 Wacom. Both seem to report resolution in 'g' as well. > > I wrote hid-udraw-ps3, and it's reporting accelerometer data through > input because the rest of the driver is input, and it didn't make much > sense to use another subsystem for just that small portion of the > events the device sends out. >