linux - 无需 X 即可模拟击键的 Linux 程序
问题描述
我正在为 pda 编写驱动程序,目标是将 UART 接收到的键号转换为击键。
我目前设置这个系统的方式是,当收到一个密钥号码时,我可以执行一个程序。在配置中定义了如果我的驱动程序接收到某个数字,则执行什么命令。它通过fork()
ing 和exec()
ing 来做到这一点。它在启动时运行并立即解析这些键号,所以我打算使用它而不是真正的键盘。
那么有没有什么程序,我可以简单地做一些类似的事情
programname KEY_SPACE 1
按 KEY_SPACE
和
programname KEY_SPACE 0
释放KEY_SPACE?
这样的程序必须在没有 X 的情况下以及与 X 一起工作。我也希望它也能够执行鼠标事件,但是如果有不同的程序可以做到这一点,那对我来说很好。如果需要,它也可以以 root 身份运行。
解决方案
您需要的是使用 uinput,它允许从用户空间模拟输入设备。您在这里有文档:https : //www.kernel.org/doc/html/v5.11/input/uinput.html 它有一个示例显示如何发送 KEY_SPACE 按下事件,然后是 KEY_SPACE 释放事件。
推荐阅读
- python-3.x - Qt:QFormLayout - 如何从按钮中找到行
- html - 视频播放后 HTML 5 视频显示黑屏
- javascript - 为什么移动设备上的幻灯片之间的图像闪烁?
- python - 对具有低值计数的唯一值进行分组
- ssl - Microsoft Graph api 使用的安全协议
- javascript - 获取按钮点击链接
- r - 如何更改 lm() 的默认对象值?
- javascript - 在我用地图得到的每个数字后添加一个“%”符号
- android - 应用程序开发人员是否有理由不使用相同的签名对所有应用程序进行签名?
- html - 尝试不同的 Xpath,它们都不起作用