電子工程網(wǎng)
標題: 迅為4412開發(fā)板-QT鼠標和觸摸的問題解決方案 [打印本頁]
作者: 473143805qq.com 時間: 2017-4-20 10:22
標題: 迅為4412開發(fā)板-QT鼠標和觸摸的問題解決方案
一. 背景
在使用迅為提供的QT4.7的時候,鼠標可以正常使用,有觸摸但是觸摸會出現(xiàn)問題。尤其是在左右滑動qt界面的時候,總是會出現(xiàn)往左滑動,畫面急速往右走,然而往右滑動,畫面急速的往左走。
在使用迅為提供的Qtopia4的時候,只能用觸摸不能用鼠標。
二.解決辦法
① QT4.7系統(tǒng)
打開/bin/qt4
找到這句話:
export QWS_MOUSE_PROTO='MouseMan:/dev/input/miceTslib:/dev/input/event2'
然后改為這樣:
export QWS_MOUSE_PROTO='MouseMan:/dev/input/mouse1Tslib:/dev/input/event2'
這里注意單雙引號的變化
然后保存退出,在“插上鼠標”的情況下,重啟開發(fā)板。(這里注意開機后首先看一下這個文件是不是已經(jīng)改了,如果沒有修改成功,就再按照這個中方法修改一下,確保這個文件修改成功)
這樣Qt4.7系統(tǒng)就支持了鼠標和就觸摸了
②Qtopia系統(tǒng)
打開/bin/ qtopia
找到這句話:
exportQWS_MOUSE_PROTO='TPanel:/dev/input/event2'
然后改成這樣:
exportQWS_MOUSE_PROTO='TPanel:/dev/input/event2 MouseMan:/dev/input/mouse1'
然后保存退出,在“插上鼠標”的情況下,重啟開發(fā)板。(這里注意開機后首先看一下這個文件是不是已經(jīng)改了,如果沒有修改成功,就再按照這個中方法修改一下,確保這個文件修改成功)
這樣Qtopia系統(tǒng)就支持了鼠標和就觸摸了
三. 分析和總結(jié)
①.為什么修改成這樣觸摸就不會出現(xiàn)問題了呢?
看一下QT4.7改之前的這句話
exportQWS_MOUSE_PROTO='MouseMan:/dev/input/mice Tslib:/dev/input/event2'
其中
MouseMan:/dev/input/mice
用來配置鼠標的節(jié)點
Tslib:/dev/input/event2
用來配置觸摸
在控制臺輸入cat MouseMan:/dev/input/mice 然后不論觸摸屏幕還是使用鼠標,都會有亂碼打印出來。這就證明mice節(jié)點會接收來自鼠標和觸摸兩方面的事件,所以會造成干擾,導(dǎo)致觸摸不準確。然后輸入cat MouseMan:/dev/input/mouse1 的時候之后再使用鼠標的時候會打印亂碼,在觸摸時候不會,這樣就不會造成干擾。
②.這樣修改之后,系統(tǒng)確實是支持鼠標和觸摸了,但是鼠標不能夠熱插拔。也就是說要想使用鼠標,必須得在插上鼠標的情況下開機。關(guān)于這個原因,我在調(diào)試的時候發(fā)現(xiàn):
之前鼠標使用的節(jié)點/dev/input/mice不論鼠標有沒有插上都會存在,而之后鼠標用的節(jié)點/dev/input/mouse1只有在鼠標插上的時候出現(xiàn)。所以當開機事,開機腳本運行時,如果沒有鼠標,可能鼠標的配置就不會生效。
另外在調(diào)試過程中可以使用命令
cat /proc/bus/input/devices
來查看各個輸入設(shè)備是否接入,和他們的設(shè)備節(jié)點。
以上的步驟只是在迅為的4412精英版上試驗過,其他的沒有一步步驗證,但是道理都是一樣的。使用的開發(fā)板不同,也許鼠標和觸摸驅(qū)動對應(yīng)的節(jié)點會不一樣?梢允褂蒙厦嫣岬降腸at /proc/bus/input/devices命令來查看不同輸入設(shè)備所對應(yīng)的的設(shè)備節(jié)點。觸摸屏的驅(qū)動是Name="ft5x0x_ts";對于鼠標,可以通過拔掉鼠標和插上鼠標兩種情況下輸入這個命令看一下會增加那一項來確定鼠標的節(jié)點。
由于經(jīng)驗有限,以上都是我個人的理解,可能有誤。所以請大家以批判的心態(tài)來閱讀這個文檔。多謝在調(diào)試過程中對我進行幫助的同事們,今天有空把這個過程整理出來,以防以后忘記。
歡迎光臨 電子工程網(wǎng) (http://m.54549.cn/) |
Powered by Discuz! X3.4 |