マウスの中ボタン B2 を左ボタン B1 にマップしようとしています。 xmodmap を使用しており、それを変更するにはポインターが使用されると理解しています。
ここは~/.Xmodmap
pointer = 1 1 3 4 5 6 7 8 9
しかし、このエラーが発生します。何かアイデアはありますか?
~$ xmodmap ~/.Xmodmap
Warning: Only changing the first 9 of 20 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: 0x1
Serial number of failed request: 9
Current serial number in output stream: 9
この modmap は機能しますが、もちろんボタンは逆になります。 ~/.Xmodmap
pointer = 2 1 3 4 5 6 7 8 9
答え1
まあ、気にしないでください。xinput を使用したより良い解決策を見つけました:
$ xinput list
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ Logitech Wireless Mouse id=10 [slave pointer (2)]
⎜ ↳ MyMouse id=11 [slave pointer (2)]
⎜ ↳ SynPS/2 Synaptics TouchPad id=13 [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)]
↳ Video Bus id=8 [slave keyboard (3)]
↳ Power Button id=9 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=12 [slave keyboard (3)]
↳ MSI WMI hotkeys id=14 [slave keyboard (3)]
↳ Logitech Wireless Mouse id=15 [slave keyboard (3)]
↳ BSK30 (AVRCP) id=16 [slave keyboard (3)]
次に、マウス ID (例: 11、Magic Mouse の場合) を取得し、ボタンをマッピングします。
$ xinput set-button-map 11 1 1 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20