| #include <stdio.h> #include <unistd.h>
 #include <string.h>
 #include <sys/time.h>
 #include <sys/types.h>
 #include <sys/stat.h>
 #include <fcntl.h>
 #include <sys/select.h>
 int main(void)
 {
 int ret = -1;
 int fd = -1;
 char buf[100];
 fd_set myset;
 struct timeval tm;
 fd = open("/dev/input/mouse0",O_RDONLY);
 if(fd < 0)
 {
 perror("open:");
 return -1;
 }
 FD_ZERO(&myset);
 FD_SET(fd, &myset);
 FD_SET(0, &myset);
 tm.tv_sec = 10;
 tm.tv_usec = 0;
 ret = select(fd + 1, &myset, NULL, NULL, &tm);
 if(ret < 0)
 {
 perror("select:");
 return -1;
 }
 else if(ret == 0)
 {
 printf("超时了\n");
 }
 else
 {
 if(FD_ISSET(fd, &myset))
 {
 //处理鼠标
 memset(buf, 0, sizeof(buf));
 read(fd, buf, 2);
 printf("读出的鼠标:[%s]\n",buf);
 }
 if(FD_ISSET(0, &myset))
 {
 //处理键盘
 memset(buf, 0, sizeof(buf));
 read(0, buf, 2);
 printf("读出的键盘:[%s]\n",buf);
 }
 }
 return 0;
 }
 
 
 |