Touchscreen clique direito emulação não funciona

1

Eu tenho um dispositivo touchscreen para o qual eu habilitei a emulação de terceiro botão em xinput :

Device 'ft5x_ts':
...
Evdev Third Button Emulation (257): 1
Evdev Third Button Emulation Timeout (258): 750
Evdev Third Button Emulation Button (259):  3
Evdev Third Button Emulation Threshold (260):   20
...

( registro completo )

No entanto, a emulação não funciona - os eventos de botão direito nunca aparecem. Aqui está a amostra de xev output:

ButtonPress event, serial 45, synthetic NO, window 0x2000001,
root 0x44, subw 0x0, time 2058845, (94,90), root:(96,117),
state 0x100, button 1, same_screen YES

MotionNotify event, serial 45, synthetic NO, window 0x2000001,
root 0x44, subw 0x0, time 2059658, (94,89), root:(96,116),
state 0x100, is_hint 0, same_screen YES

MotionNotify event, serial 45, synthetic NO, window 0x2000001,
root 0x44, subw 0x0, time 2060101, (94,89), root:(96,116),
state 0x100, is_hint 0, same_screen YES

ButtonRelease event, serial 45, synthetic NO, window 0x2000001,
root 0x44, subw 0x0, time 2060101, (94,89), root:(96,116),
state 0x100, button 1, same_screen YES

Como você pode ver, o intervalo entre ButtonPress e ButtonRelease é maior que 750 ms, e o movimento do ponteiro está abaixo do limite de 20 pix, mas xev informa o botão 1 a ser pressionado, não o botão 3.

Ironicamente, quando configuro meu mouse USB na mesma forma , cliques longos no botão 1 do botão de emulação 3:

ButtonPress event, serial 45, synthetic NO, window 0x2000001,
root 0x44, subw 0x0, time 2870367, (48,82), root:(50,109),
state 0x0, button 3, same_screen YES

MotionNotify event, serial 45, synthetic NO, window 0x2000001,
root 0x44, subw 0x0, time 2870422, (49,81), root:(51,108),
state 0x400, is_hint 0, same_screen YES

ButtonRelease event, serial 45, synthetic NO, window 0x2000001,
root 0x44, subw 0x0, time 2870590, (49,81), root:(51,108),
state 0x400, button 3, same_screen YES

Alguém pode me ajudar, talvez aponte para algumas anomalias que eu não notei?

PS. Emulação de terceiro botão costumava funcionar com meu touchscreen sob o Debian Wheezy, e parou de funcionar quando eu atualizei para o Jessie. Por enquanto, reverti meu último backup para recuperar a instalação do Wheezy, mas ainda preciso de uma solução para a eliminação do Wheezy.

    
por Dmitry Grigoryev 17.10.2015 / 12:14

1 resposta

0

De acordo com este e esta , a emulação do botão direito do mouse é um problema comum no Debian Jessie, não limitado a uma distribuição específica. Uma solução que funcionou para mim (em uma tela sensível ao toque de 10 pontos) é usar o utilitário twofing :

git clone https://github.com/Plippo/twofing
sudo apt-get install build-essential libx11-dev libxtst-dev libxi-dev x11proto-randr-dev libxrandr-dev
cd twofing; make
./twofing /dev/input/eventXX

eventXX é o dispositivo correspondente à tela sensível ao toque, que pode ser encontrada com xinput list . O evento de clique direito é realizado com um clique de dois dedos e, como bônus, você recebe o gesto de rolagem (arrastar com dois dedos) e o gesto de aumentar / diminuir (pinça com dois dedos). Eu não tentei twofing com uma tela sensível ao toque, mas suponho que não funcionará, já que as telas sensíveis ao toque resistentes não suportam multitoque.

    
por 17.07.2016 / 15:02