左マウス(入力装置)のトグルボタンのみ

左マウス(入力装置)のトグルボタンのみ

Debian 12 Gnome 44 システムに 2 つの Logitech M650 マウスが接続されています。一つは「左利き」マウスです。人差し指をデフォルトのクリックとして使用できるように、マウスの左ボタンのボタンだけを変更したいと思います。右クリックは変更されていないままにしてください。

私がcat /proc/bus/input/devicesここに来たときの結果は次のとおりです。

I: Bus=0005 Vendor=046d Product=b02a Version=0013
N: Name="Logitech Signature M650 L Mouse"
P: Phys=4c:1d:96:47:de:e2
S: Sysfs=/devices/virtual/misc/uhid/0005:046D:B02A.0022/input/input46
U: Uniq=d5:55:b1:dd:b7:7f
H: Handlers=mouse3 event15 
B: PROP=0
B: EV=17
B: KEY=1f0000 0 0 0 0
B: REL=1943
B: MSC=10

I: Bus=0005 Vendor=046d Product=b02a Version=0013
N: Name="Logitech Signature M650 L Left-Handed Mouse"
P: Phys=4c:1d:96:47:de:e2
S: Sysfs=/devices/virtual/misc/uhid/0005:046D:B02A.0023/input/input47
U: Uniq=de:9d:c9:d8:74:fc
H: Handlers=mouse4 event16 
B: PROP=0
B: EV=17
B: KEY=1f0000 0 0 0 0
B: REL=1943
B: MSC=10

誰もが正しい方向に私を指すことができますか?ありがとうございます!

答え1

同様の設定があります。ロジクール左右マウス:「M650 L」と「M650 L Left」。私のシステムでは、「M650 L Left」が左利きのマウスとして認識されず、次のようにしました。

$HOME/.xsession ファイルに次の 2 行を配置しました。

lefty=$(xinput | grep "Logitech.*Mouse" | grep -n pointer | grep ^2 | sed 's/^.*id=\([0-9]*\)[ \t].*$/\1/')
[[ $lefty ]] && xinput set-button-map $lefty 3 2 1 4 5 6 7 2 2

私のシステムでは、左マウスは常にリストの2番目であるため、これはうまくいきます。他のシステムでは、「grep ^2」を「grep ^1」に置き換える必要があるかもしれません。

誰もがよりクリーンなソリューションを持っているなら、興味があるでしょう。

答え2

以下は、マウスボタンを確認して再マッピングする例です。

$ xinput get-button-map 10  #10 is the id of the pointer device
1 2 3 4 5 6 7

左ボタン1個、中央ボタン2個、右ボタン3個など中央ボタンを無効にする機能(2に該当)

$ xinput set-button-map 10 1 0

(数字7を設定するには、前の6を入力する必要があります)

確認する:

$ xinput get-button-map 10
1 0 3 4 5 6 7

復元するには:

$ xinput set-button-map 10 1 2

関連情報