Android中的keychord作用

来源:互联网 发布:手机效率软件 编辑:程序博客网 时间:2024/05/16 15:12

看代码时候发现keychords这个文件

用户空间的代码在: system/core/init/keychords.c
内核驱动的代码在: drivers/input/misc/keychord.c

chords意思是和弦,钢琴和吉他都有和弦,意思就是多个键一起按,顾名思义,keychords应该就是处理多点触摸的接口。看看初始化代码:

主要是通过/dev/keychord文件节点和底层驱动进行交互。

void keychord_init()
{
    int fd, ret;

    service_for_each(add_service_keycodes);

    /* nothing to do if no services require keychords */
    if (!keychords)
        return;

    fd = open("/dev/keychord", O_RDWR);
    if (fd < 0) {
        ERROR("could not open /dev/keychord\n");
        return;
    }
    fcntl(fd, F_SETFD, FD_CLOEXEC);

    ret = write(fd, keychords, keychords_length);
    if (ret != keychords_length) {
        ERROR("could not configure /dev/keychord %d (%d)\n", ret, errno);
        close(fd);
        fd = -1;
    }

    free(keychords);
    keychords = 0;

    keychord_fd = fd;
}


0 0
原创粉丝点击