前言
作为一名Linux爱好者,我喜欢使用Ubuntu操作系统。我在使用Ubuntu时遇到了一个问题,屏幕旋转后触屏出现了问题。在解决这个问题的过程中,我学到了很多有用的知识,现在我将在这里向大家分享。
问题描述
在使用Ubuntu时,我们可以通过屏幕旋转来调整屏幕方向。当我把屏幕旋转到横向时,触屏出现了问题。触屏的坐标系没有跟随屏幕旋转而改变,导致触屏的位置和点击操作出现了偏差。
问题原因
这个问题的根本原因是,触屏的驱动程序没有正确地识别屏幕旋转的信息。它仍然按照竖向的坐标系来处理触摸事件,导致了偏差。
解决方法
经过一番研究和尝试,我找到了以下两种解决方法。
方法一:修改xinput配置文件
xinput是一个命令行工具,可以用来管理输入设备。我们可以通过修改它的配置文件来解决屏幕旋转后触屏出现的问题。
打开终端,输入以下命令来查看当前的输入设备列表:
```
xinput list
找到触屏对应的设备ID,例如:
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ ELAN Touchscreen Pen id=12 [slave pointer (2)]
⎜ ↳ ELAN Touchscreen id=13 [slave pointer (2)]
我的触屏设备ID是13。
输入以下命令来查看该设备的属性:
xinput list-props 13
找到"Coordinate Transformation Matrix"属性,它的值应该是默认的:
Coordinate Transformation Matrix (132): 1 0 0 0 1 0 0 0 1
我们需要修改它的值,使得触屏的坐标系能够跟随屏幕旋转而改变。我们需要将它的值修改为:
0 1 0 -1 0 1 0 0 1
这个矩阵实际上是一个旋转和翻转的组合,可以将竖向坐标系转换为横向坐标系。修改的命令如下:
xinput set-prop 13 "Coordinate Transformation Matrix" 0 1 0 -1 0 1 0 0 1
保存修改后,重新启动X服务器即可生效。输入以下命令:
sudo service lightdm restart
方法二:使用xrandr命令
xrandr是另一个命令行工具,可以用来管理显示器和屏幕。我们也可以使用它来解决屏幕旋转后触屏出现的问题。
打开终端,输入以下命令来查看当前的显示器列表:
xrandr
找到当前使用的显示器,例如:
Screen 0: minimum 8 x 8, current 1920 x 1080, maximum 32767 x 32767
eDP1 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 309mm x 173mm
1920x1080 60.02*+
1400x1050 59.98
1280x1024 60.02
1280x960 60.00
1024x768 60.00
800x600 60.32 56.25
640x480 59.94
DP1 disconnected (normal left inverted right x axis y axis)
HDMI1 disconnected (normal left inverted right x axis y axis)
我的显示器是eDP1。
输入以下命令来旋转屏幕:
xrandr --output eDP1 --rotate left
这个命令将屏幕旋转90度。如果需要旋转180度或270度,可以分别使用以下命令:
xrandr --output eDP1 --rotate inverted
xrandr --output eDP1 --rotate right
旋转后,触屏会出现偏差。我们可以使用以下命令来修正它:
xinput set-prop 13 "Coordinate Transformation Matrix" 0 -1 1 1 0 0 0 0 1
这个矩阵将触屏的坐标系旋转90度,并将y轴翻转。修改后,重新启动X服务器即可生效。
小结
屏幕旋转后触屏出现问题是一个很常见的问题。我们可以使用xinput或xrandr命令来解决它。通过修改输入设备的坐标系,我们可以让触屏跟随屏幕旋转而改变。这个方法不仅适用于Ubuntu,也适用于其他Linux发行版。
小知识分享
在Ubuntu中,我们可以使用"apt-get"命令来安装软件包。有时候我们需要安装一个没有包含在官方软件源中的软件包。我们可以使用"dpkg"命令来手动安装.deb文件。
我们可以使用以下命令来安装Google Chrome浏览器:
sudo dpkg -i google-chrome-stable_current_amd64.deb
这个命令将.deb文件安装到系统中,并自动解决依赖关系。如果出现依赖关系问题,我们可以使用"apt-get -f install"命令来解决它。
TAGS
Ubuntu, 屏幕旋转, 触屏, xinput, xrandr, 小知识