Remapear os botões do mouse de toque no Linux

1

Estou usando um mouse habilitado para Bluetooth touch com o Ubuntu e percebo que ele tem alguns mapeamentos de teclado extras, que não têm uso prático para mim. Passe o dedo no mouse dá um 'd' e deslize para a direita dá um Backspace. Eu tentei alterar o mapeamento de chaves com xinput e input-kdb mas sem nenhuma sorte até agora.

$ xinput list "ThinkPad Bluetooth Touch Mouse"
ThinkPad Bluetooth Touch Mouse                 
       Reporting 6 classes:
            Class originated from: 10. Type: XIButtonClass
            Buttons supported: 7
            Button labels: "Button Left" "Button Middle" "Button Right" "Button Wheel Up" "Button Wheel Down" "Button Horiz Wheel Left" "Button Horiz Wheel Right"
            Button state:
            Class originated from: 10. Type: XIKeyClass
            Keycodes supported: 248
            Class originated from: 10. Type: XIValuatorClass
            Detail for Valuator 0:
              Label: Rel X
              Range: -1.000000 - -1.000000
              Resolution: 1 units/m
              Mode: relative
            Class originated from: 10. Type: XIValuatorClass
            Detail for Valuator 1:
              Label: Rel Y
              Range: -1.000000 - -1.000000
              Resolution: 1 units/m
              Mode: relative
            Class originated from: 10. Type: XIValuatorClass
            Detail for Valuator 2:
              Label: Rel Vert Wheel
              Range: -1.000000 - -1.000000
              Resolution: 1 units/m
              Mode: relative
            Class originated from: 10. Type: XIScrollClass
            Scroll info for Valuator 2
              type: 1 (vertical)
              increment: -1.000000
              flags: 0x2 ( preferred )

Desativar os botões não ajudou (mapeando-os para 0), os vários caracteres ainda foram gerados.

Usar input-kbd para fazer alterações no mapeamento de teclado resultou em um erro.

$ sudo input-kbd 6
/dev/input/event6
bustype : BUS_BLUETOOTH
vendor  : 0x17ef
product : 0x6063
version : 87
name    : "ThinkPad Bluetooth Touch Mouse"
phys    : "9c:b6:d0:ec:e1:c4"
uniq    : "f0:65:dd:b0:b6:d5"
bits ev : EV_SYN EV_KEY EV_REL EV_MSC EV_REP

map: 12 keys, size: 19/64
0x90001 = 272  # BTN_LEFT
0x90002 = 273  # BTN_RIGHT
0x90003 = 274  # BTN_MIDDLE
0x70006 =  46  # KEY_C
0x70007 =  32  # KEY_D
0x7002a =  14  # KEY_BACKSPACE
0x70014 =  16  # KEY_Q
0x7002b =  15  # KEY_TAB
0x700e3 = 125  # KEY_LEFTMETA
0x700e0 =  29  # KEY_LEFTCTRL
0xc0224 = 158  # KEY_BACK
0xc0225 = 159  # KEY_FORWARD

Criar um arquivo com 0x70007 = 240 mapeando o d para KEY_UNKNOWN faz com que

$ sudo input-kdb -f keymap 6
/dev/input/event6
map: 12 keys, size: 19/64
scancode 458759 out of range (0-19)

Existe outra maneira de mapear essas entradas de teclados decorrentes do mouse, de alguma forma?

    
por Wieki 14.12.2017 / 15:38

0 respostas

Tags