Desativa o mouse quando a tecla do teclado é pressionada no linux

1

Eu desisti de tentar registrar meu touchpad corretamente. Ele quer ser um dispositivo imps / 2, e eu não posso passar mais tardes tentando convencê-lo do contrário (na verdade, ele faz muito bem como um dispositivo imps / 2 - toque para clicar, toque com 3 dedos para meio - clique, sem rolagem horizontal, mas você não pode ter tudo)

No entanto, não posso viver com o fato de que o pincel mais leve faz a torneira disparar.

Existe um comando que eu possa usar para desativar o touchpad quando uma tecla foi pressionada recentemente? xinput parece ser meu amigo aqui, o dispositivo aparece e pode ser configurado como "ImPS / 2 Genérico Wheel Mouse"

    
por user208769 10.01.2018 / 19:16

1 resposta

1

Minha solução muito hackeada até agora:

xinput test-xi2 --root | grep --line-buffered RawKeyRelease | while read -r line ; do pause-mouse-with-kill & sleep 0 ; done

Isso relata qualquer entrada passada para o xorg, verifica se é uma liberação de pressionamento de tecla (para que eu ainda possa pressionar Ctrl e clicar em coisas) e desativa o mouse momentaneamente. É aí que as coisas ficam ainda mais complicadas - dois arquivos são necessários para evitar pressionamentos de tecla repetidos, estendendo o tempo limite do mouse:

/usr/bin/pause-mouse faz a desativação real do mouse:

#!/bin/bash
DEV="ImPS/2 Generic Wheel Mouse" ; xinput set-prop "$DEV" "Device Enabled" 0 && sleep 0.5 && xinput set-prop "$DEV" "Device Enabled" 1 

/usr/bin/pause-mouse-with-kill Cancele a desativação anterior do mouse e reinicie o relógio

#!/bin/bash
killall pause-mouse
pause-mouse

Soluções melhores seriam preferidas!

    
por 10.01.2018 / 19:36