Algum evento é gerado quando a proximidade da caneta é detectada?

1

Estou tentando configurar a touchscreen + caneta do meu laptop para que o dispositivo de toque seja desativado quando a caneta for detectada, para que eu possa descansar minha mão na tela enquanto escrevo. Eu posso escrever um script que faz isso verificando 'proximidade' na saída do xinput, mas esse script teria que verificar algumas vezes por segundo para ter um bom tempo de resposta.

Eu queria saber se a proximidade da caneta gera um evento que pode ser capturado de alguma forma para evitar a exibição da saída xinput o tempo todo ... Não vejo nada em acpi_listen. Alguma dica?

Obrigado Stefano

    
por Stefano 14.11.2014 / 06:59

1 resposta

2

O seguinte funciona para mim:

STYLUS_ID=11 # replace with ID or name of your stylus
TOUCH_ID=9 # replace with ID or name of your touch screen

xinput test -proximity "$STYLUS_ID" |
    while read line; do
        if [[ $line == *out* ]]; then
            xinput enable "$TOUCH_ID"
        else
            xinput disable "$TOUCH_ID"
        fi
    done

Em vez de pesquisar o estado da caneta, ela depende da opção test de xinput , que insere um loop infinito exibindo proximity events para o dispositivo. Da página de manual de xinput :

    test [-proximity] device
           Register all extended events from device and enter an endless loop
           displaying events received. If the -proximity is given, ProximityIn
           and ProximityOut are registered.
    
por 28.02.2016 / 14:48