Eu tenho um mouse com 4 botões físicos (Kensington Slimblade Trackball), vamos chamá-los de A B C D, mais 3 eixos: mouse X, Y e roda de rolagem.
Os botões A e B funcionam como caixa principal (botão 1) e clique direito (botão 3). Pressionar A + B juntos gera um clique do meio (botão 2), o que também é ótimo.
Agora, gostaria de mapear os botões C e D para minhas próprias finalidades, mas não consigo encontrar como mapear o botão C separadamente da emulação A + B.
Com o mapa de botões padrão, recebo este mapeamento:
physical buttons: A C B D
xinput button-map: 1 2 3 4 5 6 7 8 9 10 11 12
Se eu tentar mapear o botão C para 8 e D para 9, com xinput set-button-map
, então pressionar A + B também será mapeado para o botão 8!
physical buttons: A C B D
xinput button-map: 1 8 3 0 0 0 0 9
^
A+B emulation becomes 8 too!
Como posso mapear o botão C para um número de botão arbitrário, mantendo a emulação A + B como botão 2?
Devo trabalhar em um nível inferior ao Xinput? Como? Devo usar uma configuração Xinput diferente?
Edit: aqui estão os códigos evtest
para os 4 botões:
A:
type 4 (EV_MSC), code 4 (MSC_SCAN), value 90001
type 1 (EV_KEY), code 272 (BTN_LEFT), value 1
B:
type 4 (EV_MSC), code 4 (MSC_SCAN), value 90002
type 1 (EV_KEY), code 273 (BTN_RIGHT), value 1
C:
type 4 (EV_MSC), code 4 (MSC_SCAN), value ff000001
type 1 (EV_KEY), code 274 (BTN_MIDDLE), value 1
D:
type 4 (EV_MSC), code 4 (MSC_SCAN), value ff000002
type 1 (EV_KEY), code 275 (BTN_SIDE), value 1