Thinkpad X1 Carbon + Ubuntuで中ボタンクリック時の貼付けを無効化するための手順

公開日:2018/08/10 更新日:2018/08/10
Thinkpad X1 Carbon + Ubuntuで中ボタンクリック時の貼付けを無効化するための手順のサムネイル

はじめに

Thinkpad X1 CarbonにUbuntu18.04をインストールして快適にメインマシンとして使っていますが、トラックポイントの右ボタンと左ボタンの間にある中ボタンをクリックすると、クリップボードにある内容をペーストしてしまう挙動が地味に嫌だったのでそれを無効化する方法をメモします。なお、以降の手順では、この中ボタンをクリックすることによるペーストを無効化するのみで、スクロール用に使う分には問題なく動作します。

問題の症状と望む動作

中ボタンをクリックすると、クリップボードの内容がペーストされてしまいます。そこまで問題にならないものの、例えばエクセルやスプレッドシートを編集している時に、スクロールするためにこの中ボタンを使った時に意図せずいつのまにかペーストされてしまっていることがありました。最初はTweak Toolを使って無効化してみたものの、アプリによっては無効化されていませんでした。 これだと、何かしらのデータを知らずのうちに上書きしたり消してしまう恐れがあるため困ります。そこで、中ボタンのペーストのみを無効化します。なお、スクロールには引き続き使えるようにします。

中ボタンによるペーストを無効化する手順

UbuntuではGUIであるX Windows Systemの入力デバイスの設定ツールであるxinputを使用することで、キーボードやマウス、タッチパッドの設定を変更することができます。ここではこのxinputを使います。まずはじめに、以下のコマンドで認識されている入力デバイスの一覧を取得します。

$ xinput list
⎡ Virtual core pointer                      id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ Synaptics TM3288-011                      id=12   [slave  pointer  (2)]
⎜   ↳ TPPS/2 Elan TrackPoint                    id=13   [slave  pointer  (2)]
⎣ Virtual core keyboard                     id=3    [master keyboard (2)]
    ↳ Virtual core XTEST keyboard               id=5    [slave  keyboard (3)]
    ↳ Power Button                              id=6    [slave  keyboard (3)]
    ↳ Video Bus                                 id=7    [slave  keyboard (3)]
    ↳ Sleep Button                              id=8    [slave  keyboard (3)]
    ↳ Integrated Camera: Integrated C           id=9    [slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard              id=10   [slave  keyboard (3)]
    ↳ ThinkPad Extra Buttons                    id=11   [slave  keyboard (3)]

上記のうち、TPPS/2 Elan TrackPointが中ボタンを含むトラックポイントになりますので、このボタンマップを以下のコマンドで取得します。

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

あとは以下のように2から0に変更するために以下のコマンドを実行します。これで中ボタンによるペーストのみを無効化できます。

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

再度有効化したい場合は、0を2に設定しなおせばOKです。

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

なお、xinputの使い方については以下の参考サイトにわかりやすく説明がありましたのでここでは割愛します。

xinputについて

xinputでマウスボタンのマッピングを変更する - Akionux-wiki Synaptics タッチパッド - ArchWiki

設定を永続化する

上記のxinputコマンドは再起動後も永続化するわけではないため、再起動後にまた元の設定に戻ってしまいます。そこで、~/.profileの末尾にxinputのコマンドを追記しておきます。これでログイン時に.profileが読み込まれる度にxinputが実行されるようになります。

~/.profile
(・・・上省略・・・)
xinput set-button-map "TPPS/2 Elan TrackPoint" 1 0 3 4 5 6 7

まとめ

Ubuntuをメインに使っていると、色々な問題に遭遇するため面倒ですが、その解決の過程でこれまで知らなかったことを覚えることができるため勉強にはなります。

関連記事

開発アプリ

nanolog.app

毎日の小さな出来事をなんでも記録して、ログとして残すためのライフログアプリです。