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
-
Le script a besoin de
xprintidle
:sudo apt-get install xprintidle
-
Copiez le script dans un fichier vide, enregistrez-le sous
mouse_toosensitive.py
-
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).
-
Testez-le en l'exécutant depuis une fenêtre de terminal avec la commande :
python3 /path/to/mouse_toosensitive.py
-
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"