如何防止当前应用程序解释键盘?

jm666

我有3个USB键盘连接到Linux。通常,在任何一个上书写时,这些字符都会“转到”当前活动的应用程序,例如到终端或任何其他应用程序。

但是,我通过/dev/input/eventX使用一些perl模块读取特定的设备来直接从两个键盘读取键盘事件在脚本正确读取和解码所有事件的同时,输入的密钥也将进入活动应用程序。

问题是:可以停止将键盘事件从特定键盘路由到活动应用程序吗?例如,有些告诉内核,来自特定键盘的输入不应视为普通键盘输入。

编辑

因为X11从每个具有/dev/input/event*-kooks之类的设备节点的设备读取数据,所以这里有2种可能的解决方案:

  1. 有点改变USB“键盘”的名称到另一个名称代替eventN,例如/dev/input/myinput0不幸的是,udev规则不允许重命名设备。(该NAME指令rules.d仅适用于网络设备,其他设备只能创建符号链接)
  2. 略微更改了中的X11配置,/usr/share/X11/xorg.conf.d/10-evdev.conf以忽略某些特定的“类似键盘的”设备-例如,不要读取每个eventN设备。当前在我的系统中它包含:
Section "InputClass"
        Identifier "evdev keyboard catchall"
        MatchIsKeyboard "on"
        MatchDevicePath "/dev/input/event*"
        Driver "evdev"
EndSection

ANY IDEA如何执行以上任何操作?


真正的背景:我已经连接了两个USB-RFID读取器。它们充当键盘,例如,当我用RFID标签触摸读取器时,它会发送与在键盘上键入的完全相同的RFID编号-例如,读取器充当普通键盘。我的应用程序可以(在后台)读取RFID事件,并且(当然)我不希望将RFID中的字符输入到活动窗口中。

直接

如果您仍在阅读/dev/input/eventX,只需对其进行一个EVIOCGRABioctl。您可以在Perl中轻松发布ioctl 当程序退出时,别忘了释放抓斗。

抓取将阻止所有其他设备(包括X)从该设备读取事件。

这比干净xinput,因为您还排除了可能要直接从设备读取的其他应用程序,并且还可以控制排除的持续时间(只要您的应用程序运行)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

自定义键盘Android获取当前的应用程序

来自分类Dev

如何防止关闭Java应用程序?

来自分类Dev

解释键盘快捷键的是操作系统还是单个应用程序?

来自分类Dev

表情符号应用程序如何更改键盘

来自分类Dev

如何根据键盘的语言更改应用程序的语言?

来自分类Dev

如何使用键盘快捷键启动应用程序?

来自分类Dev

如何为单个应用程序设置默认键盘布局?

来自分类Dev

GUI 应用程序如何接收键盘输入?

来自分类Dev

如何防止(禁用)WPF应用程序的视频捕获

来自分类Dev

如何防止应用程序DLL被反编译?

来自分类Dev

如何防止关闭窗口时关闭应用程序?

来自分类Dev

Facebook Android应用程序如何防止自身被杀死

来自分类Dev

如何防止Codeigniter应用程序的加载时间缓慢

来自分类Dev

如何防止我的VB应用程序崩溃

来自分类Dev

如何防止特定设备型号下载我的应用程序

来自分类Dev

如何防止应用程序添加计划任务?

来自分类Dev

如何防止访问旨在嵌入的Web应用程序?

来自分类Dev

如何防止应用程序DLL被反编译?

来自分类Dev

如何防止我的应用程序的多个实例

来自分类Dev

如何防止PDFBox应用程序菜单(在OS X上)

来自分类Dev

如何防止使用sudo启动图形应用程序

来自分类Dev

UWP。如何防止应用程序因错误而关闭?

来自分类Dev

如何防止用户通过 webvr 应用程序中的对象?

来自分类Dev

如何防止关闭 JDialog 关闭整个应用程序

来自分类Dev

Gnome Shell - 如何防止应用程序在焦点应用程序后面启动?

来自分类Dev

如何在模板中获取当前应用程序的名称?

来自分类Dev

如何获得当前的应用程序语言环境?

来自分类Dev

如何检索当前收到关键事件的OSX应用程序

来自分类Dev

如何从模板获取当前的Ember应用程序路由

Related 相关文章

  1. 1

    自定义键盘Android获取当前的应用程序

  2. 2

    如何防止关闭Java应用程序?

  3. 3

    解释键盘快捷键的是操作系统还是单个应用程序?

  4. 4

    表情符号应用程序如何更改键盘

  5. 5

    如何根据键盘的语言更改应用程序的语言?

  6. 6

    如何使用键盘快捷键启动应用程序?

  7. 7

    如何为单个应用程序设置默认键盘布局?

  8. 8

    GUI 应用程序如何接收键盘输入?

  9. 9

    如何防止(禁用)WPF应用程序的视频捕获

  10. 10

    如何防止应用程序DLL被反编译?

  11. 11

    如何防止关闭窗口时关闭应用程序?

  12. 12

    Facebook Android应用程序如何防止自身被杀死

  13. 13

    如何防止Codeigniter应用程序的加载时间缓慢

  14. 14

    如何防止我的VB应用程序崩溃

  15. 15

    如何防止特定设备型号下载我的应用程序

  16. 16

    如何防止应用程序添加计划任务?

  17. 17

    如何防止访问旨在嵌入的Web应用程序?

  18. 18

    如何防止应用程序DLL被反编译?

  19. 19

    如何防止我的应用程序的多个实例

  20. 20

    如何防止PDFBox应用程序菜单(在OS X上)

  21. 21

    如何防止使用sudo启动图形应用程序

  22. 22

    UWP。如何防止应用程序因错误而关闭?

  23. 23

    如何防止用户通过 webvr 应用程序中的对象?

  24. 24

    如何防止关闭 JDialog 关闭整个应用程序

  25. 25

    Gnome Shell - 如何防止应用程序在焦点应用程序后面启动?

  26. 26

    如何在模板中获取当前应用程序的名称?

  27. 27

    如何获得当前的应用程序语言环境?

  28. 28

    如何检索当前收到关键事件的OSX应用程序

  29. 29

    如何从模板获取当前的Ember应用程序路由

热门标签

归档