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?