Messages in this thread | | | Subject | Re: [PATCH] iio: accel: add missing sensor for some 2-in-1 based ultrabooks | From | Hans de Goede <> | Date | Wed, 3 Apr 2019 11:10:49 +0200 |
| |
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@aurorafoss.org> > --- > 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}, >
| |