不了解 EVIOCGRAB 在触摸屏设备上的使用

不了解 EVIOCGRAB 在触摸屏设备上的使用

我正在研究一个处理来自 Linux 内核的触摸屏事件的用户空间库。

下面这行代码,我不明白它的作用。EVIOCGRAB使用触摸屏文件描述符传递给 ioctl的目的是什么?为什么需要它?

ioctl(fd, EVIOCGRAB, (void *)1);

EVIOCGRAB恐怕谷歌搜索并没有给我带来太多信息。提前致谢。

答案1

EVIOCGRAB参数为 1 时尝试独占设备evdev;如果成功,则被抓取设备产生的所有事件将仅发送到拥有的客户端。严格来说这不是必需的,事实上libevdev的文档libevdev_grab(这是库调用包装EVIOCGRAB)说

这通常是一个坏主意。不要这样做。

相关内容