Nascondere il mouse dopo essere rimasto inattivo per alcuni secondi sul display X.


9

Ho un'applicazione kiosk in esecuzione su Ubuntu Server 14.04.3 con Google Chrome e display X (xorg e xsession).

Attualmente ho alcuni script per nascondere il mouse dopo 2 secondi di inattività e quando l'utente tenta di spostare il mouse appare. Semplicemente faccio leva cursor:nonesu un overlay invisibile iniettato e lo rimuovo quando necessario.

Sembra che quando avvio il chiosco il codice viene eseguito come previsto e riesco a vedere l'overlay inserito ma poiché il mouse è stato appena "caricato" non scompare fino a quando non faccio anche un piccolo movimento con esso. Sembra che il browser non rilevi il mouse fino a quando non eseguo anche un piccolo movimento con il risultato che il mouse viene mostrato al centro dello schermo. Dal momento che il problema non è correlato al mio codice in quanto sembra funzionare bene.

Quello che voglio fare è che se il mouse non è stato spostato per 2 secondi, nascondilo. Quando l'utente tenta di spostare il mouse, mostralo di nuovo. La soluzione deve funzionare immediatamente dopo l'avvio del display X, quindi quando avvio il display X il mouse si trova al centro dello schermo e anche se non lo tocco all'avvio scompare dopo 2 secondi di inattività. Immagino di doverlo fare armeggiando con il display X invece di fare affidamento sul mio codice poiché il mouse non viene rilevato quando il chiosco multimediale è appena avviato.

È possibile fare una cosa del genere con il display X?

Risposte:


14

Esiste un'applicazione chiamata unclutterche lo farà. Installalo digitando quanto segue in una finestra del terminale:

sudo apt-get install unclutter

dopo l'installazione, è possibile modificare il timeout a 2 secondi nel seguente file:

/etc/default/unclutter

e cambia la seguente riga:

EXTRA_OPTS="-idle 1 -root"

per

EXTRA_OPTS="-idle 2 -root"

anche questo si avvia automaticamente all'avvio del sistema.

Per avviarlo ora senza riavviare il sistema, digitare quanto segue:

nohup unclutter -idle 2 &

MODIFICARE:

Se non viene trovato per l'installazione, modifica il tuo /etc/apt/sources.listfile e assicurati che le seguenti righe non siano commentate #:

deb http://us.archive.ubuntu.com/ubuntu/ trusty universe
deb-src http://us.archive.ubuntu.com/ubuntu/ trusty universe
deb http://us.archive.ubuntu.com/ubuntu/ trusty-updates universe
deb-src http://us.archive.ubuntu.com/ubuntu/ trusty-updates universe

Se vengono commentati, rimuovere la #parte anteriore della riga, quindi eseguire sudo apt-get updateper aggiornare i repository, quindi eseguire nuovamente sudo apt-get install unclutter.

Se eseguo i seguenti comandi, possiamo vedere che l' unclutterapplicazione proviene dai trusty universerepository.

:~$ apt-cache showpkg unclutter
Package: unclutter
Versions: 
8-19 (/var/lib/apt/lists/us.archive.ubuntu.com_ubuntu_dists_trusty_universe_binary-amd64_Packages) (/var/lib/dpkg/status)
 Description Language: 
                 File: /var/lib/apt/lists/us.archive.ubuntu.com_ubuntu_dists_trusty_universe_binary-amd64_Packages
                  MD5: f0e9ff67c42a9d3dc35bb595d2f84a7b
 Description Language: en
                 File: /var/lib/apt/lists/us.archive.ubuntu.com_ubuntu_dists_trusty_universe_i18n_Translation-en
                  MD5: f0e9ff67c42a9d3dc35bb595d2f84a7b

:~$ dpkg -s unclutter
Package: unclutter
Status: install ok installed
Priority: optional
Section: x11
Installed-Size: 76
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Architecture: amd64
Version: 8-19
Depends: debconf (>= 0.5) | debconf-2.0, libc6 (>= 2.3.4), libx11-6
Conffiles:
 /etc/X11/Xsession.d/90unclutter 9b47a483264cfc6a155fbd65cd8a3e6e
Description: hides the mouse cursor in X after a period of inactivity
 unclutter hides your X mouse cursor when you don't need it, to prevent it
 from getting in the way. You have only to move the mouse to restore the
 mouse cursor.
Original-Maintainer: Axel Beckert <abe@debian.org>
Homepage: ftp://ftp.x.org/contrib/utilities/

Spero che sia di aiuto!


Controllerò! Non riesco a credere che una soluzione così semplice fosse proprio sotto il mio naso :) A proposito, quando dici "crea una startup" intendi creare un file all'interno della init.dcartella?
kfirba,

@kfirba Aggiornato per le abilità di avvio automatico.
Terrance

grazie per averlo modificato! Ti
ricontatterò

@kfirba Sono contento di essere stato d'aiuto per te! =)
Terrance

Non riesco a installare il disordine per qualche motivo ... Scrivo sudo apt-get install uncluttere dice che non esiste un pacchetto di disordine. Qualche idea su come posso risolvere questo problema?
Kfirba,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.