Cómo ocultar el cursor del mouse

40

Estoy construyendo un quiosco usando Ubuntu Precise en una pantalla táctil. Ahora estoy buscando la forma adecuada de hacer desaparecer el cursor del mouse. Como las personas saben a dónde apuntan, mostrar una flecha debajo de su dedo es inútil, y tener una flecha donde apuntaron por última vez aún más.

Mi mejor apuesta sería algún tipo de tema de cursor que consista solo en cursores transparentes. Estoy un poco sorprendido de no encontrar ninguna interfaz de usuario para cambiar y quizás instalar temas de cursor en la interfaz de usuario predeterminada de Unity, pero como no usaré Unity, eso no es un gran problema. Parece que las alternativas enumeradas en update-alternatives --list x-cursor-themetodos se refieren a .themearchivos, por lo que busqué en la lista de paquetes . La lista resultante no incluye ningún candidato probable, es decir, ningún paquete que contenga "invisible" o "transparente" en su nombre.

Hasta ahora, mi mejor apuesta es un resultado en Google que arroje un archivo Léame para "XCursor Transparent Theme" . Eso significaría recopilar esas fuentes yo mismo, quizás ponerlas en mi PPA. También estoy un poco escéptico sobre ese resultado, ya que dicho archivo Léame data de 2003. Y no estoy seguro de que no esté complicando demasiado las cosas. Después de todo, hay bastante soporte en Precise para dispositivos táctiles, por lo que no creo que sea el primero que quiera deshacerse del cursor del mouse.

  • ¿Hay alguna otra forma que no implique código binario compilado por el usuario?
  • ¿Hay un paquete de temas para cursores transparentes que he pasado por alto?
  • ¿Hay algún otro mecanismo para hacer que el cursor desaparezca sin cambiar el tema del cursor?

Voy a usar la caja de fósforos WM , Firefox y applets de Java, así que voy a ser feliz con cualquier solución de trabajo en virtud de tal disposición a. No estoy interesado en ninguna solución que juegue con Gnome o Compiz, ya que tampoco la ejecutaré.

MvG
fuente

Respuestas:

41

Prueba 'despejar'

El propósito de este programa es ocultar el puntero después de que el mouse no se haya movido por un tiempo. Al usarlo, puede hacer que el puntero aparezca solo cuando el usuario toca la pantalla y desaparecer justo después. (tal vez esto no era exactamente lo que buscabas. Pero es mucho más fácil que tu alternativa = P)

Para usar, instálalo

sudo apt-get install unclutter

entonces ejecútalo

unclutter -idle 0.01 -root

el número es una cantidad de segundos antes de que desaparezca el puntero (en este caso, 1/100 segundos)

josinalvo
fuente
1
Si combina esta solución con un tema de icono que parece un pequeño anillo, debería verse bastante bien incluso con un retraso de 0.1 segundos. En ese caso, la demora funcionaría como confirmación visual de que la pantalla detectó el toque.
Mikko Rantalainen
¡buena idea! ¿Tienes ese tema? Me encantaría agregar una recomendación a la respuesta
josinalvo
1
Lo siento, no estoy al tanto del tema existente. No debería ser demasiado difícil crear dicho tema manualmente. Cree un archivo PNG adecuado y úselo xcursorgenpara crear un archivo de cursor X11. Luego debe escribir el cursor.themearchivo, colocar los archivos del cursor en el subdirectorio cursorsy crear un archivo ZIP a partir de todo. Consulte ehow.com/how_5026012_make-cursors-file-ubuntu.html y freedesktop.org/wiki/Specifications/cursor-spec/?action=print y algunos temas existentes gnome-look.org/?xcontentmode=36 para obtener más detalles.
Mikko Rantalainen
¡Increíble simbiosis perfecta con NoMachine! ¡Gracias!
Acuario Power
A veces, usar unclutter puede hacer que la aplicación pierda el foco, por ejemplo, cuando navega por la web, la rueda del mouse puede no funcionar hasta que haga clic o mueva el puntero del mouse. Solo
tenlo
22

Si nunca quieres que aparezca el cursor (apropiado para pantallas táctiles), mi experiencia no bastará. En su lugar, puede usar el uso -nocursoral iniciar X.

Ejemplo:

startx -nocursor

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

Gibbs
fuente
1
¡Gran respuesta! Funcionó para mí solo así:startx -- -nocursor
czerasz
66
¿Hay alguna forma de cambiar esta variable después de que X ha comenzado?
Aaron Franke
12

Si está utilizando lightdm:

Editar /etc/lightdm/lightdm.confagregando:

xserver-command=X -bs -core -nocursor

si estás usando nodm:

Editar /etc/default/nodmreemplazando:

NODM_X_OPTIONS='-nolisten tcp'

con

NODM_X_OPTIONS='-nolisten tcp -nocursor'

Esta es una respuesta muy útil de Gibbs.

Peter
fuente
¿Son realmente necesarios -bs y -core? Mi lightdm comentó que el valor predeterminado es simple X, y la configuración para xserver-command=X -nocursorocultar el cursor.
Andreas
@Andreas, los argumentos "-bs -core" estaban en mi archivo lightdm.conf al momento de escribir. Si no están en el tuyo, supongo que no son necesarios. Solo necesitaba agregar "nocursor" para que esto funcione.
Peter hace
1

Ubuntu 16.04

Abre /usr/share/lightdm/lightdm.conf.d/50-xserver-command.confy edita esta línea:

xserver-command=X -core

Añádele -nocursor. Me gusta esto:

xserver-command=X -core -nocursor

Guardar y reiniciar.

Advertencia : al igual que otras respuestas a esta pregunta, los errores en este archivo evitarán la inicialización de Xorg. De todos modos, aún puede iniciar sesión en la terminal y revertir.

Rael Gugelmin Cunha
fuente
NOTA: esto podría interrumpir el inicio de sesión en su máquina. Usar con precaución.
Igor
1
@Igor si bien es un punto válido, un error en este archivo impedirá la inicialización de Xorg. Por lo tanto, el usuario aún puede iniciar sesión en la terminal y revertir. De todos modos, agregaré una mención a esto.
Rael Gugelmin Cunha