使用Python与Libinpu接口创建宏

2024-06-08 13:13:08 发布

您现在位置:Python中文网/ 问答频道 /正文

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

this post之后,我发现了如何使用evdev成功地实现这一点in console

不过,我也希望能够通过libinput(用于wayland、mir和X11)来实现这一点;还有人知道如何做到这一点吗?在


Tags: in服务器脚本键盘thispostconsolemir
1条回答
网友
1楼 · 发布于 2024-06-08 13:13:08

这个问题在当前的形式中不太合理,您会混淆堆栈的两个不同层。在

libinput是一个处理来自内核evdev设备的事件的库。它可以像两个手指滚动、触摸板手势、鼠标滚轮模拟等等。对于键盘,它几乎只是转发内核提供的任何东西(键盘布局由合成器和客户端处理)。在

uninput是一个内核接口,用于创建虚拟设备,然后显示为内核evdev设备节点。libinput不关心设备是物理设备还是虚拟uinput设备(事实上,libinput的测试套件大量使用uinput设备)。在

因此,uinput创建的设备位于libinput之下,使用uinput创建的任何键盘设备都将在使用libinput的合成器中显示为键盘。因此,任何按键事件都将像普通键盘一样被转发。在

现在,您可以尝试直接向libinput添加宏支持,但这要困难得多,而且几乎没有机会进入上游。对于本地用例,基于uinput的解决方案就足够了。在

相关问题 更多 >