GNU/Linux >> Tutoriels Linux >  >> Ubuntu

La souris est trop sensible - perturbe le sommeil ?

J'ai acheté une souris gamer avec 8200dpi. Cependant, lorsque je l'utilise sous Linux, j'ai un problème. Lorsque je n'utilise pas le PC ou ne regarde pas de vidéo, la souris génère parfois de courts mouvements en réponse au toucher de la table ou même aux personnes qui marchent dans la pièce. Ces réponses mettent fin à l'écran de veille et provoquent l'affichage de l'interface graphique du lecteur vidéo. C'est ennuyeux.
Que puis-je faire pour le contrer ?

Réponse acceptée :

Une solution possible est le script d'arrière-plan ci-dessous.

Ce qu'il fait

  • Après un temps d'inactivité (arbitraire), le script désactivera la souris, la rendant insensible à tout ce que vous en ferez. Je définirais ce délai relativement court, afin qu'il y ait peu de risque de perturbation entre les deux.
  • Une simple frappe au clavier (toutefois) réactivera la souris.

Depuis xprintidle est déclenché par des événements de souris ou de clavier (et non par ce qui se passe à l'écran), le script ne sera pas perturbé par ex. lecture d'un film.

De cette façon, vous n'aurez pas à craindre qu'une action indésirable de la souris ne perturbe quoi que ce soit, tout en conservant un accès facile aux commandes et à votre ordinateur.

Comme toujours (et comme il se doit avec les scripts d'arrière-plan), le script est écrit de manière à ne consommer pratiquement aucune ressource.

Le scénario

#!/usr/bin/env python3
import subprocess
import time
# ---
# set your device (mouse), as found from the command: xinput list
device = 8
# set the desired idle time (in seconds) to disable the mouse
set_idletime = 5
# ---

# don't change anything below
idle1 = 0

while True:
    time.sleep(1)
    idle2 = int(int(subprocess.check_output(["xprintidle"]).decode("utf-8").strip())/1000)
    if all([idle1 <= set_idletime, idle2 > set_idletime]):
        subprocess.Popen(["xinput", "set-prop", str(device), "Device Enabled", "0"])
    elif idle2 < idle1:
        subprocess.Popen(["xinput", "set-prop", str(device), "Device Enabled", "1"])
    idle1 = idle2

Comment utiliser

  1. Le script a besoin de xprintidle :

    sudo apt-get install xprintidle
    
  2. Copiez le script dans un fichier vide, enregistrez-le sous mouse_toosensitive.py

  3. Découvrez le périphérique (numéro, entier) de votre souris en lançant dans un terminal :

    xinput list
    

    Dans la section d'en-tête du script, définissez à la fois le numéro de l'appareil et le temps d'inactivité souhaité (voir l'explication dans le script).

  4. Testez-le en l'exécutant depuis une fenêtre de terminal avec la commande :

    python3 /path/to/mouse_toosensitive.py
    
  5. Si tout fonctionne bien, ajoutez-le à vos applications de démarrage :Dash> Startup Applications> Add the command :

    /bin/bash -c "sleep 15 && python3 /path/to/mouse_toosensitive.py"
    

Ubuntu
  1. Décalage de la souris après la mise à niveau vers Ubuntu 14.04 ?

  2. Ubuntu 17.10 - La souris ne s'affiche pas dans Xinput ?

  3. La souris cesse constamment de fonctionner ?

  4. La tâche Cron ne s'exécute pas ?

  5. Comment exécuter un script ? ?

Comment écrire un script shell dans Ubuntu

Comment configurer les paramètres de la souris dans Ubuntu

Script au démarrage ?

Comment activer Super+scroll pour zoomer ?

Option piste de souris ?

Réveillez-vous du sommeil uniquement par l'activité du clavier/souris Ubuntu 18.04 ?