作者gn00618777 (非常念旧)
看板LinuxDev
标题[问题] input driver
时间Sun Aug 7 20:46:56 2016
版友们好
工作需要,移植前人的 code ,顺利在板子上生出 /dev/input/event1
前人的 code 可以传送 event ,并在 android 端的 hal 层,读取到event,由於内容
不太对,所以我想自己写了两个小程式来做测试,一个是 write_event.c 另一个是
read_event.c
write_event.c:
struct input_event data_event;
int rc= 0, i=0, fd=0;
struct timeval tv;
gettimeofday(&tv, NULL);
data_event.type = EV_ABS;
data_event.code = ABS_X;
data_event.value = (int)0;
data_event.time.tv_sec = tv.tv_sec;
data_event.time.tv_usec = tv.tv_usec;
if((fd = open("/dev/input/event1", O_RDWR)) < 0)
{
printf("Error can't open file\n");
}
while(1)
{
usleep(2000000);
if(write(fd, &data_event, sizeof(data_event)) < 0 )
printf("Error\n");
}
而 read_event.c 是
struct input_event event;
int fd=0;
if((fd=open("/dev/input/event1",flag))<0) printf("error\n");
read(fd,&event,sizeof(event)) //--->阻塞在这里
write_event.c 可以一直 while 然後 write,但read_event 一直没有东西
在android 内下 getevent,也没有event 进来,请问我是缺少了甚麽呢?
谢谢
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 58.115.110.28
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/LinuxDev/M.1470574020.A.8B8.html
1F:推 clanguage: 有 sendevent /dev/input/event 可以用 应该不需自己写 08/08 14:40
2F:→ clanguage: 直接在 driver debug 可能比较快 08/08 14:41