访问 Linux 下的鼠标设备
作者:
liuuupen
日期:
2008-09-15
简介
通过访问 /dev/input/mice 设备获取鼠标信息。
select 系统调用
代码
#include <stdio.h>
#include <fcntl.h>
#include <sys/time.h>
#include <sys/types.h>
#include <unistd.h>
int main (int argc, char **argv)
{
int fd, retval;
char buf[6];
fd_set readfds;
struct timeval tv;
fd = open ("/dev/input/mice", O_RDONLY | O_NONBLOCK);
if (fd < 0) {
printf ("Failed to open /dev/input/mice /n");
return -1;
}
printf ("Suceed to open /dev/input/mice.fd = %d/n", fd);
tv.tv_sec = 5;
tv.tv_usec = 0;
while (1) {
FD_ZERO (&readfds);
FD_SET (fd, &readfds);
retval = select (fd + 1, &readfds, NULL, NULL, &tv);
printf ("retval = %d/n", retval);
if (retval == 1) {
printf ("select OK. /n");
if (read (fd, buf, 6) <= 0) {
printf ("Fail to read. /n");
continue;
}
printf ("Button type = %d, X = %d, Y = %d./n",
buf[0] & 0x07, buf[1], buf[2]);
}
}
close (fd);
return 0;
}