更改 Gnome shell 中自动屏幕旋转的工作方式

hoe*_*hoe 10 udev xrandr touch-screen gnome3

我最近购买了一台联想 Yoga 3 11" 可转换笔记本。它与 Ubuntu Gnome LTS 16.04.2 开箱即用 - WiFi、蓝牙,甚至暂停和恢复工作,到目前为止没有任何问题。

我注意到 Gnome 3 甚至允许屏幕根据内置的旋转传感器自动旋转。Yoga 3 11" 确实提供iio-sensor-proxy了 Ubuntu Gnome 中默认安装的旋转传感器。碰巧的是,报告的方向iio-sensor-proxy似乎偏离了 90°。

带有 15.04 (Gnome) 的 Dell 13 7000 上的自动旋转屏幕在处理屏幕旋转的自定义 shell 脚本方面有一个解决方案。我宁愿不使用此解决方案,因为它禁用了 Gnome Shell 中的“禁用屏幕旋转”按钮。

我已经做了一些研究,发现iio-sensor-proxy应该会导致udev触发一个事件,然后 Gnome 3 使用该事件通过xrandr. 但是,我无法找到一种方法来告诉udevGnome 3 或 Gnome 3 加速度计的安装方向与显示器不同,这需要在两者之间转换方向。

所以,问题是:如何做到这一点?定向重映射应该在可能的两种iio-sensor-proxyudev如Gnome 3,我其实不在乎那么多的地方完成。我似乎没有找到任何可以轻松更改以实现我需要的配置文件。

作为现在的解决方法,我使用上面链接的 Ask ubuntu 问题中的脚本,并进行了修改以解决未对齐的显示/加速度计问题。为此,我必须禁用 Gnome 3 中的自动屏幕旋转。虽然此解决方案还允许onboard根据当前方向自动启动和终止(屏幕键盘),但它有点违背了 Gnome 3 屏幕旋转设置的目的.

小智 2

来自GitLab iio-sensor-proxy 站点 当加速计的安装方式与屏幕不同时,我们需要修改加速计的读数,以确保计算出的方向与屏幕方向匹配。

iio-sensor-proxy从设备的ACCEL_MOUNT_MATRIXudev 属性中读取此信息。60-sensor.hwdb详情请参阅。