2022年12月13日火曜日

Kubuntu22.04 中クリックを無効にしたくないけどする

最近Kubuntuに環境を移行してから、ほとんどの作業をこれで行っているのです。

なんと行っても、Visual Studio CodeがKubuntu上でも動くのが大きいですな。でも、Illustratorは動かないので、完全にKubuntuに移れない、それだけが残念ではある。

そうそう、元々はVSCodeではなく、Brakets使ってたんだけど、開発終了しちゃったのでVSCodeに移ったのですよ。


で、Thinkpadで作業をしていると、どうしてもスクロールに中クリックを使うのだけれども、こいつが、ペーストの機能も持っているので、相性が悪いのです。

この中クリックのペーストは地味に便利なので無効化したくないんだけどね。プロセスをkillするときにPIDをペーストするときとか大活躍ですよ(笑)

しか〜し、VSCodeとかでコーディング中にスクロールするつもりで中クリックを軽く押してしまって、ペーストされちゃうと、ちょ〜がっかりです。まあ、トラックポイント使わずキーボードだけで書けよって話ですが、トラックポイントはちょ〜便利なので、ついつい手が伸びちゃうんだよね〜。

なので、中クリックを泣く泣く無効化しようという話です。

なんと、virtualimentさんが教えてくれてますよ。ありがたや〜。

厳密には同じじゃないけど、virualimentさんの記事に従えば簡単ですな。

$ xinput list
⎡ Virtual core pointer                           id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ Elan Touchpad                             id=11   [slave  pointer  (2)]
⎜   ↳ Elan TrackPoint                           id=12   [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 IR Camera: Integrate           id=9    [slave  keyboard (3)]
    ↳ Integrated Camera: Integrated C           id=10   [slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard              id=13   [slave  keyboard (3)]
    ↳ ThinkPad Extra Buttons                    id=14   [slave  keyboard (3)]

こんな感じでした。ウチの環境では"Elan TrackPoint"となってますな。

2番めを無効化すれば良いらしいので、

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

素晴らしい!完璧です。中クリックペーストは諦めて、スクロール重視になりました。めでたしめでたし★


最後に、永続化のためにprofileに書いておきましょう!
私の場合はユーザを切り替えて使っているので、グローバルに適用できるように/etc/profileに書いて置くことにします。

/etc/profile
... <省略> ... if [ -d /etc/profile.d ]; then for i in /etc/profile.d/*.sh; do if [ -r $i ]; then . $i fi done unset i fi xinput set-button-map "Elan TrackPoint" 1 0 3 4 5 6 7

ふんどしの持ち主

0 件のコメント:

コメントを投稿