Eu tenho um laptop com tela sensível ao toque e quero ocultar o ponteiro sempre que tocar na tela. Estou ciente de soluções como Arrumar e startx -nocursor
mas eu quero o ponteiro para ocultar / mostrar dinamicamente, escondendo se eu usar o touchscreen e mostrando quando eu usar um mouse hardware.
Pensei em criar dois ponteiros separados e aplicar uma das duas soluções acima ao ponteiro da tela de toque, mas nenhuma dessas soluções menciona como direcionar um único ponteiro, e ter vários ponteiros faz as coisas agirem estranhas, e isso não ocultaria o hardware cursor do mouse.
Eu acho que eu posso mais razoável fazer isso fazendo algo parecido com isso , manter o controle do mecanismo de entrada de corrente e executar xinput -cursor [transparent cursor]
sempre que o touchscreen é utilizada e xinput -cursor [normal cursor]
, sempre que um rato normal é usada.
No entanto, observei o xinput e parece que, como o mouse de hardware e a tela sensível ao toque são escravizados no mesmo ponteiro, ambos registram os mesmos eventos no xev, então não tenho certeza de onde obteria as informações necessárias para diferenciar um toque de um clique de mouse. é possível?
Suponho que você use a tela sensível ao toque quando não tiver um mouse e conecte uma ao sistema quando quiser usá-la. Nesse caso, você pode usar
udev
regras para gerenciar seu ponteiro de acordo:As condições usadas para distinguir um mouse são emprestadas desta resposta .
Lembre-se de que aplicativos individuais são livres para redefinir o cursor dinamicamente, para que seu cursor fique visível novamente quando você passar o mouse pelas janelas. Você pode iniciar / parar
unclutter
se quiser que todos os cursores estejam ocultos em todos os lugares:Pessoalmente, eu também desativaria completamente a tela sensível ao toque quando o mouse estiver conectado, para que tocar acidentalmente não perturbe o cursor quando você espera que ele siga o mouse.
fonte
udev
como removido quando você o desativa usando o botão Fn (supondo que você tenha um).Há uma bifurcação da ferramenta unclutter-fixes por nowrep disponível aqui . Esta versão adiciona uma
-touch
opção para ocultar automaticamente o cursor sempre que uma entrada de toque é detectada. (O repositório original unclutter-xfixes está aqui )Uma coisa a ter em atenção é que ele ainda inclui o comportamento de ocultar o cursor após um período especificado. Você pode apenas definir a
--timeout
opção com um valor muito alto para contornar isso.Isso deve funcionar perfeitamente para você. No meu caso, eu tinha uma tela sensível ao toque conectada externamente e, quando volto para o monitor comum, o cursor fica na tela sensível ao toque, então tenho que movê-la de volta para o monitor de onde toquei. O bom é que, depois que eu começar a mover o mouse, o cursor aparecerá para que eu saiba onde está.
Uma boa vantagem dessa opção é que ainda posso usar o mouse normalmente na tela sensível ao toque, se quiser, mas o oculto quando não uso.
fonte