Thinkpad Ubuntu の中央ボタンによるペーストを無効にする。

 / #ubuntu

環境

  • Thinkpad X280
    • Ubuntu 20.10
    • US keyboard
    • input langs: ja(Mozc), en

main

経緯

Thinkpad のトラックパッドのセンターボタンを使ってスクロールしていると、意図せずリンクが開いたり、以前にクリップボードにコピーしたものが意図せずペーストされ、非常に困ったので治すことにした。

reference

how to

input button map 情報を取得する

xinput list

image

今回は Thinkpad のトラックポイントのセンターボタンを変更したいので、上写真中だと、id=16 になる。

ここで、id=16 に設定されているボタンマッピングを取得するには

# xinput get-button-map [device id]
xinput get-button-map 16
# => 1 2 3 4 5 6 7

出力された「1 2 3 4 5 6 7」は、指定された入力デバイスにおける物理的な順序を表していて、論理ボタンにマッピングされている。また、これら数字を 0 にすると、『無効化』ということになる。

また、これらボタンの機能の内容を確認するには

# xinput list [device id]
xinput list 16

image

上画像中の『Button labels』によると、xinput get-button-mapで得られた数字は、『左ボタン、中央ボタン、右ボタン、ホイールアップ、ホイールダウン、左移動、右移動』。

input button map 情報を更新する

「1 2 3 4 5 6 7」のうち、中央ボタンに当たる『2』を『0』にすれば良い。

後の永続化のために、/.profileに書き込んで再起動して気が付きましたが、set-button-mapにはidではなく、device-nameを使う方が良いみたいです…idは可変の模様。。

# xinput set-button-map [device-name] map-button-order
xinput set-button-map "TPPS/2 Elan TrackPoint" 1 0 3 4 5 6 7
# 確認
xinput get-button-map 16
# => 1 0 3 4 5 6 7

設定を永続化する

今設定したものはパソコン再起動すると元に戻ってしまうので、永続化する必要がある。なので/home/[username]/.profileの末尾にさっきの xinput コマンドを記入し、ログイン時に.profileが読み込まれる際に xinput が実行されるようにする。

# /home/[username]/.profile
# xinput set-button-map [device-name] [button map numbers]
xinput set-button-map "TPPS/2 Elan TrackPoint" 1 0 3 4 5 6 7

もし左ボタンと右ボタンを入れ替えるなら

「1 2 3 4 5 6 7」を「3 2 1 4 5 6 7」に変更すれば良いので

xinput set-button-map "TPPS/2 Elan TrackPoint" 3 2 1 4 5 6 7

でできる。