web-dev-qa-db-fra.com

Masquer la souris après quelques secondes d'inactivité sur l'affichage X

J'ai une application de kiosque fonctionnant sur Ubuntu Server 14.04.3 avec Google Chrome et l'affichage X (xorg et xsession).

Actuellement, j'ai un script pour masquer la souris après 2 secondes d'inactivité et lorsque l'utilisateur tente de déplacer la souris, il apparaît. J'utilise simplement le cursor:none sur une superposition invisible injectée et supprime cette superposition si nécessaire.

Il semble que lorsque je démarre le kiosque, le code s'exécute comme prévu et je peux voir la superposition insérée, mais comme la souris était simplement "chargée", elle ne disparaîtra pas tant que je n'aurai même pas fait un mouvement mineur avec elle. Il semble que le navigateur ne détecte pas la souris jusqu'à ce que je fasse un petit mouvement, ce qui fait que la souris est affichée au milieu de l'écran. Puisque le problème n'est pas lié à mon code, il semble fonctionner correctement.

Ce que je veux faire, c'est que si la souris n'a pas été déplacée pendant 2 secondes, cachez-la. Lorsque l'utilisateur tente de déplacer la souris, affichez-la à nouveau. La solution doit fonctionner immédiatement après le démarrage de l'affichage X. Par conséquent, lorsque je lance l'affichage X, la souris est au milieu de l'écran et même si je ne le touche pas au démarrage, elle disparaît après 2 secondes d'inactivité. Je suppose que je dois atteindre cet objectif en bricolant l'affichage X au lieu de me fier à mon code, car la souris n'est pas détectée lorsque le kiosque est fraîchement démarré.

Est-il possible de faire une telle chose avec l'affichage X?

8
kfirba

Il existe une application appelée unclutter qui le fera. Installez-le en tapant ce qui suit dans une fenêtre de terminal:

Sudo apt-get install unclutter

une fois installé, vous pouvez modifier le délai d’attente à 2 secondes dans le fichier suivant:

/etc/default/unclutter

et changez la ligne suivante:

EXTRA_OPTS="-idle 1 -root"

à

EXTRA_OPTS="-idle 2 -root"

cela démarre aussi automatiquement au démarrage du système.

Pour qu'il démarre maintenant sans redémarrer le système, tapez ce qui suit:

Nohup unclutter -idle 2 &

EDIT:

S'il n'est pas trouvé pour l'installation, éditez votre fichier /etc/apt/sources.list et assurez-vous que les lignes suivantes ne sont pas commentées # out:

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

S'ils sont commentés, supprimez le # au début de la ligne, puis exécutez Sudo apt-get update pour mettre à jour les référentiels, puis réexécutez le Sudo apt-get install unclutter.

Si j'exécute les commandes suivantes, nous pouvons voir que l'application unclutter provient des référentiels trusty universe.

:~$ 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 <[email protected]>
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 <[email protected]>
Homepage: ftp://ftp.x.org/contrib/utilities/

J'espère que cela t'aides!

13
Terrance