linux如何使用鼠标数据的,请问linux中如何快速获得鼠标数据(主要是鼠标位置坐标)...

这篇博客介绍了在 Debian 系统中,如何在不启动图形界面的情况下,通过读取/dev/input/mouse文件来获取鼠标事件,但这种方法速度较慢且存在溢出问题。作者提供了使用gpm库的解决方案,给出了示例代码并详细解释了如何编译和运行。通过启动console的鼠标服务,可以捕获鼠标事件,包括事件类型、坐标等信息。
摘要由CSDN通过智能技术生成

现在只找到一种方法,就是读/dev/input/mouse文件,但是发现速度巨慢,而且鼠标偏移大于100的时候字节就会溢出

不知道各位都是通过什么方法获取的

系统:debian ,最好不要启动图形界面,实在不行才考虑。。。

希望详细点,本人linux接触不多

|

可以用gpm库,给你一个例子,编译方法:

gcc -o test test.c -lgpm

如果没找到gpm.h,你可能需要安装gpm-devel的rpm包,在光盘上找找。

运行测试程序你需要启动console的鼠标服务:

/etc/init.d/gpm start

#include

#include

int my_handler(Gpm_Event *event, void *data)

{       printf("Event Type : %d at x=%d y=%dn", event->type, event->x, event->y);

return 0;

}

int main()

{       Gpm_Connect conn;

int c;

conn.eventMask  = ~0;   /* Want to know about all the events */

conn.defaultMask = 0;   /* don't handle anything by default  */

conn.minMod     = 0;    /* want everything                   */

conn.maxMod     = ~0;   /* all modifiers included            */

if(Gpm_Open(&conn, 0) == -1)

printf("Cannot connect to mouse servern");

gpm_handler = my_handler;

while((c = Gpm_Getc(stdin)) != EOF)

printf("%c", c);

Gpm_Close();

return 0;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值