hwdb: Mark lis3lv02d sensors in HP laptops as being in the base
authorHans de Goede <hdegoede@redhat.com>
Thu, 5 Sep 2019 12:16:12 +0000 (14:16 +0200)
committerMichael Biebl <biebl@debian.org>
Fri, 15 Nov 2019 21:01:17 +0000 (21:01 +0000)
commit0348c2f5e6812600d3bcda0e21f0a1cf925f44ed
tree2d5860266ec87b8bd09d70fb309cb6ff02447c84
parent7f6d5d58d1741c6c481a8bee4b9890009c81578b
hwdb: Mark lis3lv02d sensors in HP laptops as being in the base

The lis3lv02d sensor used in many HP laptops is (almost) always intented
primarily for freefall detection / HDD protection and (almost) always
is located in the base of a classic clamshell laptop

Before we had the ACCEL_LOCATION udev property the issues this caused
with screen-rotation were fixed by applying a mount-matrix which
translates base-coordinates to display-coordinates assuming the display
is at an angle of exact 90 degrees to the base (swap Y and Z axis).

The comment calls this translate "from "can play neverball" to
"matches Windows 8 orientation"" but what it really does is translate
base accel-axis to display accel-axis. Thus allows rotating the screen
if you put the laptop on its side, but no-one normally does that with
a 2Kg clamshell laptop.

The obviously correct thing to do on classic clamshell laptops (not 2-in-1s)
is to disable automatic screen rotation. This commit marks the accelerometer
in these laptops as being part of the base, which will make iio-sensor-proxy
disable automatic screen rotation.

This commit also removes the orientation-matrix since the unmodified coordinates
coming from the sensor are oriented correctly for a sensor in the base.

Also see the "Bad accelerometer values cause incorrect screen rotation"
systemd-devel mail-thread from September 2019.

(cherry picked from commit 4247938ee13e23eae1afcecbe646de5283b7afc2)

Gbp-Pq: Name hwdb-Mark-lis3lv02d-sensors-in-HP-laptops-as-being-in-the.patch
hwdb/60-sensor.hwdb