He comprado un ratón para juegos con 8200 ppp. Sin embargo, cuando lo uso en Linux tengo un problema. Cuando no uso la PC o veo un video, el mouse a veces genera movimientos cortos en respuesta a tocar la mesa o incluso a las personas que caminan en la habitación. Esas respuestas finalizan el protector de pantalla y hacen que se muestre la GUI del reproductor de video. Esto es molesto.
¿Qué puedo hacer para contrarrestarlo?
Respuesta aceptada:
Una posible solución es la secuencia de comandos de fondo a continuación.
Qué hace
- Después de un tiempo de inactividad (arbitrario), el script deshabilitará el mouse, haciéndolo insensible a cualquier cosa que haga con él. Establecería esto relativamente corto, por lo que hay pocas posibilidades de perturbación en el medio.
- Sin embargo, una simple pulsación de tecla (cualquiera) habilitará el mouse nuevamente.
Desde xprintidle
se desencadena por eventos del mouse o del teclado (no por lo que sucede en la pantalla), el script no se verá afectado por, p. reproduciendo una película.
De esa manera, no tendrá que temer que una acción no deseada del mouse interrumpa nada, mientras aún tiene fácil acceso a los controles y a su computadora.
Como siempre (y como debería ser con los scripts de fondo), el script está escrito de tal manera que prácticamente no consume recursos.
El guión
#!/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
Cómo usar
-
El script necesita
xprintidle
:sudo apt-get install xprintidle
-
Copie el script en un archivo vacío, guárdelo como
mouse_toosensitive.py
-
Averigüe el dispositivo (número, número entero) de su mouse ejecutando en una terminal:
xinput list
En la sección principal del guión, establezca tanto el número de dispositivo como el tiempo de inactividad deseado (vea la explicación en el guión).
-
Pruébelo:ejecútelo desde una ventana de terminal con el comando:
python3 /path/to/mouse_toosensitive.py
-
Si todo funciona bien, agréguelo a sus aplicaciones de inicio:Dash> Aplicaciones de inicio> Agregue el comando:
/bin/bash -c "sleep 15 && python3 /path/to/mouse_toosensitive.py"