如何检测任何应用程序中的所有按键事件并将特定序列映射到命令?

时间:2019-10-10 16:11:04

标签: ubuntu-18.04 xorg

我想写一段代码来检测所有应用程序中的所有按键事件。然后,代码会将某些特定序列映射到我定义的命令。

例如,如果我按 c,h,r,o,m,e ,则代码会检测到此顺序并打开镶边。

我不知道的微妙之处是如何检测所有应用程序中的所有按键事件。

我的发现和调查
 1.我在/ dev / input中阅读了有关设备文件的信息。看起来每个输入设备都有一个文件,因此,我也许可以读取对应于键盘的文件。虽然,我不确定这些设备文件的语义是什么。
2.我知道有一种方法可以通过导航到settings-> keyboard在ubuntu 18.04中定义自定义键盘快捷键。但是,这些快捷方式要求按住快捷方式中的所有键才能触发命令。但这对于我要实现的方案不可行。我期望序列的长度适中,足够长,以至于很难一次按住所有键。

1 个答案:

答案 0 :(得分:0)

我在linuxjournal.com上的两部分帖子中找到了相关的详细信息。这篇文章以一种初学者友好的方式详细介绍了Linux内核的输入子系统。

此外,这里是evtest源代码的链接。此链接的功劳归于Ruslan