Eu tenho o mesmo trackball, e este é o meu /etc/X11/xorg.conf.d/99-logievdev.conf
para ativar a rolagem:
Section "InputClass"
Identifier "Logitech USB Trackball"
MatchProduct "Logitech USB Trackball"
MatchDevicePath "/dev/input/event*"
MatchIsPointer "true"
Driver "libinput"
Option "ButtonMapping" "1 0 3 4 5 0 0 8 2"
Option "ScrollMethod" "button"
Option "ScrollButton" "8"
EndSection
Observe que você só precisa das linhas Option "ScrollMethod"
e Option "ScrollButton"
para ativar a rolagem do trackball.
Talvez minha mão seja diferente da sua, mas acho que todos os quatro botões podem ser usados para mim. É por isso que eu atribuí o botão pequeno de difícil acesso ao botão do meio do mouse (botão 2), para aqueles programas antigos do X11 que ocasionalmente precisam dele. É também por isso que eu não uso o Option "MiddleEmulation"
que foi usado na configuração do Wiki do Arch que você vinculou.
Pode ser que a opção ScrollButton
seja manipulada antes de ButtonMapping
, permitindo que você atribua a rolagem a um e apenas um botão.
Para alternar entre configurações, você pode usar algo como este script:
#!/bin/sh
MOUSENAME="Logitech USB Trackball"
CUR_SC_BUTTON=$(xinput --list-props "$MOUSENAME" | grep "Scrolling Button (" | cut -d : -f 2)
case $CUR_SC_BUTTON in
8)
# mouse is currently right-handed, switch to left
xinput --set-prop "$MOUSENAME" "libinput Button Scrolling Button" 9
xinput --set-button-map "$MOUSENAME" 3 2 1 4 5 6 7 9 8
# note: may need to switch 9 and 8 around, depending on how
# ButtonMapping and ScrollingButton interact
;;
9)
# mouse is currently left-handed, switch to right
xinput --set-prop "$MOUSENAME" "libinput Button Scrolling Button" 8
xinput --set-button-map "$MOUSENAME" 1 2 3 4 5 6 7 8 9
;;
esac
Aviso de isenção de responsabilidade: eu não testei esse roteiro sozinho, agora o escrevi.
Para que o botão "inútil" mude as configurações do mouse, você usaria a ferramenta apropriada em seu ambiente de trabalho de preferência para atribuir esse script para ser executado quando o botão do mouse for pressionado.