TrackPoint Keyboard (トラックポイント キーボード)の中ボタンを無効化する

分割キーボードなどの自作キーボード界隈にちょっと足を踏み入れたのですが、結局TrackPoint Keyboardを買ってしまいました。

とはいえ、無線ではなくUSBです! どうせ、デスクトップで使うし、無線はバッテリー 切れとか面倒くさいので……

Kubuntu24.04で利用し始めたのですが!
スクロールする時に例の中ボタンでのペースト機能がタイミングによっては働いてしまうことがあるのです。

で、ノートパソコンと同様にxinputで、無効にしようとデバイスリストを表示させたら!
なんと! 

"Lenovo ThinkPad Compact USB Keyboard with TrackPoint"

という同一デバイス名が4つもあるではないですか!

同一デバイス名が4つ
$ xinput list ⎡ Virtual core pointer id=2 [master pointer (3)] ⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)] ⎜ ↳ oyainput id=14 [slave pointer (2)] ⎜ ↳ Lenovo ThinkPad Compact USB Keyboard with TrackPoint id=12 [slave pointer (2)] ⎜ ↳ ELECOM ELECOM BlueLED Mouse id=7 [slave pointer (2)] ⎜ ↳ Lenovo ThinkPad Compact USB Keyboard with TrackPoint id=10 [slave pointer (2)] ⎣ Virtual core keyboard id=3 [master keyboard (2)] ↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)] ↳ Video Bus id=6 [slave keyboard (3)] ↳ gpio-keys id=8 [slave keyboard (3)] ↳ oyainput id=15 [slave keyboard (3)] ↳ AT Raw Set 2 keyboard id=9 [slave keyboard (3)] ↳ Lenovo ThinkPad Compact USB Keyboard with TrackPoint id=13 [slave keyboard (3)] ↳ Lenovo ThinkPad Compact USB Keyboard with TrackPoint id=11 [slave keyboard (3)]

仕方がないので、idで指定して中ボタンを無効化することに!
xinput test で調べてみると、どうやら id=10 がボタンのようでした。
xinput get-button-map で内容を確認し、xinput set-button-map で無効化します。

状態を確認
$ xinput get-button-map 10 1 2 3 4 5 6 7 8 9
ID指定で無効化
$ xinput set-button-map 10 1 0 3 4 5 6 7 8 9

実は、これを永続化しようとして問題が発生しました!!!
idを指定して /etc/profileに保存したのですが!
起動のたびにidが変わることが判明したのですよ!!
つまり、次回起動時は id=10 ではなくなっているのです。これは大問題です。
起動のたびに手動で xinputするのは面倒ですから……

AIにも聞いてみたのですが、イマイチ、的を得ない回答しか返ってきませんでした!
で、かなり、手抜きですが`TrackPoint`で`pointer`と表記のあるデバイスの中ボタンをすべて無効化するスクリプトにしてみたよ!

/etc/profile
…… # TrackPointの中ボタンの無効化 xinput list | grep "TrackPoint.*pointer" | sed -e "s/.*id=\([0-9]*\).*/\1/" | while read -r id; do xinput set-button-map $id $(xinput get-button-map $id | sed -e "s/2/0/") done

これで、上手いきました! めでたしめでたし!

ちなみに、このキーボードは接続部のマイクロUSB端子がもげることで有名なようです(笑)


なので、磁石式のケーブルを使っています! amazonにも売っているようですよ。
これなら、もげることもないでしょう! 







ふんどしの持ち主

  • おれおれ

コメント

このブログの人気の投稿

Kubuntu22.04 VirtualBox - 重大なエラー 〜 嘘でした"Document is enpty."なだけ

Pythonのソースファイルの行番号を取得したい

学習リモコン「リモコソ (RIMOKOSO1)」の設定