直接写入/ dev / input / event5,写入字符设备文件

时间:2017-02-02 02:29:42

标签: c linux file input

我的键盘有音量控制。我正试图直接触发/模拟音量增加事件。使用xxd -c 24 event5,我可以监控文件包含的内容。当我使用实际的音量按钮时,它会正常触发它。下面是一个C脚本,用于写入按钮发送的确切数据。

int main()
{
    int f = open("/dev/input/event5", O_WRONLY);
    if(f == -1)
    {
        perror("Could not open event5");
        return 1;
    }
    struct input_event e;
    gettimeofday(&e.time, 0);
    e.type = 0x0400;
    e.code = 0x0400;
    e.value = 0x0e9000c00;
    write(f, &e, sizeof(e));

    gettimeofday(&e.time, 0);
    e.type = 0x0100;
    e.code = 0x7300;
    e.value = 0x01000000;
    write(f, &e, sizeof(e));

    gettimeofday(&e.time, 0);
    e.type = 0x0000;
    e.code = 0x0000;
    e.value = 0x00000000;
    write(f, &e, sizeof(e));
    return 0;

}

但是xxd -c 24 event5没有检测到写入,也没有在我的桌面上触发音量增加操作。

文件正常打开没有错误。但是我仍然怀疑open命令有问题。这让我想问

你如何写这种类型的文件?

crw-rw----   1 root input 13, 69 Feb  1 17:26 event5

0 个答案:

没有答案