linux校准触摸屏命令 ubuntu触摸屏校准软件( 二 )


?? WaveShare WaveShare Touchscreenid=7[slavepointer(2)]
? Virtual core keyboardid=3[master keyboard (2)]
? Virtual core XTEST keyboardid=5[slavekeyboard (3)]
? Logitech USB Keyboardid=8[slavekeyboard (3)]
? Logitech USB Keyboardid=9[slavekeyboard (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度 。若要旋转其他角度,推理一下即可 。
显示旋转修改之后需要重启 。而触摸旋转不需要重启 。
第二种方法
【linux校准触摸屏命令 ubuntu触摸屏校准软件】如果查询到的信息如下
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

推荐阅读