debian - 倾斜时的屏幕方向

debian - 倾斜时的屏幕方向

我有一台 HP pavilion G6 笔记本电脑,使用 Cinnamon DE 运行 Debian 已经大约 2-3 年了。

我已将其更新到 Debian 测试,因为我的 AMD A8 APU 的显卡驱动程序遇到了一些问题。我刚刚发现(4 个月后)屏幕会根据笔记本电脑的方向改变方向。

我已经去过了问题,它描述了正在发生的事情以及发生的原因。所有这一切都很棒,除了方向完全错误之外。我的角度是 90 度。当我将笔记本电脑从底部向天空轻摇时,它会将屏幕逆时针旋转 90 度,而我预计屏幕会旋转 180 度。

我喜欢这个功能,并且想让它正常工作,但我对 IIO 和 udev/dbus 没有足够的了解来做到这一点。

这是包含此特定设备的 udevadm 的输出:

   P: /devices/platform/lis3lv02d/input/input8
   E: ABS=7
   E: DEVPATH=/devices/platform/lis3lv02d/input/input8
   E: EV=9
   E: ID_FOR_SEAT=input-platform-lis3lv02d
   E: ID_INPUT=1
   E: ID_INPUT_ACCELEROMETER=1
   E: ID_PATH=platform-lis3lv02d
   E: ID_PATH_TAG=platform-lis3lv02d
   E: IIO_SENSOR_PROXY_TYPE=input-accel
   E: MODALIAS=input:b0019v0000p0000e0000-e0,3,kra0,1,2,mlsfw
   E: NAME="ST LIS3LV02DL Accelerometer"
   E: PHYS="lis3lv02d/input0"
   E: PRODUCT=19/0/0/0
   E: PROP=0
   E: SUBSYSTEM=input
   E: SYSTEMD_WANTS=iio-sensor-proxy.service

任何有关此事的帮助将不胜感激。

编辑:我想我会通过查看不同 90 度方向的笔记本电脑的 iio-sensor-proxy 添加这些值:

 Y  X  Z
 0  0  1 -- Home position
 0  1  0 -- Right-up
 0 -1  0 -- Left-up
 1  0  0 -- Bottom-up
 -1 0  0 -- Top-up

其中 1 = 最大值(大约为 1200),-1 = 最小值(大约为 -1200)

编辑:根据第一条评论澄清,iio-sensor-proxy 未正确检测方向。当我观察监视器传感器的输出时,观察到的是:

Expected              -- Reality
Bottom-up = Bottom-up -- Bottom-up = Right-up
Right-up  = Right-up  -- Right-up  = Bottom-up
Top-up    = Top-up    -- Top-up    = Left-up
Left-up   = Left-up   -- Left-up   = Top-up

Top-up == Neutral position

答案1

由于monitor-sensor无法正确识别屏幕的真实方向,似乎最好的办法是向 iio-sensor-proxy 程序员提交错误https://github.com/hadess/iio-sensor-proxy解决这个问题。

作为一个非常丑陋的解决方法,您可以禁用 Cinnamon 的自动屏​​幕旋转功能,settings set org.cinnamon.settings-daemon.plugins.orientation active false然后修改这个脚本满足你的颠倒需求,如下所示:

case "$ORIENTATION" in
normal)
xrandr --output eDP1 --rotate left;; #instead of --rotate normal
bottom-up)
xrandr --output eDP1 --rotate right;; #instead of --rotate inverted
right-up)
xrandr --output eDP1 --rotate inverted;; #instead of --rotate right
left-up)
xrandr --output eDP1 --rotate normal;; #instead of --rotate left
esac
done

我再次指出,这是一个非常丑陋的解决方案,您可能需要应用它,直到 iio-sensor-proxy 程序员帮助您修复该错误。

相关内容