Desativar 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 gastar 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 com que a torneira seja acionada.

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"

user208769
fonte
Pergunta interessante! O fabricante do laptop oferece algum driver Linux para este dispositivo?
Michael Frank
Na verdade não. É um Voyo VBOOK V3 - alguns drivers do Windows e um bios Linux aqui en.myvoyo.com/xiazai/Win%20Pad/VBOOK%5FV3%5Fpentium/down - mas nada que seria útil para esta questão até agora
user208769

Respostas:

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 - são necessários dois arquivos para impedir que pressionamentos de tecla repetidos estendam o tempo limite do mouse:

/usr/bin/pause-mouse faça 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!

user208769
fonte