mirror of
https://github.com/systemd/systemd-stable.git
synced 2025-03-13 12:58:20 +03:00
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.