Hi, > Basically we need to come up with a convention to (optionally) indicate > the sensors location with a udev attribute set by: > /lib/udev/hwdb.d/60-sensor.hwdb So should we start adding `ACCEL_LOCATION=display` and `ACCEL_LOCATION=keyboard` attributes to that file and patch iio-sensor-proxy to ignore the keyboard ones as a first step ? Best Regards, Luís Sincerely, Luís Ferreira E2AB 2BF8 F3EC ABE2 E149 F2FD BC43 0831 9CE4 0B64 (plain text) Aurora Free Open Source Software is a non-profit organization that promote free and open source software. All applications, source code and services are complete open and free to use according to a valid Open Source license. Check out more at https://www.aurorafoss.org/ . --- PRIVILEGED & CONFIDENTIAL COMMUNICATIONS This email and all rights associated with it are the property of Luís Ferreira. It contains material for which legal professional privilege is claimed. The contents of this email may not be examined, removed or reproduced without my express written permission by Luís Ferreira. The information contained in this e-mail message and any accompanying files is or may be confidential. It is intended only for the addressee. If you are not the intended recipient, any use, dissemination, reliance, forwarding, printing or copying of this e-mail or any attached files is unauthorised. This e-mail is subject to copyright. No part of it should be reproduced, adapted or communicated without the written consent of the copyright owner. If you have received this e-mail in error please advise the sender immediately by return e-mail or telephone and delete all copies. Luís Ferreira does not guarantee the accuracy or completeness of any information contained in this e-mail or attached files. Internet communications are not secure, therefore Luís Ferreira does not accept legal responsibility for the contents of this message or attached files. On Wed, 3 Apr 2019 at 10:10, Hans de Goede <hdegoede@xxxxxxxxxx> wrote: > > Hi, > > On 02-04-19 18:04, Luís Ferreira wrote: > > Some ultrabooks, like Teclast F6 Pro, use KIOX010A sensor on display > > and KIOX020A sensor on keyboard base, to detect tablet mode or screen > > orientation. > > I deliberately left out the KIOX020A id for now, because currently > userspace cannot really deal with having 2 sensors. > > See: > https://github.com/systemd/systemd/issues/6557 > https://github.com/hadess/iio-sensor-proxy/issues/166 > > Basically we need to come up with a convention to (optionally) indicate > the sensors location with a udev attribute set by: > /lib/udev/hwdb.d/60-sensor.hwdb > > And then patch iio-sensor-proxy to consume that attribute and ignore > the one which has e.g. ACCEL_LOCATION=keyboard in its udev properties > > Ignoring would be a first step, maybe later it can do something useful > with it, see e.g. : https://github.com/alesguzik/linux_detect_tablet_mode > > IMHO we really should minimally get code in place for iio-sensor-proxy > to ignore the keyboard accelerometer before merging this patch. > > I realize that having the code in place will not magically get it on > all users machines, but I believe this is the minimum which needs to > happen before we push this out and potentially breaks people screen > rotation. > > I've had working on this on my TODO list for a long long time now, > but -ENOTIME. If you have some time to work on this then that would > be great. > > Regards, > > Hans > > > > > > > > Signed-off-by: Luís Ferreira <luis@xxxxxxxxxxxxxx> > > --- > > drivers/iio/accel/kxcjk-1013.c | 1 + > > 1 file changed, 1 insertion(+) > > > > diff --git a/drivers/iio/accel/kxcjk-1013.c b/drivers/iio/accel/kxcjk-1013.c > > index 7096e577b23f..9a5e445facc1 100644 > > --- a/drivers/iio/accel/kxcjk-1013.c > > +++ b/drivers/iio/accel/kxcjk-1013.c > > @@ -1492,6 +1492,7 @@ static const struct acpi_device_id kx_acpi_match[] = { > > {"KIOX0009", KXTJ21009}, > > {"KIOX000A", KXCJ91008}, > > {"KIOX010A", KXCJ91008}, /* KXCJ91008 inside the display of a 2-in-1 */ > > + {"KIOX020A", KXCJ91008}, > > {"KXTJ1009", KXTJ21009}, > > {"KXJ2109", KXTJ21009}, > > {"SMO8500", KXCJ91008}, > >