也許您可以使用/ proc,即/proc/bus/input/devices獲取可用鍵盤設備列表的信息。這是從我的筆記本中取得名稱中的「鍵盤」的設備列表(我的USB鍵盤已連接,因此您的第二個問題的答案是「是」):
I: Bus=0011 Vendor=0001 Product=0001 Version=ab54
N: Name="AT Translated Set 2 keyboard"
P: Phys=isa0060/serio0/input0
S: Sysfs=/devices/platform/i8042/serio0/input/input0
U: Uniq=
H: Handlers=sysrq kbd event0
B: EV=120013
B: KEY=4 2000000 3803078 f800d001 feffffdf ffefffff ffffffff fffffffe
B: MSC=10
B: LED=7
I: Bus=0003 Vendor=04d9 Product=1603 Version=0110
N: Name=" USB Keyboard"
P: Phys=usb-0000:00:1d.0-2/input0
S: Sysfs=/devices/pci0000:00/0000:00:1d.0/usb5/5-2/5-2:1.0/input/input5
U: Uniq=
H: Handlers=sysrq kbd event5
B: EV=120013
B: KEY=10000 7 ff800000 7ff febeffdf f3cfffff ffffffff fffffffe
B: MSC=10
B: LED=7
I: Bus=0003 Vendor=04d9 Product=1603 Version=0110
N: Name=" USB Keyboard"
P: Phys=usb-0000:00:1d.0-2/input1
S: Sysfs=/devices/pci0000:00/0000:00:1d.0/usb5/5-2/5-2:1.1/input/input6
U: Uniq=
H: Handlers=kbd event6
B: EV=13
B: KEY=2000000 39fa d941d001 1e0000 0 0 0
B: MSC=10
I: Bus=0003 Vendor=0000 Product=0000 Version=0004
N: Name="ACPI Virtual Keyboard Device"
P: Phys=
S: Sysfs=/devices/virtual/input/input14
U: Uniq=
H: Handlers=sysrq kbd event14 rfkill
B: EV=3
B: KEY=ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe
這是非常有趣的。我可以解析文件名。不幸的是,文件名在`/ device`中,我以前從來沒有聽說過,但我可以通過閱讀一些關於proc的知識來了解它。 – Youarefunny 2010-11-25 23:22:24