真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

linux校準(zhǔn)觸摸屏命令 linux觸摸屏校準(zhǔn)

樹莓派(Linux 系統(tǒng))觸摸屏翻轉(zhuǎn)顯示以及觸摸翻轉(zhuǎn)

樹莓派(Linux 系統(tǒng))觸摸屏翻轉(zhuǎn)顯示以及觸摸翻轉(zhuǎn)

創(chuàng)新互聯(lián)公司-云計算及IDC服務(wù)提供商,涵蓋公有云、IDC機(jī)房租用、西信服務(wù)器托管、等保安全、私有云建設(shè)等企業(yè)級互聯(lián)網(wǎng)基礎(chǔ)服務(wù),歡迎聯(lián)系:18980820575

問題:未使用的Pi官方屏幕,所以使用HDMI屏幕顯示的時候,顯示旋轉(zhuǎn)的同時,觸摸沒有旋轉(zhuǎn)

目的:旋轉(zhuǎn)屏幕顯示的同時,使得觸摸也跟隨旋轉(zhuǎn)

操作總流程:

旋轉(zhuǎn)90度操作

翻轉(zhuǎn)顯示:

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,如果本機(jī)操作刪掉即可。

1.安裝xinput

sudo apt-get install xinput

2.列出所有輸入設(shè)備信息 遠(yuǎn)程操作時,使用xinput指令需要加入DISPLAY=:0

DISPLAY=:0 xinput --list

3.列出目標(biāo)設(shè)備屬性

DISPLAY=:0 xinput --list-props 7

4.旋轉(zhuǎn)觸摸的坐標(biāo)軸

1)所以先交換x、y軸

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

2)然后反轉(zhuǎn)y軸

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

顯示旋轉(zhuǎn)修改之后需要重啟。而觸摸旋轉(zhuǎn)不需要重啟。

詳細(xì)操作方法:?

1.安裝xinput

sudo apt-get install xinput

描述:

xinput - utility to configure and test X input devices ?

xinput-用于配置和測試X輸入設(shè)備的實用程序

xinput is a utility to list available input devices,

xinput是一個實用程序,可以列出可用的輸入設(shè)備、

query information about a device and change input device settings.

關(guān)于設(shè)備的查詢信息和更改輸入設(shè)備設(shè)置

2.列出所有輸入設(shè)備信息

xinput --list

如果遠(yuǎn)程操作記得在命令前加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.列出目標(biāo)設(shè)備屬性

由于所使用的觸摸屏幕是微雪7寸屏幕,由以上信息可以得到微雪的觸摸屏對應(yīng)的ID為7

所以,接下來看這款輸入設(shè)備的屬性,

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

這塊屏幕正常顯示和觸摸的信息如上。

如果執(zhí)行到這一步,發(fā)現(xiàn)并沒有以上的Evdev等屬性項,請?zhí)D(zhuǎn)第2種方法。

現(xiàn)在需要達(dá)到的目的是在屏幕顯示反轉(zhuǎn)的同時,使得觸摸也隨顯示翻轉(zhuǎn)。

屏幕顯示為翻轉(zhuǎn)90度。/boot/config.txt設(shè)置為display_rotate=1

上述信息中Evdev Axis Inversion 項是每條軸的旋轉(zhuǎn)設(shè)置項,后面第一個參數(shù)是x,第二個參數(shù)是y.

Evdev Axes Swap項對應(yīng)的是兩條軸的交換。

0為不翻轉(zhuǎn),1為翻轉(zhuǎn)?

例如。x軸原本是朝向右的,當(dāng)把Evdev Axis Inversion的第一個參數(shù)

設(shè)置為1,即x軸朝向左。

4.旋轉(zhuǎn)觸摸的坐標(biāo)軸

現(xiàn)在目的是要觸摸旋轉(zhuǎn)90度,從坐標(biāo)軸理解:

即目的x軸正向為初始y軸的反向。目的y軸的正方向為初始x軸的正向。

1)所以先交換x、y軸

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

2)然后反轉(zhuǎn)y軸

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

這樣即可完成觸摸旋轉(zhuǎn)90度。若要旋轉(zhuǎn)其他角度,推理一下即可。

顯示旋轉(zhuǎn)修改之后需要重啟。而觸摸旋轉(zhuǎn)不需要重啟。

第二種方法

如果查詢到的信息如下

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

可以看到該驅(qū)動方式采用的是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/目錄下存在該文件,

下一步復(fù)制該文件到/etc/X11/xorg.conf.d/目錄下。

一開始xorg.conf.d這個目錄在/etc/X11可能沒有,需要自己創(chuàng)建。

sudo mkdir xorg.conf.d

下一步復(fù)制到xorg.conf.d 目錄下即可。

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

下一步進(jìn)入/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?

結(jié)果為

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

然后重啟生效

這樣的修改也是同樣修改為翻轉(zhuǎn)90度,如果需要修改為其他角度,請參考libinput的算法

linux開發(fā)板怎么樣實現(xiàn)觸摸屏校驗

第一進(jìn)入LINUX系統(tǒng)時,會出現(xiàn)觸摸屏校驗提示,按提示校準(zhǔn)5個點就可以了.

如果想重新校驗,可以如下操作

#rm /etc/pointercal (刪除校準(zhǔn)文件)

#reboot (重新啟動開發(fā)板)

此時可以重新校驗

友善之臂linux系統(tǒng)中的怎么設(shè)置每次開啟進(jìn)行觸摸屏校準(zhǔn)

很多方法吧。。首先你要明白校準(zhǔn)的原理,你的觸摸屏和你的顯示屏實質(zhì)上是沒有關(guān)系,所謂校準(zhǔn)就是讓屏幕上的某點和觸摸屏的某點形成關(guān)系,這個關(guān)系所需要的就是幾個關(guān)系系數(shù),其實就是一個多元一次方程組,通過采集多點來求解這個方程組就求出了關(guān)系系數(shù)。這樣底層驅(qū)動傳上來觸摸屏坐標(biāo)后,系統(tǒng)就會自動轉(zhuǎn)換成屏幕的坐標(biāo)。


文章名稱:linux校準(zhǔn)觸摸屏命令 linux觸摸屏校準(zhǔn)
文章起源:http://weahome.cn/article/ddsgcoi.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部