我刚刚有了一个 USB 数字键盘,可以与我的 Xubuntu 15.04 一起使用
该键盘上有一个“数字锁定”按钮,按下时 LED 会亮/灭,但数字(0-9)或符号(.+-/*、ENTER、TAB)键不会在屏幕上产生任何可见内容。
我准备了一些信息来帮助调查。设备 009 位于lsusb
:
~$ lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 005: ID 064e:9700 Suyin Corp.
Bus 001 Device 004: ID 8087:0a2a Intel Corp.
Bus 001 Device 009: ID fff7:5001
Bus 001 Device 002: ID 046d:c52b Logitech, Inc. Unifying Receiver
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
的细节xinput
:
~$ xinput
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ Logitech M545 id=9 [slave pointer (2)]
⎜ ↳ ETPS/2 Elantech Touchpad id=15 [slave pointer (2)]
⎜ ↳ Keypad USB Keypad id=11 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ Power Button id=6 [slave keyboard (3)]
↳ Video Bus id=7 [slave keyboard (3)]
↳ Sleep Button id=8 [slave keyboard (3)]
↳ USB2.0 UVC HD Webcam id=12 [slave keyboard (3)]
↳ Asus WMI hotkeys id=13 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=14 [slave keyboard (3)]
↳ Keypad USB Keypad id=10 [slave keyboard (3)]
dmesg
与键盘相关的行:
~$ dmesg
...
[ 1.180145] usb 1-3: New USB device found, idVendor=fff7, idProduct=5001
[ 1.180149] usb 1-3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 1.180151] usb 1-3: Product: USB Keypad
[ 1.180153] usb 1-3: Manufacturer: Keypad
[ 1.180249] usb 1-3: ep 0x81 - rounding interval to 64 microframes, ep desc says 80 microframes
[ 1.180253] usb 1-3: ep 0x82 - rounding interval to 64 microframes, ep desc says 80 microframes
...
[ 1.781514] usbcore: registered new interface driver btusb
[ 1.782366] input: Keypad USB Keypad as /devices/pci0000:00/0000:00:14.0/usb1/1-3/1-3:1.0/0003:FFF7:5001.0004/input/input19
[ 1.782749] logitech-djreceiver 0003:046D:C52B.0003: hiddev0,hidraw0: USB HID v1.11 Device [Logitech USB Receiver] on usb-0000:00:14.0-1/input2
...
[ 1.838667] hid-generic 0003:FFF7:5001.0004: input,hidraw1: USB HID v1.10 Keyboard [Keypad USB Keypad ] on usb-0000:00:14.0-3/input0
[ 1.838697] usbcore: registered new interface driver uvcvideo
[ 1.838701] USB Video Class driver (1.1.1)
[ 1.839056] input: Keypad USB Keypad as /devices/pci0000:00/0000:00:14.0/usb1/1-3/1-3:1.1/0003:FFF7:5001.0005/input/input21
[ 1.899128] Bluetooth: hci0: Intel Bluetooth firmware patch completed and activated
[ 1.902308] input: Logitech M545 as /devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1:1.2/0003:046D:C52B.0003/0003:046D:4028.0006/input/input22
...
[ 599.209822] usb 1-3: USB disconnect, device number 3
[ 599.817602] usb 1-3: new full-speed USB device number 6 using xhci_hcd
[ 599.948011] usb 1-3: New USB device found, idVendor=fff7, idProduct=5001
[ 599.948017] usb 1-3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 599.948020] usb 1-3: Product: USB Keypad
[ 599.948023] usb 1-3: Manufacturer: Keypad
[ 599.948303] usb 1-3: ep 0x81 - rounding interval to 64 microframes, ep desc says 80 microframes
[ 599.948312] usb 1-3: ep 0x82 - rounding interval to 64 microframes, ep desc says 80 microframes
[ 599.949820] input: Keypad USB Keypad as /devices/pci0000:00/0000:00:14.0/usb1/1-3/1-3:1.0/0003:FFF7:5001.0007/input/input23
[ 600.005829] hid-generic 0003:FFF7:5001.0007: input,hidraw1: USB HID v1.10 Keyboard [Keypad USB Keypad ] on usb-0000:00:14.0-3/input0
[ 600.007814] input: Keypad USB Keypad as /devices/pci0000:00/0000:00:14.0/usb1/1-3/1-3:1.1/0003:FFF7:5001.0008/input/input24
[ 600.062075] hid-generic 0003:FFF7:5001.0008: input,hidraw2: USB HID v1.10 Mouse [Keypad USB Keypad ] on usb-0000:00:14.0-3/input1
两条评论:
- 该行
[ 599.209822] usb 1-3: USB disconnect, device number 3
似乎显示数字键盘断开连接 - 最后四行似乎先将数字键盘连接为键盘,然后再连接为鼠标
测试xev
表明,某些键会在事件上生成:
~$ xev
Outer window is 0x4000001, inner window is 0x4000002
PropertyNotify event, serial 8, synthetic NO, window 0x4000001,
atom 0x27 (WM_NAME), time 2065248, state PropertyNewValue
PropertyNotify event, serial 9, synthetic NO, window 0x4000001,
atom 0x22 (WM_COMMAND), time 2065248, state PropertyNewValue
PropertyNotify event, serial 10, synthetic NO, window 0x4000001,
atom 0x28 (WM_NORMAL_HINTS), time 2065248, state PropertyNewValue
CreateNotify event, serial 11, synthetic NO, window 0x4000001,
parent 0x4000001, window 0x4000002, (10,10), width 50, height 50
border_width 4, override NO
PropertyNotify event, serial 14, synthetic NO, window 0x4000001,
atom 0x153 (WM_PROTOCOLS), time 2065248, state PropertyNewValue
MapNotify event, serial 15, synthetic NO, window 0x4000001,
event 0x4000001, window 0x4000002, override NO
PropertyNotify event, serial 20, synthetic NO, window 0x4000001,
atom 0x161 (_NET_WM_STATE), time 2065249, state PropertyNewValue
PropertyNotify event, serial 20, synthetic NO, window 0x4000001,
atom 0x15b (_NET_WM_DESKTOP), time 2065249, state PropertyNewValue
ConfigureNotify event, serial 20, synthetic NO, window 0x4000001,
event 0x4000001, window 0x4000001, (0,0), width 178, height 178,
border_width 0, above 0x3c0bed5, override NO
ReparentNotify event, serial 20, synthetic NO, window 0x4000001,
event 0x4000001, window 0x4000001, parent 0xc428c1,
(1,26), override NO
ConfigureNotify event, serial 20, synthetic NO, window 0x4000001,
event 0x4000001, window 0x4000001, (1,26), width 178, height 178,
border_width 0, above 0xc428d0, override NO
ConfigureNotify event, serial 20, synthetic YES, window 0x4000001,
event 0x4000001, window 0x4000001, (871,463), width 178, height 178,
border_width 0, above 0x0, override NO
MapNotify event, serial 20, synthetic NO, window 0x4000001,
event 0x4000001, window 0x4000001, override NO
VisibilityNotify event, serial 20, synthetic NO, window 0x4000001,
state VisibilityUnobscured
Expose event, serial 20, synthetic NO, window 0x4000001,
(0,0), width 178, height 10, count 3
Expose event, serial 20, synthetic NO, window 0x4000001,
(0,10), width 10, height 58, count 2
Expose event, serial 20, synthetic NO, window 0x4000001,
(68,10), width 110, height 58, count 1
Expose event, serial 20, synthetic NO, window 0x4000001,
(0,68), width 178, height 110, count 0
EnterNotify event, serial 20, synthetic NO, window 0x4000001,
root 0xcb, subw 0x0, time 2065251, (40,110), root:(911,573),
mode NotifyNormal, detail NotifyAncestor, same_screen YES,
focus NO, state 0
KeymapNotify event, serial 20, synthetic NO, window 0x0,
keys: 4294967226 0 0 0 16 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
PropertyNotify event, serial 20, synthetic NO, window 0x4000001,
atom 0x189 (WM_STATE), time 2065251, state PropertyNewValue
PropertyNotify event, serial 20, synthetic NO, window 0x4000001,
atom 0x1b9 (_NET_WM_ALLOWED_ACTIONS), time 2065251, state PropertyNewValue
PropertyNotify event, serial 20, synthetic NO, window 0x4000001,
atom 0x161 (_NET_WM_STATE), time 2065251, state PropertyNewValue
FocusIn event, serial 20, synthetic NO, window 0x4000001,
mode NotifyNormal, detail NotifyNonlinear
KeymapNotify event, serial 20, synthetic NO, window 0x0,
keys: 4294967227 0 0 0 16 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
PropertyNotify event, serial 20, synthetic NO, window 0x4000001,
atom 0x158 (_NET_FRAME_EXTENTS), time 2065251, state PropertyNewValue
PropertyNotify event, serial 20, synthetic NO, window 0x4000001,
atom 0x161 (_NET_WM_STATE), time 2065251, state PropertyNewValue
PropertyNotify event, serial 24, synthetic NO, window 0x4000001,
atom 0x161 (_NET_WM_STATE), time 2065252, state PropertyNewValue
PropertyNotify event, serial 33, synthetic NO, window 0x4000001,
atom 0x1bc (_NET_WM_ICON_GEOMETRY), time 2065268, state PropertyNewValue
KeyRelease event, serial 34, synthetic NO, window 0x4000001,
root 0xcb, subw 0x0, time 2065304, (40,110), root:(911,573),
state 0x0, keycode 36 (keysym 0xff0d, Return), same_screen YES,
" XLookupString gives 1 bytes: (0d) "
XFilterEvent returns: False
MappingNotify event, serial 37, synthetic NO, window 0x0,
request MappingKeyboard, first_keycode 8, count 248
MappingNotify event, serial 37, synthetic NO, window 0x0,
request MappingKeyboard, first_keycode 8, count 248
MappingNotify event, serial 37, synthetic NO, window 0x0,
request MappingKeyboard, first_keycode 8, count 248
MappingNotify event, serial 37, synthetic NO, window 0x0,
request MappingKeyboard, first_keycode 8, count 248
MappingNotify event, serial 37, synthetic NO, window 0x0,
request MappingKeyboard, first_keycode 8, count 248
MappingNotify event, serial 37, synthetic NO, window 0x0,
request MappingKeyboard, first_keycode 8, count 248
MappingNotify event, serial 37, synthetic NO, window 0x0,
request MappingKeyboard, first_keycode 8, count 248
MappingNotify event, serial 37, synthetic NO, window 0x0,
request MappingKeyboard, first_keycode 8, count 248
MappingNotify event, serial 37, synthetic NO, window 0x0,
request MappingKeyboard, first_keycode 8, count 248
MappingNotify event, serial 37, synthetic NO, window 0x0,
request MappingKeyboard, first_keycode 8, count 248
MappingNotify event, serial 37, synthetic NO, window 0x0,
request MappingKeyboard, first_keycode 8, count 248
MappingNotify event, serial 37, synthetic NO, window 0x0,
request MappingKeyboard, first_keycode 8, count 248
MappingNotify event, serial 49, synthetic NO, window 0x0,
request MappingKeyboard, first_keycode 8, count 248
MappingNotify event, serial 49, synthetic NO, window 0x0,
request MappingKeyboard, first_keycode 8, count 248
MappingNotify event, serial 49, synthetic NO, window 0x0,
request MappingKeyboard, first_keycode 8, count 248
MappingNotify event, serial 49, synthetic NO, window 0x0,
request MappingKeyboard, first_keycode 8, count 248
MappingNotify event, serial 49, synthetic NO, window 0x0,
request MappingKeyboard, first_keycode 8, count 248
MappingNotify event, serial 49, synthetic NO, window 0x0,
request MappingKeyboard, first_keycode 8, count 248
MappingNotify event, serial 49, synthetic NO, window 0x0,
request MappingKeyboard, first_keycode 8, count 248
MappingNotify event, serial 49, synthetic NO, window 0x0,
request MappingKeyboard, first_keycode 8, count 248
MappingNotify event, serial 49, synthetic NO, window 0x0,
request MappingKeyboard, first_keycode 8, count 248
MappingNotify event, serial 49, synthetic NO, window 0x0,
request MappingKeyboard, first_keycode 8, count 248
MappingNotify event, serial 49, synthetic NO, window 0x0,
request MappingKeyboard, first_keycode 8, count 248
MappingNotify event, serial 49, synthetic NO, window 0x0,
request MappingKeyboard, first_keycode 8, count 248
MappingNotify event, serial 61, synthetic NO, window 0x0,
request MappingKeyboard, first_keycode 8, count 248
MappingNotify event, serial 61, synthetic NO, window 0x0,
request MappingKeyboard, first_keycode 8, count 248
MappingNotify event, serial 61, synthetic NO, window 0x0,
request MappingKeyboard, first_keycode 8, count 248
MappingNotify event, serial 61, synthetic NO, window 0x0,
request MappingKeyboard, first_keycode 8, count 248
MappingNotify event, serial 61, synthetic NO, window 0x0,
request MappingKeyboard, first_keycode 8, count 248
MappingNotify event, serial 61, synthetic NO, window 0x0,
request MappingKeyboard, first_keycode 8, count 248
MappingNotify event, serial 61, synthetic NO, window 0x0,
request MappingKeyboard, first_keycode 8, count 248
MappingNotify event, serial 61, synthetic NO, window 0x0,
request MappingKeyboard, first_keycode 8, count 248
MappingNotify event, serial 61, synthetic NO, window 0x0,
request MappingKeyboard, first_keycode 8, count 248
MappingNotify event, serial 61, synthetic NO, window 0x0,
request MappingKeyboard, first_keycode 8, count 248
MappingNotify event, serial 61, synthetic NO, window 0x0,
request MappingKeyboard, first_keycode 8, count 248
MappingNotify event, serial 61, synthetic NO, window 0x0,
request MappingKeyboard, first_keycode 8, count 248
KeyPress event, serial 73, synthetic NO, window 0x4000001,
root 0xcb, subw 0x0, time 2079547, (40,110), root:(911,573),
state 0x0, keycode 64 (keysym 0xffe9, Alt_L), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
FocusOut event, serial 73, synthetic NO, window 0x4000001,
mode NotifyGrab, detail NotifyAncestor
ClientMessage event, serial 73, synthetic YES, window 0x4000001,
message_type 0x153 (WM_PROTOCOLS), format 32, message 0x151 (WM_DELETE_WINDOW)
生成日志事件的键:0, 1, 2, 3, 4, 5, 6, 7, 8, 9, -, .
不会生成日志事件的键:00, ENTER, +, TAB, /, *, BS
其他事实:
- 在下
[Ctrl][Alt][F1]
,使用测试时什么也没有出现showkey --scancodes
- 数字键盘出现在设备列表中设置 > 鼠标和指点设备 > 设备。我已在那里将其停用。
- 我也停用了它设置 > 辅助功能 > 鼠标
- 数字键盘在启动时不起作用
所有的帮助都将不胜感激