求问:如何获取鼠标的原始data中的xy偏移量

内核编译和嵌入式产品的设计与开发
回复
头像
XEUY
帖子: 247
注册时间: 2007-08-20 8:13
联系:

求问:如何获取鼠标的原始data中的xy偏移量

#1

帖子 XEUY » 2016-09-22 9:39

我想在linux下,获得USB光电鼠标的原始的xy偏移值,而不是要驱动处理之后的值。
处理之后的值,大小限制在屏幕分辨率范围内,是坐标。
而我想要的是鼠标自身传递的原始的偏移量,比如每时每刻,鼠标上报dx=多少像素,dy=多少像素,这个值,请问如何抓取,可以printk吗
每天都在起步。。。如同起床
头像
astolia
论坛版主
帖子: 6396
注册时间: 2008-09-18 13:11

Re: 求问:如何获取鼠标的原始data中的xy偏移量

#2

帖子 astolia » 2016-09-22 14:49

鼠标驱动一般都是上报的相对偏移。绝对位置一般都是触控板的事,可能是用虚拟机把鼠标模拟成了绝对定位设备让你产生了误解。另外绝对位置也是设备的绝对位置,而不是屏幕的,转换是由应用软件如X来做的
可以用lsinput来看具体的输入设备是报告的是绝对位置EV_ABS还是相对偏移EV_REL
另外就算是绝对位置,也同样可以通过两次绝对位置的差值来算出相对偏移

详情参考内核文档 https://www.kernel.org/doc/Documentatio ... -codes.txt
头像
XEUY
帖子: 247
注册时间: 2007-08-20 8:13
联系:

Re: 求问:如何获取鼠标的原始data中的xy偏移量

#3

帖子 XEUY » 2016-09-23 11:38

astolia 写了:鼠标驱动一般都是上报的相对偏移。绝对位置一般都是触控板的事,可能是用虚拟机把鼠标模拟成了绝对定位设备让你产生了误解。另外绝对位置也是设备的绝对位置,而不是屏幕的,转换是由应用软件如X来做的
可以用lsinput来看具体的输入设备是报告的是绝对位置EV_ABS还是相对偏移EV_REL
另外就算是绝对位置,也同样可以通过两次绝对位置的差值来算出相对偏移

详情参考内核文档 https://www.kernel.org/doc/Documentatio ... -codes.txt

根据您的解释,我需要的是相对偏移,REL,恳请您再耐心指点一下,如何获得REL_X, REL_Y的值 :em11
每天都在起步。。。如同起床
头像
astolia
论坛版主
帖子: 6396
注册时间: 2008-09-18 13:11

Re: 求问:如何获取鼠标的原始data中的xy偏移量

#4

帖子 astolia » 2016-09-23 21:58

直接读/dev/input/event*或其他消息接口传来的数据就行了。数据格式见内核文档 https://www.kernel.org/doc/Documentatio ... /input.txt 最后一节
回复