c - 在 C 中抓取一个设备

标签 c linux device

如何在 C 中获取设备(比如鼠标?)以便只有给定的进程才能使用它?

例如,它将允许鼠标仅在当前进程上使用。

我正在创建一个虚拟设备,我在“/dev/uinput”上写入以发送鼠标移动。如何将此虚拟鼠标限制为仅一个进程。

最佳答案

evtestevemu不足以满足您的测试需求?它们位于大多数 Linux 发行版的标准存储库中,当然足以进行临时测试。

我已经发布了一些示例代码 here作为对 how to read barcodes from a specific input event device in Linux 的回答.它有超时支持,并抓取输入设备(在输入事件设备文件描述符上使用 ioctl(fd, EVIOCGRAB, 1)),这样事件就不会被传播和其他试图抓取的进程设备因 EBUSY 而失败。

以您觉得舒服的方式修改它以检查您的设备提供的事件结构应该不会太困难。

关于c - 在 C 中抓取一个设备,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33302765/

相关文章:

android - 如何识别正在使用哪个 android 操作系统用户设备?

iphone - 如何检测 iPhone 5(宽屏设备)?

c - 使用 LD_PRELOAD 和 IFS 利用 SUID 文件

c - 从 C 文本文件中读取矩阵

c - 从文件读取时使用字符串数组

linux - 安装 nginx 如果我在 centos 服务器上删除/etc/nginx 如何重新安装它 我是 centos 和 nginx 的新手

c - mvprintw() 只打印部分

Linux 内核空闲循环

java - 在真实设备中运行应用程序时遇到问题

c - Windows API 的哪些部分不能从 ANSI C 代码访问?