Configurando o Kensington Slimblade no Linux

0

Eu acabei de comprar um Kensigton Slimblade Trackball e estou tentando configurá-lo. Estou adaptando da minha antiga configuração do Logitech Marble.

Eu quero que a configuração seja:

  • Inferior esquerdo: clique esquerdo
  • Superior esquerdo: para trás
  • Right-Top: Clique com o botão direito e bloqueia a rolagem da bola
  • Right-Bottom: clique do meio

A configuração que pude definir até agora é:

  • Inferior esquerdo: clique esquerdo
  • Superior esquerdo: clique do meio
  • Right-Top: Clique com o botão direito e bloqueia a rolagem da bola
  • Right-Bottom: Backward

Este é o meu script de configuração:

xinput set-int-prop "Kensington Kensington Slimblade Trackball" "Evdev Middle Button Emulation" 8 1   

xinput set-button-map "Kensington Kensington Slimblade Trackball" 1 2 8 4 5 6 7 

xinput set-int-prop "Kensington Kensington Slimblade Trackball" "Evdev Wheel Emulation" 8 1
xinput set-int-prop "Kensington Kensington Slimblade Trackball" "Evdev Wheel Emulation Button" 8 8
xinput set-int-prop "Kensington Kensington Slimblade Trackball" "Evdev Wheel Emulation Axes" 8 6 7 4 5
xinput set-int-prop "Kensington Kensington Slimblade Trackball" "Evdev Wheel Emulation Timeout" 16 300

Antes de executar este script, xev informa os números dos botões como:

Left-Bottom: 1, Left-Top: 2, Right-Top: 8, Right-Botom: 3

Depois de executar este script:

Left-Bottom: 1, Left-Top: 2, Right-Top: 8, Right-Botom: 8

Então, AFAIK, xinput set-button-map muda a ordem dos botões. Em esta página, aprendi que o 2º valor corresponde ao meio botão do mouse e o oitavo ao Thumb1 (normalmente relacionado à função de retrocesso). Então eu pensei que deveria usar apenas o número 3 como o segundo elemento e 2 como o oitavo elemento assim:

xinput set-button-map "Kensington Kensington Slimblade Trackball" 1 3 8 4 5 6 7 2

mas agora o botão superior esquerdo tem a função de clicar com o botão direito e o lado inferior esquerdo está desativado. xev agora reporta

Left-Bottom: 1, Left-Top: 3, Right-Top: 2, Right-Botom: 8. 

Alguém sabe como eu configuro a configuração como pretendo? Estou usando o Ubuntu 16.04. Obrigado.

    
por Nelson Teixeira 02.07.2018 / 20:00

1 resposta

0

Alguns minutos depois de postar a pergunta, encontrei a resposta. Aqui vai no caso de alguém precisar (configuração para Mint 18 / Ubuntu 16.04):

xinput set-int-prop "Kensington Kensington Slimblade Trackball" "Evdev Middle Button Emulation" 8 0
7 8 9 
xinput set-button-map "Kensington Kensington Slimblade Trackball" 1 8 2 4 5 6 7 3 2
xinput set-int-prop "Kensington Kensington Slimblade Trackball" "Evdev Wheel Emulation" 8 1
xinput set-int-prop "Kensington Kensington Slimblade Trackball" "Evdev Wheel Emulation Button" 8 8
xinput set-int-prop "Kensington Kensington Slimblade Trackball" "Evdev Wheel Emulation Axes" 8 6 7 4 5
xinput set-int-prop "Kensington Kensington Slimblade Trackball" "Evdev Wheel Emulation Timeout" 16 300

Editar

Após a atualização para o Mint 19 (em casa) e o Ubuntu 18.04 (no escritório), descobri que a configuração acima não funciona. O 18.04 usa uma biblioteca diferente para esse tipo de dispositivo (libinput) e, mesmo que eu tenha reinstalado o Evdev, algumas opções não funcionam. Depois de uma dolorosa busca, encontrei a solução. Crie um arquivo com extensão .conf na pasta /usr/share/X11/xorg.conf.d/ . No meu caso eu chamei de 10-slimblade.conf . Coloque esta configuração dentro do arquivo:

Section "InputClass"
        Identifier "Kensington Kensington Slimblade Trackball"
        MatchProduct "Kensington Kensington Slimblade Trackball"
        MatchIsPointer "on"
        MatchDevicePath "/dev/input/event*"
        Driver "libinput"
        Option "ButtonMapping" "1 8 2 4 5 6 7 3 2"
        Option "ScrollButton" "8"
        Option "ScrollMethod" "button"
        Option "MiddleEmulation" "on"
EndSection

Reinicie a sessão e pronto.

    
por 02.07.2018 / 20:13