问题标签 [uinput]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1265 浏览

python - Python-uinput它不能移动鼠标光标

当我将它作为脚本运行时,Python-uinput 无法移动光标

但是当我使用 Python 交互式逐步运行时,它工作正常

这是一个不移动光标的命令。

这是一个与 python 交互的命令,它可以正确移动光标。

测试视频:Python-uinput 光标确实移动测试

0 投票
1 回答
173 浏览

c - 在 Raspberry Pi 2 B 上构建使用 libusb 的程序时出错

我在一个 Raspberry Pi 2 B 上使用 Raspbian,它带有一个从源代码构建的 libusb(如果你好奇的话,版本 1.0.18)。我正在尝试在 Pi 上构建这个程序,但它给出了以下错误:

如果您需要任何其他信息,我会提供。

编辑:还添加了make详细信息的顶行。

0 投票
2 回答
2315 浏览

c - 如何获取 uinput 创建设备的名称(路径)

我已经成功设置了一个小程序来创建一个设备,我打算用它来自动测试接收键盘输入事件的应用程序。

我已经按照这个非常好的答案中的两个 教程进行了操作。

当我的程序通过调用新设备来创建 uinput 设备ioctl(fd, UI_DEV_CREATE)时,文件系统中会出现一个新设备,因此我的被测应用程序可以附加到它并等待事件。我的目标系统已经有一个/dev/input/event0设备,所以新的得到了路径/dev/input/event1。如果我为我的桌面系统编译并运行程序,那里有现有的设备/dev/input/event[0-15],当程序运行时,新设备会得到/dev/input/event16

我希望我的程序在创建新设备名称后报告它。有没有办法得到它?

0 投票
0 回答
194 浏览

python - uinput 在 Advmame 或 Advmenu 中不起作用

我正在尝试构建一个arcade machine使用Beaglebone Black GPIO开关的Happs controller set. 我构建了一个python script在启动时运行并将所有 GPIO 正确分配给Advmenu and Advmame. 该脚本在命令行上运行良好,但我无法uinput在里面工作Advmenu or Advmame。我已尝试对udev规则进行多次更改,但均未成功。目前似乎SDL1.2是已安装的SDL版本,但目前我正在构建最新的SDL2.

udev 文件 /etc/udev/rules.d/40-uinput.rules

这是我创建并一直在使用的程序

任何想法为什么虚拟键盘不起作用?

0 投票
1 回答
2010 浏览

c - 在基于 linux 的 hmi 屏幕中使用 uinput 模拟触摸事件不起作用?

下面是我尝试将触摸事件从用户空间发送到我们的 hmi 的代码。显式检查所有 ioctl 调用和写入是否成功,但未注入事件。供应商 ID 和产品 ID 设备名称输入不正确。不确定它是否与输出相关。(事件注入的三种方式都已经一一试用过了)。它需要供应商 id 产品 id 和设备名称,然后我们将从基于 Linux 的嵌入式系统中的何处获取这些数据。

0 投票
1 回答
841 浏览

python - 使用与 Libinput 连接的 Python 创建宏

我正在运行 Fedora 22;我正在尝试使用 uinput 创建一个非常简单的键盘宏脚本,该脚本可以跨显示服务器(和控制台)工作。

这篇文章之后,我想出了如何在控制台和 evdev 中成功地做到这一点;

但是我也希望能够通过 libinput 来做到这一点(对于 wayland、mir 和 X11);没有人知道怎么做吗?

0 投票
1 回答
487 浏览

c - 用于 Ubuntu 14.04 的 C 语言中的 UINPUT 设备程序不起作用。为什么?

我正在使用 Ubuntu 14.04,并且我正在 c 中设置一个虚拟键盘,这需要 uinput 才能工作。

我有这个root权限问题:

但是我通过为此创建一个新规则来解决它。它现在打印:

然而,这仍然不能解决我的问题,我的程序仍然无法运行,即使使用 sudo。

这是我的代码:

我的源代码从那里继续。

但是,程序总是打印“无法创建 UINPUT 设备。”。

运行我的程序的 sudo 命令也不起作用,并且打印了相同的错误消息。我应该怎么做才能让程序正常工作?谢谢。

0 投票
0 回答
217 浏览

c - 用于 Ubuntu 14.04 的 C 语言中的 UINPUT 设备程序不起作用。为什么?第2部分:

我正在使用 Ubuntu 14.04,并且我正在 c 中设置一个虚拟键盘,这需要 uinput 才能工作。

我的程序应该将键“a”发送到终端,就像我按下键盘上的“a”键一样。

这是我的源代码:

然而,我的程序什么也没做。它只是打印出来:

就是这样……

我究竟做错了什么?感谢您的帮助!

0 投票
5 回答
3218 浏览

android - 使用 /dev/uinput 在 Android 中模拟触摸事件不起作用

我尝试使用 /dev/uinput 在 Android 中模拟触摸事件,一些代码如下:

首先打开“/dev/uinput”文件,并创建一个udev:

}

然后在uinput_fd中写入一些事件,代码段如下:

我可以通过输入命令“getevent -l”在终端的 /dev/input/event7 上看到事件,如下所示:

但是屏幕上什么也没有显示,如果我在“dev/input/event4”上发送相同的事件,它可以工作吗?为什么“dev/uinput”无效?

请有人帮助我。

0 投票
1 回答
106 浏览

touch - 两个 xscreens uinput 多点触控设备,第二个 x 屏幕上的坐标错误

首先嗨,这是我在stackoverflow中的第一个问题:)

硬件设置是 2 个 nvidia gtx980 GPU,每个 GPU 连接到 3 个显示器。拼接墙布置为一排 6 台显示器。我们正在使用专有的 nvidia 驱动程序。xserver 版本是 1.15.1 (7.7)。

我们创建了一个 uinput 多点触控 ABS (MT) 设备,该设备连接到与核心指针不同的主设备。ABS_X 和 ABS_MT_POSITION_X 的最大值和最小值根据两个 xscreen 的大小 (0, 11520 - 1) 设置。这是使用 xinput list [device id] 检查的。

由于我们使用了两个 GPU,我们无法创建一个大的 xscreen,但我们安排了 2 个 xscreen(每个 GPU 一个),每个 xscreen 上对齐了三个显示器。

问题出在第二个 xscreen (xscreen1) 上。当我们发出 x 坐标高于 5760(第一个 xscreen 的大小)的触摸事件时,xserver 会在远处的 x 坐标上报告点(可能在第二个 xscreen 的末尾或更远)。我们已经从 xscreen0 开始检查了这一点并移至第二个。y 坐标得到正确报告(因为两个 xscreen 都是 y 对齐的)。

虚拟多点触控设备的校准矩阵是单位矩阵。如果将 uinput 设备创建为 ABS 单点设备(我猜像 wacom 数位板),则 x 坐标将正确报告。

我认为问题可能出在 evdev 或 xserver 内部(因为我已经阅读了在服务器内部而不是在 evdev 中校准的新版本)。如果是这种情况,任何关于这可能发生在哪里的提示都会很棒。如果不是这种情况,任何帮助都将受到高度赞赏。