Rya*_*ker 6 ubuntu bash keyboard
请原谅我对 linux 操作系统/硬件问题的无知......我只是一个程序员 :)
我有一个应用程序调用一些 bash 脚本来启动外部应用程序,在这种情况下是 Firefox。该应用程序在具有触摸屏功能的信息亭上运行。在启动 Firefox 时,我还启动了一个允许用户进行键盘输入的虚拟键盘应用程序。
然而,信息亭还具有 PS/2 和 USB 插槽,允许用户插入键盘。如果插入了键盘,如果我不必启动虚拟键盘并为 Firefox 窗口提供更多屏幕空间,那就太好了。
有没有办法让我检测键盘是否从 bash 脚本插入?它会出现在 /dev 中,如果是,它会出现在一致的位置吗?如果用户使用 PS/2 或 USB 键盘会有所不同吗?
谢谢!
对于 USB 设备,您可以使用lsusb和搜索具有键盘协议(接口协议 1)的人机接口设备(接口类 3),例如
$ lsusb -v
... loads of stuff deleted ...
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 3 Human Interface Device
bInterfaceSubClass 1 Boot Interface Subclass
bInterfaceProtocol 1 Keyboard
iInterface 0
... loads of stuff deleted ...
Run Code Online (Sandbox Code Playgroud)
另外,你可以让udev帮助你。列出下面的设备/dev/input/by-path/并以键盘设备结尾-kdb(至少在 Ubuntu 中,udev 规则指定它),例如
$ ls -l /dev/input/by-path/*-kbd
lrwxrwxrwx 1 root root 9 2010-03-25 09:14 /dev/input/by-path/pci-0000:00:1a.2-usb-0:1:1.0-event-kbd -> ../event4
$ ls -l /dev/input/by-path/*-kbd
lrwxrwxrwx 1 root root 9 2009-08-29 09:46 /dev/input/by-path/platform-i8042-serio-0-event-kbd -> ../event1
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12008 次 |
| 最近记录: |