解决ubuntu18.04触摸屏旋转后触摸不准问题

文章目录

  • 问题描述
  • 解决过程
    • 查看系统支持的显示设备
    • 修改配置文件
  • 总结

问题描述

因为项目需要将21寸的横屏触摸屏旋转成竖屏使用,如果是在x86平台上直接在系统设置一下屏幕旋转就解决了,但是在arm平台上这个问题就有点麻烦了。一开始使用xrand命令能够实现屏幕旋转,但是却出现触摸屏触摸不准的问题,费劲查询很多资料尝试了很多方法最终得以解决。

解决过程

查看系统支持的显示设备

在终端输入

xrandr

查询结果如下:
解决ubuntu18.04触摸屏旋转后触摸不准问题_第1张图片

修改配置文件

在终端输入

sudo vim /etc/X11/xorg.conf

如果不存在xorg.conf文件的话直接在/etc/X11/路径下创建该文件即可。将文件内容修改如下:

Section "Monitor"
    Identifier          "HDMI-1"
    Option              "Rotate" "normal"
EndSection

Section "Screen"
    Identifier          "Screen0"
    Monitor             "HDMI-1"
    Option              "RandRRotation"
EndSection

Section "ServerLayout"
    Identifier          "DefaultLayout"
    Screen              "Screen0"
EndSection

Section "InputClass"
    Identifier          "touchscreen"
    MatchIsTouchscreen  "on"
    MatchDevicePath     "/dev/input/event*"
    Driver              "evdev"
    Option              "SwapAxes" "true"
    Option              "InvertX" "false"
    Option              "InvertY" "true"
EndSection

参数说明:

Section "Monitor"
    Identifier          "HDMI-1" #设置默认显示器为HDMI-1
    Option              "Rotate" "normal" #设置屏幕旋转 normal为正常,left向左旋转90度,
                                          #right向右旋转90度,inverted为上下翻转
EndSection
Section "Screen"
    Identifier          "Screen0"
    Monitor             "HDMI-1"   #设置屏幕为HDMI-1
    Option              "RandRRotation"   #设置支持HDMI旋转
EndSection
Section "InputClass"
    Identifier          "touchscreen"    #触摸屏设置
    MatchIsTouchscreen  "on"
    MatchDevicePath     "/dev/input/event*"
    Driver              "evdev"
    Option              "SwapAxes" "true"
    Option              "InvertX" "false"  #设置触摸屏X轴旋转,true为开启,false为关闭
    Option              "InvertY" "true"   #设置触摸屏Y轴旋转,true为开启,false为关闭
EndSection

总结

在arm板上因为触摸屏触摸不准问题导致项目选择显示屏比较困难,现在解决了这个问题,以后对触摸屏的选择就多了,不同尺寸,横竖屏都没问题。注意,该方法只支持使用X11框架的linux系统。

你可能感兴趣的:(linux-arm开发)