如何从/ dev / input / mice中读出滚轮信息?
发布时间:2020-12-14 01:42:36 所属栏目:Linux 来源:网络整理
导读:对于家庭机器人项目,我需要读出原始鼠标移动信息.我通过使用 this SO-answer的python脚本部分成功.它基本上读出/ dev / input / mice并将hex-input转换为整数: import structfile = open( "/dev/input/mice","rb" )def getMouseEvent(): buf = file.read(3)
对于家庭机器人项目,我需要读出原始鼠标移动信息.我通过使用
this SO-answer的python脚本部分成功.它基本上读出/ dev / input / mice并将hex-input转换为整数:
import struct file = open( "/dev/input/mice","rb" ) def getMouseEvent(): buf = file.read(3) button = ord( buf[0] ) bLeft = button & 0x1 bMiddle = ( button & 0x4 ) > 0 bRight = ( button & 0x2 ) > 0 x,y = struct.unpack( "bb",buf[1:] ) print ("L:%d,M: %d,R: %d,x: %d,y: %dn" % (bLeft,bMiddle,bRight,x,y) ) while True: getMouseEvent() file.close() 这种方法很好,除了滚轮信息丢失的事实.有谁知道我怎么能得到(最好用python)来自/ dev / input / mice的滚轮信息? [编辑] from evdev import InputDevice from select import select dev = InputDevice('/dev/input/event3') # This can be any other event number. On my Raspi it turned out to be event0 while True: r,w,x = select([dev],[],[]) for event in dev.read(): # The event.code for a scroll wheel event is 8,so I do the following if event.code == 8: print(event.value) 我现在要在我的raspi上测试它,看看它是如何工作的.感谢所有的灵感男人和女孩! 解决方法
如果/ dev / input / mice中每个事件只有3个字节,则表示您的鼠标配置为无轮PS / 2鼠标.如果将鼠标配置为IMPS / 2鼠标,则每个事件的/ dev / input / mice中应该有第四个字节.最后一个字节将包含车轮信息.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
热点阅读