- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我一直在使用以下 C 代码来尝试在 CentOS 6.0 机器上模拟击键:
#include <stdio.h>
#include <string.h>
#include <fcntl.h>
#include <unistd.h>
#inlcude <linux/input.h>
#include <linux/uinput.h>
#include <sys/time.h>
static int fd = -1;
struct uinput_user_dev uidev;
struct input_event event;
int main()
{
int i;
fd = open("/dev/uinput", O_WRONLY | O_NONBLOCK);
memset(&uidev, 0, sizeof(uidev));
snrpintf(uidev.name, UINPUT_MAX_NAME_SIZE, "uinput-kbd");
uidev.id.version = 1;
uidev.id.vendor = 0x1;
uidev.id.product = 0x1;
uidev.id.bustype = BUS_USB;
ioctl(fd, UI_SET_EVBIT, EV_KEY);
for(i = 0; i < 256; i++)
{
ioctl(fd, UI_SET_KEYBIT, i);
}
ioctl(fd, UI_SET_EVBIT, EV_SYN);
write(fd, &uidev, sizeof(uidev));
ioctl(fd, UI_DEV_CREATE));
memset(&event, 0, sizeof(event));
gettimeofday(&event.time, NULL);
event.type = EV_KEY;
event.code = KEY_1;
event.value = 1;
write(fd, &event, sizeof(event));
event.type = EV_SYN;
event.code = SYN_REPORT;
event.value = 0;
write(fd, &event, sizeof(event));
memset(&event, 0, sizeof(event));
gettimeofday(&event.time, NULL);
event.type = EV_KEY;
event.code = KEY_1;
event.value = 0;
write(fd, &event, sizeof(event));
event.type = EV_SYN;
event.code = SYN_REPORT;
event.value = 0;
write(fd, &event, sizeof(event));
ioctl(fd, UI_DEV_DESTROY);
close(fd);
return 0;
}
最佳答案
现在我在这里找到了为什么这不起作用,我花了两天时间寻找问题。幸运的是,最后,我在第 7.4 章的 linux kernel 5.60 source example 中找到了它。这是图片。 Solution
文档说我们最好等一段时间,让用户空间有空间来检测事件,因为在内核态创 build 备节点比向fd发送事件要花费很多时间,希望答案是不太晚。
这是链接7.Uinput-module
关于c - 在 linux 中使用 C 和 uinput 库模拟击键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44754645/
我正在尝试编写触摸事件。我正在使用相机跟踪手部,因此我需要两个指针并且需要显示它们。 这是我尝试过的方法,但它什么也没做: import uinput import time device = uin
我试图在 Raspberry Pi 论坛上问这个问题,但我根本没有收到任何回复。我想我可能会询问过去很有帮助的 StackOverflow 社区的想法。 我正在为使用 bcm2835 库 (GPIO)
我在通过 uinput 设备事件文件模拟鼠标事件时发现了一个问题。 我可以用 'struct input_event' 结构格式为键盘/鼠标事件编写事件,但只有键事件工作正常,鼠标事件不工作 我启用了
我非常努力地寻找 uinput 的文档,但我唯一找到的是 linux/uinput.h。我还在互联网上找到了一些教程,但根本没有文档! 例如,我想知道 UI_SET_MSCBIT 的作用,但我找不到任
import uinput device = uinput.Device([uinput.KEY_LEFTCTRL, uinput.KEY_LEFTALT, uinput.KEY_T]) device
我试图通过将数据写入/dev/uinput 来控制 Android。例如,如果我在桌面上输入“A”,代码会根据 key_code 向 uinput 写入一些内容,而 Android 应该表现得像我在手
我正在用 python-uinput 做一些测试模拟一些按键,但我找不到动态调用 uinput.emit() 的方法。我的意思是,例如,我想从文件中获取字符并为每个字符调用 uinput.emit()
大家好,感谢阅读。 我正在尝试使用 uinput 界面来执行一些操作。最终,这些数据将通过 UART 从串行连接进行解释。 我可以打开、关闭等 uinput,它适用于单点触控。 EV_KEY BTN_
我尝试在没有触摸屏的安卓设备上注入(inject)事件。我正在使用用户空间输入设备 (uinput) 这样做,但它不起作用。 我正在使用这段代码: fd_virtual_dev = open("/de
我在使用 uinput 使代码的两侧 工作时遇到了一些问题。 基于 Getting started with uinput: the user level input subsystem [死链接;
我想让 uinput 出现在 h1 标签中的 Hello 一词之后。它应该显示他们在上一页中添加的用户名。 va
我已经成功设置了一个小程序来创建一个uinput我计划使用它来自动测试接收键盘输入事件的应用程序。 我关注了both tutorials在这个非常好的answer中找到. 当我的程序通过调用 ioct
我正在为 Android 开发 Synergy 端口(参见 synergy-foss.org)。 我发现注入(inject)击键的唯一方法是使用 Cyanogen Mod 并将击键写入/dev/uin
我正在尝试确保 uinput 正在运行/加载并且它有效。 我无法使用 lsmod 找到设备,但是我可以找到文件/dev/uinput,这是什么意思? 我通过一些谷歌搜索找到了一些代码,这些代码显然是在
我正在尝试使用绝对坐标移动光标。这是代码: #include #includ
我正在尝试使用/dev/uinput 和 ioctl 在 Android 上移动光标鼠标。 这是我的代码: int fd = -1; struct input_event ev; int uinput
我正在尝试在 Debian Stretch 上做一个带有 uinput 的虚拟键盘,我可以输入字符串,比如“Toto!”,键盘会写入这个字符串。但是,我一直坚持从 C char 到键盘处理的键码的转换
目前有什么方法可以在 SBCL 中使用 uinput 内核模块吗?我自己找不到任何图书馆(除了一些日本人 [?] 人的 github:https://github.com/quek/info.read
我正尝试在 Ubuntu 上使用 python 从 PS3 Controller 读取数据,但运气不佳。我从 Willow Garage (http://www.ros.org/wiki/ps3joy
我一直在使用以下 C 代码来尝试在 CentOS 6.0 机器上模拟击键: #include #include #include #include #inlcude #include #i
我是一名优秀的程序员,十分优秀!