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