web-dev-qa-db-ja.com

USBヘッドセットボタンがマウスクリックハンドラーを強制終了しないようにする方法

Lenovo 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 Bus 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 ------------

次に、ロシアのページの指示に従って作成しました

cat /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と同じハードウェアを実行しています...そして彼はこの問題を抱えていません;-(

どんな考え、アイデア、提案も歓迎します(「xubuntuの代わりにGnome3を使用する」ことを期待してください)。たとえば、これらのudef制御ファイルに何らかの効果があるか、または不正な形式であるかどうかを通知するログファイルがあるかどうか疑問に思います...

2
GhostCat

ここで学んだ教訓は、常に完全なランチパッドのバグの説明を読むことです。 /etc/X11/xorg.confを変更して追加することを指摘するコメントが1つありました

Section "InputClass"

    Identifier "Plantronics"

    MatchVendor "Plantronics"

    Option "Ignore" "true"

EndSection

やったUDEVファイルを削除して再起動しました。

その後、ヘッドセット(ボタンを含む)は完全に機能します。マウスのクリックは問題になりません。

4
GhostCat