【Ubuntu】ThinkPadキーボード、「中ボタンクリックでペースト」機能を無効にする。
UbuntuをインストールしたデスクトップマシンでThinkPad トラックポイント・キーボードを愛用しています。
センターボタンをホールドしながらトラックポイントを弄るとスクロールができるのですが、センターボタンを離すタイミングによって、これが「中ボタンクリック」と認識されてしまうことがある。
「中ボタンのクリック」が「ペースト」に割り当てられているので、プログラムのコードを書いているときなど、スクロールの途中で、意図しない場所に意図しない内容がペーストされたりして、これ、非常に困る。
この機能を無効にしたいのだけれど、Gnome Tweak で…
"中クリックによる貼付け" をオフにしても、うちでは何故か設定が反映されない。
そんなときはターミナルを立ち上げて、xinput コマンドで設定するのが良いんだそうだ。
まずはインプットデバイスのリストを確認。
出力は以下のような感じ。"Virtual core pointer" セクションに表示されている "Lenovo ThinkPad Compact USB Keyboard with TrackPoint" というのが、このキーボードのボタン/トラックポイント。
これの id (id=9) を覚えておきます。
続いて、id=9 であるポインティングデバイスのボタンマップを調べる。
うちの場合、出力は以下。
次に、xinput query-state を実行して、id=9なデバイスの、どのボタンクリックが何番に対応しているかを調べてみると…
1 が左クリック、3 が右クリックだったので、多分 2 がセンタークリック。
なので、「id=9 のデバイスについて、センタークリックに対応する番号(=2)」を無効(=0)にしてやれば良いらしい。
さて、これで思惑どおりに「外付けThinkPadキーボードのセンターボタンをクリックするとペーストが行われる」という動作を無効にできました。
この状態でも「センターボタンをホールド + トラックポイントでスクロール」という動作は生きたまま。
でも、今まで使えていた「ウェブページのリンクを中クリックすると、そのリンクをバックグラウンドタブで開く」という機能は動作しなくなってしまった。少し不便だけれども仕方がない。この操作は「Ctl + 左クリック」で代替しましょ。
この設定を永続化するには、ホームディレクトリ直下の .profile の末尾に、
…と書き込んで保存。次回の起動/ログイン時にもこの設定が適用されます。
xinput は、例えば
のように、id ではなくデバイス名を指定することもできます。
いろいろ文献にあたってみると「デバイスの id は常に同じ値が割り振られるとは限らないので、id ではなくデバイス名で指定したほうがより安全」と書いてあったりするのだけれど、うちの環境では、複数の同じデバイス名がリストに上がっているので、デバイス名で指定すると、どのデバイスなのか一意に決定できない…という問題が生じるので、id で指定するしか方法が無いのです。
コメント