zoukankan      html  css  js  c++  java
  • 如何区分/dev/input/event

      方法是把每一个/dev/input/event打开。通过ioctl函数来读取设备name,每一个设备name是固定的,可以根据name区分event。我这是查找触摸事件为例:代码如下:

     1 static int getTouchEventNum()
     2 {
     3     char          name[64];           /* RATS: Use ok, but could be better */  
     4     char          buf[256] = { 0, };  /* RATS: Use ok */  
     5     int           fd = 0;   
     6     int           i;    
     7     for (i = 0; i < 32; i++) 
     8     {  
     9         sprintf(name, "/dev/input/event%d", i);  
    10         if ((fd = open(name, O_RDONLY, 0)) >= 0) 
    11         {  
    12             ioctl(fd, EVIOCGNAME(sizeof(buf)), buf);   
    13             if(strstr(buf, "MTOUC Touch"))
    14             {
    15                 close(fd);
    16                 return i;
    17             }
    18             //printf("%s
    ", name);  
    19             //printf("name: %s
    ", buf);           
    20             close(fd);  
    21         }
    22     }
    23     return -1;
    24 }

     这个函数的目的就是返回名字里有 MTOUC Touch 这个字段的event设备号,MTOUC Touch这个就是触摸的设备名字。

  • 相关阅读:
    SDUSTOJ 1466
    UVa
    51Nod
    UVa
    easyui-启用禁用方法
    设置系统时间
    移除/添加属性
    .net生成二维码图片
    Mysql数据库误删恢复
    js 加减乘除运算
  • 原文地址:https://www.cnblogs.com/winfu/p/5629764.html
Copyright © 2011-2022 走看看