【发布时间】:2021-04-09 00:08:30
【问题描述】:
我使用一些“用户友好”的程序,有时需要我输入长序列的快捷方式和其他字符。我找到了一些像 cnee 这样的工具,但没有任何东西可以帮助我不费时间和精力地自动化这些序列。我只是将源代码添加到其中一个程序 (Qt) 中,但另一个程序有很多依赖项,因此构建它需要时间。
由于对 Linux 开发也很感兴趣,我想出了编写修改版的键盘驱动程序的想法,该驱动程序允许使用单个专用键来定义和调用宏。除了自动化我的击键可能会或可能不会成为一个大的商业模式之外,这对于 Linux 驱动程序编程来说也是一个很好的自学项目。
在 Linux 下实现简单的键盘驱动程序有多难,这样 Gnome 等 GUI 环境才能理解它?可以重建内核或在root权限下使用一些命令在需要时加载此驱动程序。
或者,它可以是驱动器上方某处的钩子,但通常越低越好。
【问题讨论】:
-
这应该可以通过生成虚假的 KeyPress 和 KeyRelease 事件并将它们发送到当前活动窗口 (GetInputFocus()) 来实现。
-
Qt 框架从来都不是 Linux 键盘驱动程序。通过更改源代码中的快捷方式并重新构建它们,我已经适应了一些 Qt 应用程序的需求,但并非所有应用程序都足够容易从源代码构建。