トラックボールの最もクールなポイントの1つは、カスタムボタンを押すとボールが2Dスクロールに使用できることです。 Elecom Hugeトラックボールがあり、それを設定したいですxinput
(Xorgを再ロードする必要がないように)。Forward
ボタンを押したときにボールを回転させるために、ボタンを再マップしたいと思います。また、スクロールが発生しない場合は、ボタンが中央のボタンとして機能するようにしたいと思います。
答え1
Elecomデバイスは、使用時xinput list
に名前で簡単に識別できます。この例では、名前stringはですELECOM TrackBall Mouse HUGE TrackBall
。 Elecomデバイスはポインタとキーボードの両方を報告するため、pointer:
追加のプレフィックスが必要です。
次に、そのボタンのボタンIDを識別する必要があります。これにより、ボタン(ボタンがあるか隣接するボタン)にIDがあるxev
ことが簡単にわかります。Forward
今残っているのは、スクロール方法を有効にしてスクロールボタンを選択するだけです。次の2行を使用できます。Fn1
Fn2
9
xinput set-prop "pointer:ELECOM TrackBall Mouse HUGE TrackBall" 'libinput Button Scrolling Button' 9
xinput set-prop "pointer:ELECOM TrackBall Mouse HUGE TrackBall" 'libinput Scroll Method Enabled' 0 0 1
この時点では、必要に応じてスクロールを構成しましたが、ボタンはまだ中間ボタンとして使用されていません。この動作を修正するために、ボタンが(中間)9
として報告されるようにボタンを再マップします。2
xinput set-button-map $(xinput list --id-only "pointer:ELECOM TrackBall Mouse HUGE TrackBall") \
1 2 3 4 5 6 7 8 2 10 11 12
~/.xinitrc
これらの設定を永久に作成するには、Xorgセッションの開始時に上記の行を実行するように配置できます。
答え2
寄稿者: @wojciech-gac回答これは質問に対する正解です。
完全性のために同じ機能を探している人のために同等の設定を共有したかったのですが、Xorgサーバーで設定することを好みます。
.conf
次のいずれかにファイルを作成します。Xorg構成パス。たとえば、
/etc/X11/xorg.conf.d/99-elecom-huge-scroll.conf
そしてその中に次の内容を入れてください:
Section "InputClass"
Identifier "Elecom HUGE scroll config"
MatchDriver "libinput"
MatchVendor "ELECOM"
MatchProduct "HUGE TrackBall"
Option "ScrollMethod" "button"
Option "ScrollButton" "9"
Option "ButtonMapping" "1 2 3 4 5 6 7 8 2 10 11 12"
EndSection