Re: Handling of non-positional data through evdev

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

 



On Wed, Mar 16, 2016 at 12:09 PM, Clément VUCHENER
<clement.vuchener@xxxxxxxxx> wrote:
> 2016-03-16 16:26 GMT+01:00 David Herrmann <dh.herrmann@xxxxxxxxx>:
>> Hi
>>
>> On Wed, Mar 16, 2016 at 4:10 PM, Bastien Nocera <hadess@xxxxxxxxxx> wrote:
>>> On Tue, 2016-03-15 at 17:17 -0700, Roderick Colenbrander wrote:
>>>> Hi Bastien,
>>>>
>>>> Thanks for providing this suggestion. I can see this approach work
>>>> for
>>>> situations like screen rotation on tablets. The device I'm involved
>>>> with is an input device, which needs a high poll rate for
>>>> acceleration
>>>> / velocity and needs to be paired with the button / axes data. Evdev
>>>> would be most appropriate.
>>>
>>> So more like a Wiimote than a builtin sensor. What will consume events
>>> in user-space? A specialised application?
>>
>> I really think evdev is the right place to put any of those devices.
>> The real problem is that the current set of ABS types is very limited
>> and strongly overloaded. We didn't do this for other types, but
>> somehow ABS turned out that way.
>>
>> In general, Dmitry was ok with introducing new ABS types, properly
>> representing those types. I sent an RFC some years ago, which also
>> introduces gyro and accelerometer types (see patch #4):
>>
>> https://lists.freedesktop.org/archives/input-tools/2013-December/000612.html
>>
>> The problem is, however, that the current ABS_* namespace is
>> exhausted. That is, we have to introduce some new way to add new ABS
>> types (the series introduced ABS2 for that). No-one continued that
>> effort so far, so we are stuck with the current ABS types. Feel free
>> to pick this up. It might be a lengthy effort, though. You might be
>> better off doing it the wiimote way: pick you ABS types and make
>> user-space recognize them depending on the device name/etc.
>
> Hi.
>
> I am writing a user-space driver for the steam controller and I was
> wondering how that would fit. The steam controller reports its
> absolute gyro data as a quaternion instead of three angles. Although,
> in the case of the steam controller, this data is meant to emulate
> other kind of devices from the driver, if applications started to use
> such an interface, it would be nice that the steam controller supports
> it.
>
>>
>> Thanks
>> David

I haven't with the SteamController yet. Based on iFixit it has a
3-axis gyro and 3-axis accelerometer. I guess the microcontroller
could be doing the quaternion calculations. Are you sure it is gyro
data and not maybe orientation data derived from gyro + accel? Try
spinning it around an axis and integrate the output in a script
(provided you knew the resolution in units per deg/s or rad/s).

Some devices may use 1D or 2D sensors, so if for those just ABS_GYRO_X
/ _Y for them, for a 4th dimension _W would make sense I guess.
--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[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