Como ocultar o cursor do mouse

40

Estou construindo um quiosque usando o Ubuntu Precise em uma tela de toque. Agora estou procurando a maneira apropriada de fazer o cursor do mouse desaparecer. Como as pessoas sabem para onde estão apontando, exibir uma flecha sob o dedo é inútil, e ter uma flecha onde apontaram pela última vez ainda mais.

Minha melhor aposta seria algum tipo de tema de cursor composto apenas por cursores transparentes. Estou um pouco surpreso por não encontrar uma interface do usuário para alternar e talvez instalar temas de cursor na interface do usuário padrão do Unity, mas como não vou usar o Unity, isso não é um problema. Parece que as alternativas listadas em update-alternatives --list x-cursor-themetodos se referem a .themearquivos, então procurei na lista de pacotes . A lista resultante não lista nenhum candidato provável, ou seja, nenhum pacote contendo "invisível" ou "transparente" em seu nome.

Até o momento, algum resultado pesquisado no Google que leia um readme para "XCursor Transparent Theme" é minha melhor aposta. Isso significaria compilar essas fontes pessoalmente, talvez colocá-las no meu PPA. Também sou um pouco cético em relação a esse resultado, já que o leia-me foi datado de 2003. E não tenho certeza de que não estou complicando demais as coisas. Afinal, existe bastante suporte no Precise para dispositivos de toque, então não acredito que sou o primeiro a querer se livrar do cursor do mouse.

  • Existe outra maneira que não envolva código binário compilado pelo usuário?
  • Existe um pacote de temas para cursores transparentes que eu ignorei?
  • Existe algum outro mecanismo para fazer o cursor desaparecer sem alterar o tema do cursor?

Vou usar os miniaplicativos Matchbox WM , Firefox e Java, por isso ficarei feliz com qualquer solução que funcione nessa configuração. Não estou interessado em nenhuma solução que rode com o Gnome ou o Compiz, pois também não vou rodar.

MvG
fonte

Respostas:

41

Tente 'organizar'

O objetivo deste programa é ocultar o ponteiro após o mouse não se mover por um tempo. Com ele, você pode fazer com que o ponteiro apareça apenas quando o usuário toca na tela e desaparece logo após. (talvez não fosse exatamente isso que você estava buscando. Mas é muito mais fácil do que sua alternativa = P)

Para usar, instale-o

sudo apt-get install unclutter

então corra

unclutter -idle 0.01 -root

o número é um número de segundos antes do ponteiro desaparecer (neste caso, 1/100 segundos)

josinalvo
fonte
1
Se você combinar esta solução com um tema de ícone que se parece com um anel pequeno, deve ficar bem legal, mesmo com um atraso de 0,1 segundo. Nesse caso, o atraso funcionaria como confirmação visual de que a tela detectou o toque.
Mikko Rantalainen
ideia legal! você tem esse tema? Eu adoraria adicionar uma recomendação para a resposta
josinalvo
1
Desculpe, não estou ciente do tema existente. Não deve ser muito difícil criar esse tema manualmente. Crie um arquivo PNG adequado e use-o xcursorgenpara criar um arquivo de cursor X11. Então você precisa escrever o cursor.themearquivo, colocar os arquivos do cursor no subdiretório cursorse criar um arquivo ZIP a partir da coisa toda. Veja ehow.com/how_5026012_make-cursors-file-ubuntu.html e freedesktop.org/wiki/Specifications/cursor-spec/?action=print e algum tema existente gnome-look.org/?xcontentmode=36 para obter mais detalhes.
Mikko Rantalainen 13/01
simbiose incrível e perfeita com o NoMachine! THX!
Poder de Aquário
Às vezes, usar a organização não organizada pode fazer com que o aplicativo perca o foco; por exemplo, ao navegar na Web, a roda do mouse pode não funcionar até você clicar ou mover o ponteiro do mouse. Basta ter em mente que você não acho que é um bug no navegador da web como eu fiz;)
Golimar
22

Se você nunca deseja que o cursor apareça (apropriado para telas sensíveis ao toque), não será suficiente para a minha experiência. Em vez disso, você pode usar use -nocursorao iniciar o X.

Exemplo:

startx -nocursor

Consulte http://www.x.org/wiki/AdvancedTopicsFAQ/#index1h2

Gibbs
fonte
1
Ótima resposta! Ela trabalhou para mim única como esta:startx -- -nocursor
czerasz
6
Existe uma maneira de alterar essa variável depois que o X for iniciado?
Aaron Franke
12

Se você estiver usando o lightdm:

Edite /etc/lightdm/lightdm.confadicionando:

xserver-command=X -bs -core -nocursor

se você estiver usando nodm:

Edite /etc/default/nodmsubstituindo:

NODM_X_OPTIONS='-nolisten tcp'

com

NODM_X_OPTIONS='-nolisten tcp -nocursor'

Esta é a construção de Gibbs resposta muito útil

Pedro
fonte
-Bs e -core são realmente necessários? Meu padrão lightdm comentado é simples Xe a configuração para xserver-command=X -nocursorocultar o cursor.
Andreas
@ Andréas, os argumentos "-bs -core" estavam no meu arquivo lightdm.conf no momento em que escrevi. Se eles não estiverem na sua, acho que não são necessários. Eu só precisava adicionar "nocursor" para fazer isso funcionar.
Peter
1

Ubuntu 16.04

Abra /usr/share/lightdm/lightdm.conf.d/50-xserver-command.confe edite esta linha:

xserver-command=X -core

Anexar -nocursora ele. Como isso:

xserver-command=X -core -nocursor

Salve e reinicie.

Aviso : Como outras respostas nesta pergunta, erros neste arquivo impedirão a inicialização do Xorg. De qualquer forma, você ainda pode fazer login no terminal e reverter.

Rael Gugelmin Cunha
fonte
NOTA: isso pode interromper o login na sua máquina. Use com cuidado.
Igor
1
@Igor enquanto um ponto válido, um erro neste arquivo impedirá a inicialização do Xorg. Assim, o usuário ainda pode fazer login no terminal e reverter. De qualquer forma, vou adicionar uma menção a isso.
Rael Gugelmin Cunha