如何防止 USB 耳机按钮杀死鼠标点击处理程序?

如何防止 USB 耳机按钮杀死鼠标点击处理程序?

我在联想 W530 上运行 Xubuntu 14.04。

前几天,我们收到了全新的 Plantronics Blackwire C420 耳机。

过了一会儿,我意识到有些奇怪——然后我确定了原因:耳机有 4 个控制按钮(音量调高/调低、静音、“电话”)。当我按下其中任何一个按钮时,“鼠标点击处理程序”就会消失。这意味着:鼠标点击……不再会引起任何动作。如果我拔下耳机;或者关闭当前正在使用耳机的应用程序(例如我的 SUT 呼叫窗口),一切都会恢复正常。

我搜索了一下,发现

https://bugs.launchpad.net/ubuntu/+source/xorg-server/+bug/993655?comments=all

https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-input-evdev/+bug/1006156

最后一个链接指向 http://www.helplinux.ru/wiki/en:kb:ubuntu-plantronics

该页面提供了针对 13.10 / 14.04 的说明。

所以我跑了

lsusb | grep -i plantronics 总线 001 设备 006:ID 047f:aa14 Plantronics, Inc.

然后我就跑了

sudo evtest(我选择了耳机并按下了电话/音量调高/音量调低/静音开启/静音关闭然后得到)

Event: time 1421919129.677039, type 4 (EV_MSC), code 4 (MSC_SCAN), value b0020
Event: time 1421919129.677039, type 1 (EV_KEY), code 256 (BTN_0), value 1
Event: time 1421919129.677039, -------------- SYN_REPORT ------------
Event: time 1421919132.913033, type 4 (EV_MSC), code 4 (MSC_SCAN), value ffa000b2
Event: time 1421919132.913033, type 1 (EV_KEY), code 261 (BTN_5), value 1
Event: time 1421919132.913033, type 1 (EV_KEY), code 261 (BTN_5), value 0
Event: time 1421919132.913033, type 4 (EV_MSC), code 4 (MSC_SCAN), value ffa000f8
Event: time 1421919132.913033, type 1 (EV_KEY), code 266 (?), value 0
Event: time 1421919132.913033, type 4 (EV_MSC), code 4 (MSC_SCAN), value ffa000f9
Event: time 1421919132.913033, type 1 (EV_KEY), code 267 (?), value 0
Event: time 1421919132.913033, -------------- SYN_REPORT ------------
Event: time 1421919133.959032, type 4 (EV_MSC), code 4 (MSC_SCAN), value ffa000b1
Event: time 1421919133.959032, type 1 (EV_KEY), code 260 (BTN_4), value 1
Event: time 1421919133.959032, type 1 (EV_KEY), code 260 (BTN_4), value 0
Event: time 1421919133.959032, -------------- SYN_REPORT ------------
Event: time 1421919135.896964, type 4 (EV_MSC), code 4 (MSC_SCAN), value b002f
Event: time 1421919135.896964, type 1 (EV_KEY), code 257 (BTN_1), value 1
Event: time 1421919135.896964, -------------- SYN_REPORT ------------
Event: time 1421919139.744963, type 4 (EV_MSC), code 4 (MSC_SCAN), value b002f
Event: time 1421919139.744963, type 1 (EV_KEY), code 257 (BTN_1), value 0
Event: time 1421919139.744963, -------------- SYN_REPORT ------------

然后我按照俄语页面上的说明创建了

猫/etc/udev/rules.d/49-plantronics.rules

ACTION!="add|change", GOTO="xorg_plantronics_end"
KERNEL!="event*", GOTO="xorg_plantronics_end"

SUBSYSTEMS=="usb", ENV{ID_BUS}=="", IMPORT{builtin}="usb_id"

ENV{ID_VENDOR_ID}=="047f", ENV{ID_MODEL_ID}=="aa14", ENV{ID_INPUT_KEY}="1", ENV{ID_INPUT_KEYBOARD}="1"

加:

cat /etc/udev/hwdb.d/50-keyboard.hwdb

keyboard:usb:v047FpAA14*
KEYBOARD_KEY_ffa000b1=volumeup
KEYBOARD_KEY_ffa000b2=volumedown
KEYBOARD_KEY_b002f=micmute
KEYBOARD_KEY_b0020=phone

最后我运行了...sudo udevadm hwdb --update;sudo udevadm control --reload...并且我也重新启动了。

长话短说:它没有帮助。按下任何按钮时,鼠标点击处理程序仍然会消失。有趣的是,同事正在运行带有 Gnome3 的相同硬件……而他没有遇到这个问题 ;-(

欢迎任何想法、意见和建议(例如“使用 Gnome3 而不是 xubuntu”)。例如,我想知道是否有任何日志文件可以告诉我这些 udef 控制文件是否有任何影响,或者格式是否错误,...

答案1

这里学到的教训是:一定要阅读完整的启动板错误描述。有一条评论指出要修改 /etc/X11/xorg.conf 并添加

Section "InputClass"

    Identifier "Plantronics"

    MatchVendor "Plantronics"

    Option "Ignore" "true"

EndSection

这样做了;删除了 UDEV 文件并重新启动。

之后,耳机(包括按钮)就可以完全正常工作了;并且不再出现鼠标点击问题。

相关内容