私はDebian 9(別名「Stretch」)x86_64を使用しています。
$ uname -a:
Linux mypc 4.9.0-8-amd64 #1 SMP Debian 4.9.130-2 (2018-10-27) x86_64 GNU/Linux
私のデバイスLogitech MU-007で追加ボタンをマップしようとしています。
$ lsusb | grep Logitech
Bus 001 Device 023: ID 046d:c069 Logitech, Inc. M-U0007 [Corded Mouse M500]
x入力装置:
$ xinput | grep Logitech
⎜ ↳ Logitech USB Laser Mouse id=10 [slave pointer (2)]
xinput test 10
マウスの左側にある2つの追加ボタンをテストして8と9を返します。
$ xinput -version
xinput version 1.6.2
簡単なことを試しました。
xinput set-button-map 10 8 2 3
または
$ xmodmap -e "pointer = 9 2 3"
Warning: Only changing the first 3 of 12 buttons.
X Error of failed request: BadValue (integer parameter out of range for operation)
Major opcode of failed request: 116 (X_SetPointerMapping)
Value in failed request: 0x9
Serial number of failed request: 9
Current serial number in output stream:
左ボタンはまったく機能せず、左クリックのように選択できません。
また、左クリックと追加ボタンを左クリックのままにしたいと思います。このコマンドが何も選択しない
理由をご存知ですか?xinput
編集する
ついに:
id=$(xinput list | grep -oP 'Logitech USB Laser Mouse.*id=\K\d+')
xinput set-button-map $id 1 2 3 4 5 6 7 1 1 10 11 12
答え1
このコマンドが最初のマウスボタンの機能を物理ボタン#8にマッピングするとします。
xinput set-button-map 10 8 2 3
この仮定は正しくありません。実際、このコマンドは正反対に動作します。実際にイベントを「ボタン8」の別のインスタンスに送信するように物理ボタン#1を設定すると、「最初のマウスボタン」の動作を効果的に使用できなくなります。
物理ボタン#8を追加の「最初のマウスボタン」として使用するには、次の手順を実行する必要があります。
xinput set-button-map 10 1 2 3 4 5 6 7 1 9 10 11 12
デフォルトのマッピングはです1 2 3 4 5 6 7 8 9 10 11 12
。したがって、物理ボタン#8が最初のマウスボタンと同じように機能するようにするには、8
マッピングの数字を別の数字に置き換えます1
。
特定のボタンを完全に無効にするには、0
その物理ボタンに対応するスロットで使用してください。
ボタン4と5は通常、マウスホイールの上下の操作に対応します。
答え2
より良い解決策を見つけました。数字パッドはこのように保存できます。他の解決策では不可能です。
切り替え可能なキーボードキーがあります。マウスボタンモード、このように左クリックにはF1、中央クリックにはF2、右クリックにはF3を使用します。その後、特殊キーを使用してキーボードに戻すことができます。
特殊キーはこのスクリプトを起動します(WMキーボードショートカットのデフォルト設定を確認してください)。
#!/bin/bash
if [[ ! -s ~/.button-state ]]; then
echo 0 > ~/.button-state
fi
state=$(<~/.button-state)
if ((state==0)); then
xkbset m
yad --notification xxx &
echo 1 > ~/.button-state
elif ((state==1)); then
xkbset -m
pkill -f 'yad --notification xxx
echo 0 > ~/.button-state
else
echo >&2 "weird error"
exit 1
fi
マウスジェスチャーが有効になると、システムトレイに次のアイコンが表示されます。