Masquage de la souris après quelques secondes d'inactivité sur l'écran X


9

J'ai une application kiosque fonctionnant sur Ubuntu Server 14.04.3 avec affichage Google Chrome et 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. Je mets simplement à profit le cursor:nonesur 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 vient d'être "chargée", elle ne disparaîtra pas tant que je ne ferai même qu'un petit mouvement avec. Il semble que le navigateur ne détecte pas la souris jusqu'à ce que je fasse un mouvement, même mineur, avec pour résultat que la souris soit affichée au milieu de l'écran. Étant donné que le problème n'est pas lié à mon code car il semble s'exécuter très bien.

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, montrez-la à nouveau. La solution doit fonctionner immédiatement après le démarrage de l'écran X, donc lorsque je démarre l'écran X, la souris est au milieu de l'écran et même si je ne la touche pas au démarrage, elle disparaîtra après 2 secondes d'inactivité. Je suppose que je dois y parvenir en bricolant avec l'affichage X au lieu de compter sur 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?

Réponses:


14

Il existe une application appelée unclutterqui 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'expiration à 2 secondes dans le fichier suivant:

/etc/default/unclutter

et modifiez la ligne suivante:

EXTRA_OPTS="-idle 1 -root"

à

EXTRA_OPTS="-idle 2 -root"

cela démarre également automatiquement lorsque le système démarre.

Pour le faire démarrer maintenant sans redémarrage du système, tapez ce qui suit:

nohup unclutter -idle 2 &

ÉDITER:

S'il n'est pas trouvé pour l'installation, modifiez votre /etc/apt/sources.listfichier et assurez-vous que les lignes suivantes ne sont pas mises #en commentaire :

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 mis en commentaire, supprimez le #sur le devant de la ligne, puis exécutez sudo apt-get updatepour 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' unclutterapplication provient des trusty universeréférentiels.

:~$ 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/

J'espère que cela t'aides!


Je vais vérifier cela! Je ne peux pas croire qu'une solution aussi simple soit juste sous mon nez :) Au fait, quand vous dites "créer une startup", vous voulez dire créer un fichier dans le init.ddossier?
kfirba

@kfirba Mis à jour pour les capacités de démarrage automatique.
Terrance

merci d'avoir édité ça! Je vous répondrai sous peu avec les résultats :)
kfirba

@kfirba Heureux d'avoir pu vous aider! =)
Terrance du

Je ne peux pas installer unclutter pour une raison quelconque ... Je tape sudo apt-get install unclutteret il indique qu'il n'y a pas de paquet unclutter. Avez-vous des idées pour résoudre ce problème?
kfirba
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.