zoukankan      html  css  js  c++  java
  • EVIOCGNAME:Get Device Name

               linux内核提供了一个Input子系统来实现的,Input子系统会在/dev/input/路径下创建我们硬件输入设备的节点,一般情况下在我们的手机中这些节点是以eventXX来命名的,如event0,event1等等,可以利用EVIOCGNAME获取此事件结点名称。这就是android中对于input事件处理数据的来源点


    ---------------


    通过ioctl命令EVIOCGNAME,能获取dev/input/event*对应的Device Name

     

    实例:


    openInput(const char* inputName) {
        int fd = -1;
        const char *dirname = "/dev/input";
        char devname[PATH_MAX];
        char *filename;
        DIR *dir;
        struct dirent *de;
        dir = opendir(dirname);
        if(dir == NULL)
            return -1;
        strcpy(devname, dirname);
        filename = devname + strlen(devname);
        *filename++ = '/';
        while((de = readdir(dir))) {
            if(de->d_name[0] == '.' &&
                    (de->d_name[1] == '' ||
                            (de->d_name[1] == '.' && de->d_name[2] == '')))
                continue;
            strcpy(filename, de->d_name);
            fd = open(devname, O_RDONLY);
            if (fd>=0) {
                char name[80];
                if (ioctl(fd, EVIOCGNAME(sizeof(name) - 1), &name) < 1) {
                    name[0] = '';
                }
                if (!strcmp(name, inputName)) {
                    break;
                } else {
                    close(fd);
                    fd = -1;
                }
            }
        }
        closedir(dir);
        LOGE_IF(fd<0, "couldn't find '%s' input device", inputName);
        LOGI_IF(fd>=0, "Found '%s' input device in %s", inputName, dirname);
        return fd;

    }


    ===========================

    http://blog.csdn.net/andyhuabing/article/details/7006688





  • 相关阅读:
    poj 2584 T-Shirt Gumbo (二分匹配)
    hdu 1757 A Simple Math Problem (乘法矩阵)
    矩阵之矩阵乘法(转载)
    poj 2239 Selecting Courses (二分匹配)
    hdu 3661 Assignments (贪心)
    hdu 1348 Wall (凸包)
    poj 2060 Taxi Cab Scheme (二分匹配)
    hdu 2202 最大三角形 (凸包)
    hdu 1577 WisKey的眼神 (数学几何)
    poj 1719 Shooting Contest (二分匹配)
  • 原文地址:https://www.cnblogs.com/liulaolaiu/p/11744620.html
Copyright © 2011-2022 走看看