您的位置:首页 > 运维架构 > Linux

Linux触摸屏驱动测试程序

2016-06-18 07:48 447 查看
触摸屏驱动测试

由于mini2440的触摸屏驱动是基于input子系统的,而input子系统给用户层提供的是input_event结构体,我们主要是在应用层接收这个结构体,然后对其类型进行分类,取出我们需要的数值。

struct input_event { struct timeval time;

       unsigned short type;  //支持的类型,如EV_ABS

       unsigned short code;   //支持的具体事件,如坐标事件的ABS_X

       unsigned int value;  //值

};

测试触摸屏驱动的应用层代码如下

#include

#include

#include

#include

#include

int main(int argc, char *argv[])

{

       int fd = -1;

       int num;

       size_t rb;

       int version;

       char name[20];

       struct input_event ev;

       int i=0;

       if ((fd = open("/dev/input/event0", O_RDONLY)) < 0)  //打开设备

       {

              perror("open error");

              exit(1);

       }

       while(1)

       {

              rb = read(fd, &ev, sizeof(struct input_event));  //读取设备

              if (rb < (int)sizeof(struct input_event))  //读取错误

              {

                     perror("read error");

                     exit(1);

              }

              if (EV_ABS==ev.type)                     //读取按键内容

              {

              printf("event=%s,value=%d\n",ev.code==ABS_X?"ABS_X":ev.code==ABS_Y?"ABS_Y":ev.code==ABS_PRESSURE?"ABS_PRESSURE":"UNKNOWEN",ev.value);     

              }else{

              printf("not ev_abs\n");        

              }

       }    

        close(fd);

       return 0;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: