GNU/Linux >> Znalost Linux >  >> Ubuntu

Je myš příliš citlivá – narušuje spánek?

Koupil jsem si herní myš s 8200 dpi. Nicméně, když to používám v Linuxu, mám problém. Když nepoužívám počítač nebo nesleduji video, myš někdy generuje krátké pohyby v reakci na dotyk stolu nebo dokonce lidí, kteří jdou v místnosti. Tyto odpovědi ukončí spořič obrazovky a způsobí zobrazení grafického uživatelského rozhraní přehrávače videa. To je nepříjemné.
Co mohu udělat, abych tomu zabránil?

Přijatá odpověď:

Možným řešením je níže uvedený skript na pozadí.

Co to dělá

  • Po (libovolné) době nečinnosti skript deaktivuje myš, takže nebude citlivá na to, co s ní uděláte. Nastavil bych to relativně krátce, takže mezi tím je malá pravděpodobnost rušení.
  • Jednoduchý stisk klávesy (jakýkoli) znovu aktivuje myš.

Od xprintidle je spouštěn buď událostmi myši nebo klávesnice (ne tím, co se děje na obrazovce), skript nebude rušen např. přehrávání filmu.

Díky tomu se nebudete muset bát, že nechtěná akce myši cokoli naruší, a přitom budete mít stále snadný přístup k ovládacím prvkům a počítači.

Jako vždy (a jak by to mělo být u skriptů na pozadí) je skript napsán tak, že nespotřebovává prakticky žádné zdroje.

Skript

#!/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

Jak používat

  1. Skript potřebuje xprintidle :

    sudo apt-get install xprintidle
    
  2. Zkopírujte skript do prázdného souboru a uložte jej jako mouse_toosensitive.py

  3. Zjistěte zařízení (číslo, celé číslo) vaší myši spuštěním v terminálu:

    xinput list
    

    V sekci head skriptu nastavte jak číslo zařízení, tak požadovanou dobu nečinnosti (viz vysvětlení ve skriptu).

  4. Test - spusťte jej spuštěním z okna terminálu pomocí příkazu:

    python3 /path/to/mouse_toosensitive.py
    
  5. Pokud vše funguje dobře, přidejte jej do spouštěcích aplikací:Dash> Startup Applications> Přidat příkaz:

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

Ubuntu
  1. Předávání písma jako argumentu skriptu?

  2. Cron úloha se neprovádí?

  3. Jak spustit skript??

  1. spouštěcí skript utorrent / spouštění utorrentu při spouštění – Ubuntu 14.04 / 14.10

  2. Prodleva myši po upgradu na Ubuntu 14.04?

  3. Ubuntu 17.10 – myš se v Xinput nezobrazuje?

  1. Jak spustit skript Bash {7 metod}

  2. Myš neustále přestává fungovat?

  3. Ukazatel myši bliká?