ボタン2の中マウスボタンをボタン1の左マウスにマップします

ボタン2の中マウスボタンをボタン1の左マウスにマップします

マウスの中ボタン 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

関連情報