外部 USB 数字键盘不工作

外部 USB 数字键盘不工作

我刚刚有了一个 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
  • 数字键盘出现在设备列表中设置 > 鼠标和指点设备 > 设备。我已在那里将其停用。
  • 我也停用了它设置 > 辅助功能 > 鼠标
  • 数字键盘在启动时不起作用

所有的帮助都将不胜感激

相关内容