LoginSignup
0
0

More than 1 year has passed since last update.

Enterキーを押すとミュートキー動作もする(Keycodeの取得・変更方法)

Last updated at Posted at 2022-08-16

何の記事か

あるときからWeb会議をしていても急に音が聞こえなくなったり、聞こえるようになったり...
よく観察すると、ワイヤレスキーボードのEnterキーを押すと同時にMuteボタンを押した動作になってしまうようになってしまっている。ググるとロジクールで同様の問題だと思われる事例はいくつかあるのですが、トラブルシュートに至っている事例が無かったので、調査・暫定対応方法について書きたいと思います。

環境

Keybord : Logicool K275(かなーり古いもの。バッテリー入れ替え済み)
OS : Kubuntu22.0.4.1

まとめ

原因
そのままですが、「Enter」キーを押すと、同時に「Mute」キーのキーコードEventも上がっていました。(現象そのままなのですが明確に問題がわかった。)
対処
「Mute」のキーコードを書き換えて、何も設定されていないように修正。
Kubuntu側ではxmodmapで対応。他に使っているWin側はAHK(AutoHotKey)で対応。

実際の調査・対応方法

発行されるKeyイベントの調査

KubuntuなどXベースでGUIが立ち上がっている状態で、Xのeventを調べることができるxevを立ち上げる。

$ xev

この状態で、実際にEnterを押すと、ターミナルに以下のようにKeyイベントが出力される。(実際はKeyPress eventとKeyRelease event。以下はKeyRelease eventだけを抜きだしています。)

KeyRelease event, serial 40, synthetic NO, window 0x5a00001,
    root 0x7b6, subw 0x0, time 85080177, (524,569), root:(1850,644),
    state 0x0, keycode 36 (keysym 0xff0d, Return), same_screen YES,
"   XLookupString gives 1 bytes: (0d) "
    XFilterEvent returns: False

KeyRelease event, serial 40, synthetic NO, window 0x5a00001,
    root 0x7b6, subw 0x0, time 85080197, (524,569), root:(1850,644),
    state 0x0, keycode 121 (keysym 0x1008ff12, XF86AudioMute), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

上記結果のkeycode部分。
うーん。確かに2種類のkeycode(36と121)でイベントが発生している。特に121の方はkeycode 121 (keysym 0x1008ff12, XF86AudioMute)となっている!

keycode割当の確認

以下のコマンドでX上で割り当てられているkeycodeが確認できるので、一応こちらでも確認しておく。

$ xmodmap -pke

実際にkeycode 36と121は

:
keycode  36 = Return NoSymbol Return
:
keycode 121 = XF86AudioMute NoSymbol XF86AudioMute
:

確かに「Return」と「Mute」に割り当たっている!
そりゃ、これは確かにEnterキーを押すとミュートになるわ!(でも、Web会議中にそうなるってことは、なんか横で別のことやっているっていうこと?!)

暫定対処

今回はたまたま同時に発行されるキーコードを無効にしても大きな問題にならないものだったので、単純にkeycode 121をMuteと認識しないようにした。
(これが普通のキーコードならこの対処はできないですね。)

$ xmodmap -e "keycode 121 ="

もちろん、これだけだと再起動後など戻るので~/.Xmodmapや.bash??などのファイルに書いてやる必要がある。

恒久対応

どうやらキーボード本体の問題のようなので、もちろん新しいキーボードを買いたい。Keychronを狙っている!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0