问题由来:
我的SurfaceGO用Archlinux好些时候了,GO的性能让我用了ICEWM作为桌面,这样一来,自动旋转就有点麻烦了。
我先后用过iio-sensor-proxy+screenrotator-git和github上的autorotator2脚本,前者有QT5依赖,后者因为python升级到3.11后不可用了,然后我又从AUR库中寻找,找到了rot8-git这外包,效果不错,方法如下:
问题解决:
运行xrandr和xinput,分别找出显示器、触摸屏、触控笔设备名;
```
$ xrandr
Screen 0: minimum 8 x 8, current 1800 x 1200, maximum 32767 x 32767
eDP1 connected primary 1800x1200+0+0 (normal left inverted right x axis y axis) 210mm x 140mm
1800x1200 59.90*+ 47.91
1680x1050 59.88
……
```
```
$ xinput
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ ELAN9038:00 04F3:261A id=12 [slave pointer (2)]
⎜ ↳ ELAN9038:00 04F3:261A Stylus Pen (0) id=18 [slave pointer (2)]
⎜ ↳ Microsoft Surface Type Cover Consumer Control id=9 [slave pointer (2)]
⎜ ↳ Microsoft Surface Type Cover Mouse id=11 [slave pointer (2)]
⎜ ↳ Microsoft Surface Type Cover Touchpad id=17 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ Video Bus id=6 [slave keyboard (3)]
↳ Power Button id=7 [slave keyboard (3)]
↳ ELAN9038:00 04F3:261A Stylus id=13 [slave keyboard (3)]
↳ Intel HID events id=14 [slave keyboard (3)]
↳ Intel HID 5 button array id=15 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=16 [slave keyboard (3)]
↳ Microsoft Surface Type Cover id=8 [slave keyboard (3)]
↳ Microsoft Surface Type Cover Consumer Control id=10 [slave keyboard (3)]
```
安装rot8-git包,并运行以下代码:(仅适用SurfaceGO,并注意空格)
```
rot8 -d eDP1 -i "ELAN9038:00 04F3:261A" "ELAN9038:00 04F3:261A Stylus Pen (0)"
```
可以将以上代码加入开机启动,自动启用
我的SurfaceGO用Archlinux好些时候了,GO的性能让我用了ICEWM作为桌面,这样一来,自动旋转就有点麻烦了。
我先后用过iio-sensor-proxy+screenrotator-git和github上的autorotator2脚本,前者有QT5依赖,后者因为python升级到3.11后不可用了,然后我又从AUR库中寻找,找到了rot8-git这外包,效果不错,方法如下:
问题解决:
运行xrandr和xinput,分别找出显示器、触摸屏、触控笔设备名;
```
$ xrandr
Screen 0: minimum 8 x 8, current 1800 x 1200, maximum 32767 x 32767
eDP1 connected primary 1800x1200+0+0 (normal left inverted right x axis y axis) 210mm x 140mm
1800x1200 59.90*+ 47.91
1680x1050 59.88
……
```
```
$ xinput
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ ELAN9038:00 04F3:261A id=12 [slave pointer (2)]
⎜ ↳ ELAN9038:00 04F3:261A Stylus Pen (0) id=18 [slave pointer (2)]
⎜ ↳ Microsoft Surface Type Cover Consumer Control id=9 [slave pointer (2)]
⎜ ↳ Microsoft Surface Type Cover Mouse id=11 [slave pointer (2)]
⎜ ↳ Microsoft Surface Type Cover Touchpad id=17 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ Video Bus id=6 [slave keyboard (3)]
↳ Power Button id=7 [slave keyboard (3)]
↳ ELAN9038:00 04F3:261A Stylus id=13 [slave keyboard (3)]
↳ Intel HID events id=14 [slave keyboard (3)]
↳ Intel HID 5 button array id=15 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=16 [slave keyboard (3)]
↳ Microsoft Surface Type Cover id=8 [slave keyboard (3)]
↳ Microsoft Surface Type Cover Consumer Control id=10 [slave keyboard (3)]
```
安装rot8-git包,并运行以下代码:(仅适用SurfaceGO,并注意空格)
```
rot8 -d eDP1 -i "ELAN9038:00 04F3:261A" "ELAN9038:00 04F3:261A Stylus Pen (0)"
```
可以将以上代码加入开机启动,自动启用