Evdev Wheel Emulation pelo teclado

0

Adoro a emulação de roda de rato XInput! Emulação de roda Evdev pode ativar em qualquer botão do mouse, executando o comando abaixo (9 é o botão do mouse que acionam a emulação de roda Evdev)

xinput set-prop $DEVICE_ID "Evdev Wheel Emulation Button" 9

Eu uso por quase 5 anos e muito grato a xorg que implementam esse ótimo recurso. Agora eu quero mudar o gatilho de um botão do mouse para uma tecla do teclado. Digamos que eu queira ativar a emulação de trigger quando eu mantenho a tecla "H" e desabilito quando eu libero a magia "H". Como posso fazer isso?

Soluções testadas que não funcionaram

Eu tentei mapear uma tecla do teclado para um botão do mouse 9, mas pressionar o botão 9 não fará os truques. Parece que Evdev não vai estimular por um botão sintético do mouse. Eu crio um script que quando uma tecla mágica "H" pressiona, executa xdotool mousedpown 9 e executa xdotool mouseup 9 na liberação da chave. Eu posso confirmar script fazer o que deveria fazer, alterando o botão de 9 para 1 (também conhecido como clique esquerdo) e ver segurando "H" no teclado irá manter o botão esquerdo para baixo, mas não há esperança em Evdev Emulation

    
por user41209 26.10.2018 / 14:12

1 resposta

0

A maneira mais fácil é criar um ponteiro virtual com o módulo uinput e python. em seguida, crie um script para emitir o botão do mouse no ponteiro virtual ao pressionar a tecla no teclado.

Eu escrevi uma explicação completa no meu blog . Se precisar de mais detalhes, você pode conferir

    
por 26.10.2018 / 16:18