import structfile = 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: %d\n" % (bleft,bMIDdle,bRight,x,y) )while True: getMouseEvent()file.close()
这种方法很好,除了滚轮信息丢失的事实.有谁知道我怎么能得到(最好用python)来自/ dev / input / mice的滚轮信息?
[编辑]
好的,虽然我没有设法读出/ dev / input / mice,但我认为我找到了解决方案.我刚刚找到了evdev模块(sudo pip install evdev),您可以使用它读出输入事件.我现在有以下代码:
from evdev import inputDevicefrom select import selectdev = inputDevice('/dev/input/event3') # This can be any other event number. On my Raspi it turned out to be event0while 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中应该有第四个字节.最后一个字节将包含车轮信息. 总结以上是内存溢出为你收集整理的如何从/ dev / input / mice中读出滚轮信息?全部内容,希望文章能够帮你解决如何从/ dev / input / mice中读出滚轮信息?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)