linux触摸屏 安卓linux模拟器

大家好,关于linux触摸屏很多朋友都还不太明白,今天小编就来为大家分享关于安卓linux模拟器的知识,希望对各位有所帮助!

Linux系统触摸板配置指南

在Linux系统下,触摸板默认可以使用,但为了优化体验,可能需要对其进行配置。libinput软件库为Linux系统提供了对各种输入设备的高级功能支持,包括触摸板、触摸屏、鼠标、键盘等,无需额外安装。

对于使用Xorg图形服务器的Linux系统,libinput的默认配置文件位于/usr/share/X11/xorg.conf.d/40-libinput.conf,可以通过查看此文件来了解配置内容。配置文件以“Section”开始,“EndSection”结束,包含一系列关键词,用户需要按照此格式进行自定义配置。

为了实现触摸板的个性化配置,首先创建配置文件/etc/X11/xorg.conf.d/30-touchpad.conf。利用nano编辑器,添加实际使用的配置内容。具体配置内容可能因设备和需求不同而变化,如灵敏度调整、点击方式设置等。示例配置如下:

示例配置内容如下,具体配置根据个人需求进行调整。

在完成配置后,使用快捷键"Ctrl+w"保存并退出nano编辑器。接下来重启Xorg服务或整个Linux系统,以使配置生效。

通过上述步骤,可以实现对Linux系统触摸板的优化配置,提高操作的便捷性和舒适度。

树莓派(Linux 系统)触摸屏翻转显示以及触摸翻转

树莓派(Linux系统)触摸屏翻转显示以及触摸翻转

问题:未使用的Pi官方屏幕,所以使用HDMI屏幕显示的时候,显示旋转的同时,触摸没有旋转

目的:旋转屏幕显示的同时,使得触摸也跟随旋转

操作总流程:

  旋转90度操作

 翻转显示:

 1.sudo nano/boot/config.txt

 2.在文件末尾加入

 display_rotate=0

 display_rotate=1  //90°

 display_rotate=2  //180°

 display_rotate=3  //270°

 ctrl+ o保存文档重启即可。

 注:以下操作皆为SSH操作,所以每条指令前都加了DISPLAY=:0,如果本机操作删掉即可。

 1.安装xinput

 sudo apt-get install xinput

 2.列出所有输入设备信息远程操作时,使用xinput指令需要加入DISPLAY=:0

 DISPLAY=:0 xinput--list

 3.列出目标设备属性

 DISPLAY=:0 xinput--list-props 7

 4.旋转触摸的坐标轴

 1)所以先交换x、y轴

 DISPLAY=:0 xinput--set-prop'7''Evdev Axes Swap' 1

 2)然后反转y轴

 DISPLAY=:0 xinput--set-prop'7''Evdev Axis Inversion' 0 1

显示旋转修改之后需要重启。而触摸旋转不需要重启。

详细操作方法: 

1.安装xinput

 sudo apt-get install xinput

 描述:

 xinput- utility to configure and test X input devices 

 xinput-用于配置和测试X输入设备的实用程序

 xinput is a utility to list available input devices,

 xinput是一个实用程序,可以列出可用的输入设备、

 query information about a device and change input device settings.

 关于设备的查询信息和更改输入设备设置

2.列出所有输入设备信息

 xinput--list

 如果远程操作记得在命令前加DISPLAY=:0

得到以下信息:

 pi@NTGAGE:~$ DISPLAY=:0 xinput--list

⎡ Virtual core pointer             id=2  [master pointer (3)]

⎜ ↳ Virtual core XTEST pointer        id=4  [slave pointer (2)]

⎜ ↳ Logitech USB Optical Mouse        id=6  [slave pointer (2)]

⎜ ↳ WaveShare WaveShare Touchscreen      id=7  [slave pointer (2)]

⎣ Virtual core keyboard             id=3  [master keyboard(2)]

  ↳ Virtual core XTEST keyboard        id=5  [slave keyboard(3)]

  ↳ Logitech USB Keyboard           id=8  [slave keyboard(3)]

  ↳ Logitech USB Keyboard           id=9  [slave keyboard(3)]

3.列出目标设备属性

 由于所使用的触摸屏幕是微雪7寸屏幕,由以上信息可以得到微雪的触摸屏对应的ID为7

所以,接下来看这款输入设备的属性,

pi@NTGAGE:~$ DISPLAY=:0 xinput--list-props 7

Device'WaveShare WaveShare Touchscreen':

     Device Enabled(115):  1

     Coordinate Transformation Matrix(116): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000

     Device Accel Profile(240):   0

     Device Accel Constant Deceleration(241):    1.000000

     Device Accel Adaptive Deceleration(242):    1.000000

     Device Accel Velocity Scaling(243):  10.000000

     Device Product ID(244):    3823, 5

     Device Node(245):   "/dev/input/event3"

     Evdev Axis Inversion(246):   0, 0

     Evdev Axis Calibration(247): <no items>

     Evdev Axes Swap(248): 0

     Axis Labels(249):   "Abs MT Position X"(267),"Abs MT Position Y"(268),"Abs MT Pressure"(269),"None"(0),"None"(0),"None"(0)

     Button Labels(250):  "Button Unknown"(233),"Button Unknown"(233),"Button Unknown"(233),"Button Wheel Up"(121),"Button Wheel Down"(122)

     Evdev Scrolling Distance(251): 0, 0, 0

     Evdev Middle Button Emulation(252):  0

     Evdev Middle Button Timeout(253):   50

     Evdev Third Button Emulation(254):   0

     Evdev Third Button Emulation Timeout(255):   1000

     Evdev Third Button Emulation Button(256):   3

     Evdev Third Button Emulation Threshold(257):  20

     Evdev Wheel Emulation(258):  0

     Evdev Wheel Emulation Axes(259):    0, 0, 4, 5

     Evdev Wheel Emulation Inertia(260):  10

     Evdev Wheel Emulation Timeout(261):  200

     Evdev Wheel Emulation Button(262):   4

     Evdev Drag Lock Buttons(263): 0

 这块屏幕正常显示和触摸的信息如上。

 如果执行到这一步,发现并没有以上的Evdev等属性项,请跳转第2种方法。

 现在需要达到的目的是在屏幕显示反转的同时,使得触摸也随显示翻转。

 屏幕显示为翻转90度。/boot/config.txt设置为display_rotate=1

 上述信息中Evdev Axis Inversion项是每条轴的旋转设置项,后面第一个参数是x,第二个参数是y.

 Evdev Axes Swap项对应的是两条轴的交换。

 0为不翻转,1为翻转 

 例如。x轴原本是朝向右的,当把Evdev Axis Inversion的第一个参数

 设置为1,即x轴朝向左。

