如何在 Linux 应用程序中专门使用其他键盘

How to use additional keyboard exclusively in a Linux application

本文关键字:其他 键盘 Linux 应用程序      更新时间:2023-10-16

我的无人参与应用程序需要响应击键,但仅当特定类型的键盘连接到系统时。它将是一个数字键盘,通过USB连接。

我已经找到了如何使用libusb/libudev检测键盘的连接/断开连接。似乎从任何 HID 设备捕获击键也不难,尽管它需要 root 权限,我想避免......

困难在于我不希望 Linux 系统以正常方式"使用"该数字键盘,即不接受登录 tty 上的输入。我也不想完全禁用登录,应该仍然可以使用"常规"键盘登录。我不知道该怎么做。任何建议不胜感激。

我认为您将不得不使额外的键盘充当不同类型的HID设备,也许完全是不同类型的设备。然后,应用程序可以打开此特殊设备(不会用于普通键盘输入,因为它不显示为普通键盘)并接受来自它的输入。

我对 HID 设备了解不多,除了它们似乎涵盖了非常广泛的功能(例如字节或位宽数字 I/O),因此应该可以找到合适的设备类。

如果您没有任何方法可以更改数字键盘向USB软件描述自己的方式,那么您将一事无成,如果它说"我是键盘",那么它将被视为键盘。