通过阅读Ubuntu Wiki上的有用信息,我找到了一个简单的答案:X-Input Coordinate Transformation。
这些命令可用于对齐输入设备和显示器的旋转:
第一个命令旋转显示,可以向左,向右,正常或反转:
xrandr -o <orientation>
重新映射输入设备:
xinput set-prop '<device name>' 'Coordinate Transformation Matrix' <matrix-elements-rowwise>
第二个命令重新映射输入设备(即,触摸板或触摸屏),其中<matrix-elements-rowwise>
是0 -1 1 1 0 0 0 0 1
,0 1 0 -1 0 1 0 0 1
,1 0 0 0 1 0 0 0 1
,或-1 0 1 0 -1 1 0 0 1
; 对应于上面的方向。
可以找到触摸板和触摸屏的名称,xinput list
并可以完全禁用其中一个xinput disable <device-name>
。随后,xinput enable <device-name>
将重新启用输入设备。
以我为例,也许对于其他使用Yoga 13的用户(也在Yoga 2 Pro上),触摸屏称为ELAN Touchscreen
,触摸板
SynPS/2 Synaptics TouchPad
。
因此,我在自己的主目录中放置了一个简短的脚本rotate-inverted.sh
,其内容如下:
#!/ bin / bash
#此脚本将屏幕和触摸屏输入旋转180度,禁用触摸板,并启用虚拟键盘
xrandr -o倒置
xinput set-prop'ELAN触摸屏''坐标转换矩阵'-1 0 1 0 -1 1 0 0 1
xinput禁用'SynPS / 2 Synaptics触摸板'
在船上 &
然后我使脚本可执行
chmod u+x rotate-inverted.sh
然后在系统设置->键盘中将该命令分配~/rotate-inverted.sh
给键盘快捷键Ctrl+ Alt+ 。I
注销并重新登录后,可以按该快捷方式旋转键盘。
我使用命令xinput enable 'SynPS/2 TouchPad'
和killall onboard
代替xinput disable 'SynPS/2 TouchPad'
and onboard &
for ,对其他旋转位置执行了相同类型的操作rotate-normal.sh
。
此线程上的其他一些人讨论了将此类脚本分配给
Yoga 上的其他按钮(例如锁定按钮),以及在更改Yoga的位置时自动执行这些脚本。但是我不确定该怎么做。