qt linux实现鼠标位置自动移动,【已解决】qt中鼠标能显示但是无法移动
【問題】
在完成了Linux kernel中的對應的一個模擬鼠標的輸入設備(input device)easypoint驅動后,驗證了該驅動可以正常工作了,輸入
cat /dev/input/event1 | hexdump
然后移動該鼠標設備,會打印類似如下信息:
0000000 0f35 0807 3114 0004 0002 0000 ffff ffff
0000010 0f35 0807 3155 0004 0002 0001 0001 0000
0000020 0f35 0807 3165 0004 0000 0000 0000 0000
0000030 0f35 0807 6faf 0005 0002 0000 0001 0000
0000040 0f35 0807 6ff3 0005 0002 0001 ffff ffff
0000050 0f35 0807 7002 0005 0000 0000 0000 0000
0000060 0f35 0807 c03b 0005 0002 0000 0001 0000
0000070 0f35 0807 c07d 0005 0002 0001 ffff ffff
說明鼠標工作正常了。并且保證了,在編譯qt的時候,是加了對應的鼠標支持的:
在buildroot的menuconfig中,已經選上了qt的鼠標支持:
Package Selection for the target —>
Graphic libraries and applications (graphic/text) —>
[*] Qt —>
Mouse drivers —>
| |???????????????????????? [*] pc
| |???????????????????????? [*] bus
但是,在qt的測試程序里面,鼠標可以顯示,但是移動easypoint后,鼠標不動。
【解決辦法】
1。qt中,由于沒去設置鍵盤所對應的環境變量,但是默認已經能夠支持鍵盤鎖對應的輸入設備/dev/input/event0了,鍵盤也是可以正常工作的,上下左右,Enter,Tab等按鍵功能都是可以的。
而此處鼠標不能支持,根據之前看的帖子,第一反應就是去加上鼠標所對應環境變量。
根據這個官方的文檔:
加上了對應的變量:
export QWS_MOUSE_PROTO="MouseMan:/dev/input/event1"
試了試,發現還是不能工作,那就又試了其他的:
export QWS_MOUSE_PROTO="IntelliMouse:/dev/input/event1"
export QWS_MOUSE_PROTO="Microsoft:/dev/input/event1"
都還是不能工作。(注:此處不是觸摸板,所以,Tslib或者LinuxTP就肯定不是我們所用到的,而VR41xx和Yopy感覺也都是特殊的,不是我們這里要用的)
2。參考別人的帖子:
中介紹的:
CONFIG_INPUT_MOUSEDEV=y
CONFIG_INPUT_MOUSEDEV_PSAUX=y
CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
CONFIG_INPUT_MOUSE=y
去把對應的Linux kernel中的對應的對鼠標的支持都加上:
Device Drivers —>
Input device support —>
?? Mouse interface?????????????????????????????????????????????????????????????????????????? | |
[*]???? Provide legacy /dev/psaux device??????????????????????????????????????????????????????? | |
(1024) Horizontal screen resolution??????????????????????????????????????????????????????????? | |
(768)?? Vertical screen resolution
?? Event interface
[*]?? Mice —>
這樣,重新編譯一個新的uImage,再去試了試,不論是用:
export QWS_MOUSE_PROTO="MouseMan:/dev/input/event1"
還是
export QWS_MOUSE_PROTO="IntelliMouse:/dev/input/event1"
鼠標都還是無法移動。
最后,想起了那個帖子中的:
“改完之后就直接好了,不用改QWS mouse參數,改了反而不對了”
然后去重新設置該變量為空(或者不要去設置該變量):
export QWS_MOUSE_PROTO=
結果,qt成功識別鼠標,可以移動鼠標了。真是有點無語。。。
最后的當前環境變量貼出來,以備后查:
# env
HISTFILESIZE=1000
INPUTRC=/etc/inputrc
USER=root
HOSTNAME=uclibc
LD_LIBRARY_PATH=/usr/lib
HOME=/
QTDIR=/usrPAGER=/bin/more
PS1=#
LOGNAME=root
QT_QWS_FONTDIR=/usr/lib/fonts
TERM=vt102
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/bin/X11:/usr/local/bin
DMALLOC_OPTIONS=debug=0x34f47d83,inter=100,log=logfile
HISTSIZE=1000
SHELL=/bin/sh
QWS_DISPLAY=LinuxFb:/dev/fb0
PWD=/
QWS_MOUSE_PROTO=EDITOR=/bin/vi
總結
以上是生活随笔為你收集整理的qt linux实现鼠标位置自动移动,【已解决】qt中鼠标能显示但是无法移动的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 经各单位评估为重大隐患的应于几个工作日报
- 下一篇: linux 其他常用命令