首页新闻找找看学习计划

linux的input子系统不解

0
悬赏园豆:20 [待解决问题]

#include<stdio.h>

#include<stdlib.h>
#include<unistd.h>
#include<sys/ioctl.h>
#include<sys/types.h>
#include<sys/stat.h>
#include<fcntl.h>
#include<sys/select.h>
#include<sys/time.h>
#include<errno.h>
#include<linux/input.h>
intmain(void)
{
intbuttons_fd;
intkey_value,i=0,count;

structinput_eventev_key;
buttons_fd=open("/dev/event0",O_RDWR);
if(buttons_fd<0){
perror("opendevicebuttons");
exit(1);
}

for(;;){
count=read(buttons_fd,&ev_key,sizeof(structinput_event));
//printf("count=%d\n",count);
for(i=0;i<(int)count/sizeof(structinput_event);i++)
if(EV_KEY==ev_key.type)
printf("type:%d,code:%d,value:%d\n",ev_key.type,ev_key.code-1,ev_key.value);
if(EV_SYN==ev_key.type)
printf("synevent\n\n");

}

close(buttons_fd);
return0;
}
这段简单的输入子系统应用程序中read(buttons_fd,&ev_key,sizeof(structinput_event));就是说input_event保存在设备文件中?
还有就是i<(int)count/sizeof(structinput_event);我觉得就是1啊,read调用后不是就是返回读取的字节数吗?

求各位指导
放作夥的主页 放作夥 | 初学一级 | 园豆:139
提问于:2013-10-27 17:02
< >
分享
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册