Joh*_*ach 13 python linux mouse hid
我知道Linux从/ dev/input/mice中发出了9位2的赞美数据.我也知道你可以通过/ dev/hidraw0获取数据,其中hidraw是你的USB设备,从HID中提供原始数据.我知道发送的数据是移动的增量(位移)而不是位置.通过我也可以通过"cat/dev/input/mice"查看乱码数据.我的问题是:
你能用Python语言告诉我如何读取这些数据?我真的很喜欢用简单的整数来获取数据.但事实证明这很难.真正的问题是阅读该死的数据.有没有办法读取位并进行位运算?(目前我并不担心root用户相关的问题.请假设脚本在root中运行.)
小智 14
我在基本设备上,无法访问X或...所以event.py不起作用.
所以这是我从"弃用"'/ dev/input/mice'解释的更简单的解码代码部分:
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: %d\n" % (bLeft,bMiddle,bRight, x, y) );
# return stuffs
while( 1 ):
getMouseEvent();
file.close();
Run Code Online (Sandbox Code Playgroud)
来自输入系统的数据是结构,而不是简单的整数.我相信鼠标设备已经弃用了.首选方法是事件设备接口,其中也可以获得鼠标(和其他)输入事件.我写了一些执行此操作的代码,Event.py模块您可以使用它,或从那里开始.
归档时间: |
|
查看次数: |
11996 次 |
最近记录: |