4.旋转触摸的坐标轴

 现在目的是要触摸旋转90度,从坐标轴理解:

 即目的x轴正向为初始y轴的反向。目的y轴的正方向为初始x轴的正向。

 1)所以先交换x、y轴

 DISPLAY=:0 xinput--set-prop'7''Evdev Axes Swap' 1

 2)然后反转y轴

 DISPLAY=:0 xinput--set-prop'7''Evdev Axis Inversion' 0 1

这样即可完成触摸旋转90度。若要旋转其他角度,推理一下即可。

显示旋转修改之后需要重启。而触摸旋转不需要重启。

第二种方法

 如果查询到的信息如下

 DISPLAY=:0 xinput--list-props 6

Device'WaveShare WaveShare Touchscreen':

     Device Enabled(114):  1

     Coordinate Transformation Matrix(115): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000

     libinput Calibration Matrix(246):   0.000000, 1.000000, 0.000000,-1.000000, 0.000000, 1.000000, 0.000000, 0.000000, 1.000000

     libinput Calibration Matrix Default(247):   1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000

     libinput Send Events Modes Available(248):   1, 0

     libinput Send Events Mode Enabled(249):    0, 0

     libinput Send Events Mode Enabled Default(250):    0, 0

     Device Node(251):   "/dev/input/event0"

     Device Product ID(252):    3823, 5

 可以看到该驱动方式采用的是libinput,

 查看/usr/share/X11/xorg.conf.d/目录下是否有40-libinput.conf这个文件。

 无则需要安装 

 sudo apt-get install xserver-xorg-input-libinput 

 下一步安装完成后ls一下,就可以看到在/usr/share/X11/xorg.conf.d/目录下存在该文件,

 下一步复制该文件到/etc/X11/xorg.conf.d/目录下。

 一开始xorg.conf.d这个目录在/etc/X11可能没有,需要自己创建。

 sudo mkdir xorg.conf.d

 下一步复制到xorg.conf.d目录下即可。

 sudo cp/usr/share/X11/xorg.conf.d/40-libinput.conf/etc/X11/xorg.conf.d/

 下一步进入/etc/X11/xorg.conf.d/目录下修改40-libinput.conf文件

 cd/etc/X11/xorg.conf.d/

 sudo nano 40-libinput.conf

 找到touchscreen section

 Section"InputClass"

     Identifier"libinput touchscreen catchall"

     MatchIsTouchscreen"on"

     MatchDevicePath"/dev/input/event*"

     Driver"libinput"

 EndSection

 添加一行 Option"CalibrationMatrix""0 1 0-1 0 1 0 0 1 

 结果为

 Section"InputClass"

     Identifier"libinput touchscreen catchall"

     Option"CalibrationMatrix""0 1 0-1 0 1 0 0 1

     MatchIsTouchscreen"on"

     MatchDevicePath"/dev/input/event*"

     Driver"libinput"

EndSection

然后重启生效

 这样的修改也是同样修改为翻转90度,如果需要修改为其他角度,请参考libinput的算法

 

Linux操作系统如何支持触摸屏linux触摸屏

Linux操作系统是一种开源操作系统,拥有丰富的功能。然而,许多用户认为Linux不支持触摸屏,这是一个错误的观点。实际上,Linux操作系统可以支持触摸屏,但是需要用户花费一定的时间和精力来配置。

首先,为了支持Linux系统的触摸屏功能,必须有一个适用于Linux的触摸屏驱动程序。这些驱动程序的安装和设置都是比较复杂的,并且取决于触摸屏的型号和制造商。一般来说,Linux系统中的触摸屏驱动程序可以从触摸屏制造商的官方网站上找到。

其次,Linux操作系统中还需要安装一个相应的触摸屏配置工具。这些工具会根据触摸屏的型号和配置进行自动调整,可以很容易地满足使用者的不同需求。此外,使用这些工具可以调整触摸屏的响应时间和灵敏度,以提高使用体验。

最后,还需要对Linux操作系统的触摸控件进行配置。Linux操作系统有一个叫做Xinput的应用程序,它可以生成一个虚拟触摸屏设备,作为系统中触摸屏的控制接口,可以实现触摸屏的配置。

下面是关于支持Linux操作系统的触摸屏功能的一些代码:

//安装触摸屏驱动程序

sudo apt-get install xserver-xorg-input-evdev

//安装触摸屏配置工具

sudo apt-get install xinput-calibrator

//启动触摸屏

sudo xinput enable

//禁用触摸屏

sudo xinput disable

//重新配置触摸屏的响应时间和灵敏度

sudo xinput set-prop“Device Accel Constant Deceleration”

通过以上几步,可以完成Linux操作系统的触摸屏功能的支持。从而实现对触摸屏的控制,让用户可以以更直观的方式操作Linux操作系统。

阅读剩余
THE END