Re: Adding an interface to evdev for tablet orientation

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

 



Hey Hans,

On Thu, 2015-08-06 at 15:19 +0200, Hans de Goede wrote:
> Hi All,
> 
> Many accelerometers used in tablets not only offer acceleration
> data along 3 axis, but also have a notion of the orientation of
> the tablet (right side up, upside down, rotated 90 degrees 
> left/right),
> currently there is no way to export this info via evdev.
> 
> I think we need to add an axis/switch/? to the linux/uapi/input.h
> definitions to support this, as it is useful info to have, and the hw
> is likely a more reliable source of this info then deducting it from
> the accelerometer readings as is done in e.g. :
> 
> https://github.com/hadess/iio-sensor-proxy/blob/master/src/orientatio
> n.c#L60
> 
> 3 questions:
> 
> 1) Do people agree that it is a good idea to export the hardware's
> notation of the orientation through evdev ?

If the hardware/firmware exports it, definitely.

> 2) What sort of evdev events should orientation changes send, events
> on a new axis, or switch events, or ... ?
> 
> 3) The accelerometer hardware I've been looking at sofar typically
> generates a hw interrupt for orientation changes, where as reading
> the actual acceleration axis typically is a contineous process
> requiring polling. The current iio-sensor-proxy code (which also
> handles evdev accelerometers) leaves the evdev node closed and
> only opens it on a change kevent, which means that we need to
> generate change kevents on orientation changes.

That's how the pegatron accelerometer worked in the WeTab (see the asus
ACPI driver).

>  Another approach
> would be to have 2 separate evdev nodes, one for the orientation
> function, and on opening that we enable the irq), and one for
> reading accel values and on opening this one we start polling.

I'd simply export the orientation metadata as a sysfs property, which
would be consumed and proxied by iio-sensor-proxy to the desktop.

Cheers

--
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