Estou tentando mapear o botão do meio do mouse B2 para o botão esquerdo B1. Estou usando o xmodmap e meu entendimento é que o ponteiro é usado para mudar isso.
Aqui está~/.Xmodmap
pointer = 1 1 3 4 5 6 7 8 9
Mas eu recebo esse erro. Alguma ideia?
~$ 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
Este modmap funciona, mas é claro que os botões estão invertidos. ~/.Xmodmap
pointer = 2 1 3 4 5 6 7 8 9
Responder1
Bem deixa pra lá. Encontrei uma solução melhor usando o 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)]
em seguida, obtenha o ID do mouse, por exemplo, 11 (acontece que é um Magic Mouse) e mapeie os botões.
$ 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