Tweaky myši a klávesnice

Větší vstupní fronty, kratší zamrznutí při zaseknutém vstupním hooku, kratší prodleva opakování kláves. Nic z toho nezpůsobí, že kliknutí dorazí dřív.

Co tahle sekce mění

Větší vstupní fronty, kratší zamrznutí při zaseknutém vstupním hooku, kratší prodleva opakování kláves. Nic z toho nezpůsobí, že kliknutí dorazí dřív.

NastaveníCo děláCesta v registru
Velikost datové fronty myšiZvětší buffer reportů ovladače třídy myši ze 100 na 150. Latenci nezkracuje; brání myši s vysokou frekvencí ztrácet reporty, když se čtecí vlákno zadrhne. Zapisuje se i do mouhid, kde se nenašlo nic, co by to četlo.HKLM\...\Services\mouclass + mouhid\Parameters\MouseDataQueueSize
Velikost datové fronty klávesniceZvětší buffer reportů kláves ovladače třídy klávesnice ze 100 na 150. Latenci nezkracuje; nechává rezervu proti ztrátě vstupu. Zapisuje se i do kbdhid, kde se nenašlo nic, co by to četlo.HKLM\...\Services\kbdclass + kbdhid\Parameters\KeyboardDataQueueSize
Omezit, jak dlouho může zaseknutý vstupní hook blokovat myšWindows přeskočí vstupní hook, který přestal odpovídat, jakmile vyprší tento časový limit; tohle ho nastaví na jednu sekundu, maximum, které Windows 10 1709 a novější povolí. Výchozí hodnota bez nastavení není zdokumentovaná a neměřila se. Hook, který je jen pomalý pod zátěží, může být zahozen taky; restart jeho nástroje ho vrátí.HKCU\Control Panel\Desktop\LowLevelHooksTimeout
Zkrátit prodlevu opakování kláves na nejkratší stupeňZkrátí půlsekundové čekání, než se držená klávesa začne opakovat, na 250 ms (nejkratší stupeň) a nastaví nejrychlejší opakování. Jednotlivé stisky ve hře tudy nikdy neprocházejí; projeví se to v konzoli, v chatu a v nabídkách. Moc horlivé při psaní? Vrať to na stránce Fix.HKCU\Control Panel\Keyboard\KeyboardDelay + KeyboardSpeed

Jak to použít

  1. Otevři w0a
  2. V levém menu přejdi na stránku Regedit tweaky
  3. Najdi tuhle sekci a stiskni Použít u položek, které chceš

Každá položka má vlastní tlačítko, takže nemusíš použít celou sekci — a nahoře na stránce je Použít vše pro případ, že opravdu chceš všechny.

Jak to vrátit zpět

Dvě cesty, a fungují obě:

všechno, co bylo použito po tom bodě, včetně pozdějších kontrolních bodů — potvrzovací okno to přesně tak říká, ještě než se začne.

Nečte žádnou zálohu, takže funguje, i když je vlastní zálohovací soubor w0a pryč.

Protokol pro vracení zpět leží v %ProgramData%\w0a\backup.json, mimo tvůj uživatelský profil.

Riziko

Všechno tady je dokumentovaná hodnota, kterou Windows podporují; nic z toho není na úrovni jádra a nic z toho není nevratné. Poctivá věta přesto zůstává tahle: nastavení pro tebe nemusí mít žádný měřitelný přínos. Když změnu použiješ a necítíš žádný rozdíl, nejspíš máš pravdu — tyhle stránky ti neprodávají pocit, říkají ti, co se změnilo.

Pokud to chceš změřit, platí pravidlo ze stránky čtení výsledku benchmarku: měň jednu věc po druhé a čti lows místo průměru.

Nejdřív upřímná věta

Žádné ze čtyř políček nezpůsobí, že kliknutí nebo stisk klávesy dorazí do hry dřív. Dvě prohlubují buffer, takže se vstup méně často ztratí, když se vlákno, které ho čte, zadrhne; jedno zkracuje dobu, po kterou může zaseknutý vstupní hook zmrazit myš a klávesnici; jedno mění, co dělá držená klávesa. Zda kterékoli z nich mění zápas, změřeno nebylo: ztracené reporty myši se s větší frontou a bez ní nikdy nepočítaly a časový limit hooku hraje roli, až když nějaký hook přestal odpovídat.

Políčko po políčku

Velikost datové fronty myši — zapisuje MouseDataQueueSize=150 (REG_DWORD) pod HKLM\SYSTEM\CurrentControlSet\Services\mouclass\Parameters a totéž pod HKLM\SYSTEM\CurrentControlSet\Services\mouhid\Parameters. Výchozí hodnota ovladače třídy je 100 a čistá instalace Windows pod mouhid žádnou hodnotu nemá. Je to hloubka fronty, ne nastavení latence: menší fronta nemůže report předat dřív, jen začne reporty zahazovat dřív, když ji něco na chvíli přestane vyprazdňovat, a u myši s 8000 Hz je zahozený report ztracený vstup. 150 je rezerva, která paměť fronty nebere jako zadarmo. Ví se jen, že hodnotu čte mouclass; prohledání mouhid.sys (10.0.26100.1) takové jméno nenajde a tento zápis zůstává, dokud se nezměří. Čte se při načtení ovladače: projeví se po restartu.

Velikost datové fronty klávesnice — totéž pro klávesnici: KeyboardDataQueueSize=150 (REG_DWORD) pod HKLM\SYSTEM\CurrentControlSet\Services\kbdclass\Parameters a HKLM\SYSTEM\CurrentControlSet\Services\kbdhid\Parameters. Výchozí hodnota je 100 u kbdclass a nic pod kbdhid; ani kbdhid.sys takové jméno neobsahuje. Projeví se po restartu.

Omezit, jak dlouho může zaseknutý vstupní hook blokovat myš — zapisuje LowLevelHooksTimeout=1000 (REG_DWORD, milisekundy) pod HKCU\Control Panel\Desktop. Overlaye, nástroje na makra a chatovací programy instalují nízkoúrovňové hooky, kterými prochází každá vstupní událost, jedna po druhé. Microsoft dokumentuje, že hook, který se v tomto čase nevrátí, se přeskočí — ve Windows 7 a novějších se potichu odstraní — a že od Windows 10 1709 je 1000 ms nejvíc, co Windows dovolí. Sekunda je dost dlouhá pro hook, který je jen zaneprázdněný, a dost krátká, aby se zaseknutý hook neprojevil jako zamrznutí. Výměna: hook, který je pod zátěží jen pomalý, může být zahozen taky; restart toho nástroje ho vrátí. Výchozí stav Windows je žádná hodnota. Jak dlouho Windows potom čeká, Microsoft neuvádí a my jsme to neměřili. Projeví se po odhlášení a opětovném přihlášení.

Zkrátit prodlevu opakování kláves na nejkratší stupeň — zapisuje KeyboardDelay="0" a KeyboardSpeed="31", obojí jako REG_SZ, pod HKCU\Control Panel\Keyboard. Windows se dodává s "1" a "31". Microsoft uvádí pro 0 zhruba 250 ms a pro 31 zhruba 30 opakování za sekundu, skutečné hodnoty závisí na hardwaru. Řetězce proto, že DWORD zapsaný místo nich Windows ignoruje. KeyboardSpeed se zapisuje i při výchozí hodnotě 31: profil usnadnění přístupu ji může nechat nižší. Projeví se po odhlášení a opětovném přihlášení.

Jak si to ověřit sám

reg query "HKLM\SYSTEM\CurrentControlSet\Services\mouclass\Parameters" /v MouseDataQueueSize
reg query "HKLM\SYSTEM\CurrentControlSet\Services\mouhid\Parameters" /v MouseDataQueueSize
reg query "HKLM\SYSTEM\CurrentControlSet\Services\kbdclass\Parameters" /v KeyboardDataQueueSize
reg query "HKLM\SYSTEM\CurrentControlSet\Services\kbdhid\Parameters" /v KeyboardDataQueueSize
reg query "HKCU\Control Panel\Desktop" /v LowLevelHooksTimeout
reg query "HKCU\Control Panel\Keyboard" /v KeyboardDelay
reg query "HKCU\Control Panel\Keyboard" /v KeyboardSpeed

reg query vypisuje DWORD šestnáctkově: 150 je 0x96, 100 je 0x64, 1000 je 0x3e8. Žádná hodnota pod mouhid nebo kbdhid nebo chybějící LowLevelHooksTimeout odpovídá čisté instalaci Windows.

Co tato sekce nedělá

Nesahá na rychlost ukazatele. Jedno políčko kdysi vnucovalo MouseSensitivity neškálovaný stupeň 6/11 a přepisovalo rychlosti, které si lidé zvolili. Hry, které čtou surový vstup, tuto hodnotu nikdy nevidí, takže ve hře neměnilo nic a mimo hru všechno; bylo odstraněno.

Nikdy frontu nezmenšuje. Dřívější sestava zapisovala 20, méně než výchozích 100, pod popiskem slibujícím hlubší frontu; menší fronta nemůže report doručit dřív, jen ho dřív ztratit.

Mimo tuto stránku

Na stránce Fix karta Vstupní fronty vrátí obě hodnoty front; Rychlost a prodleva opakování kláves obnoví dvojici hodnot pro opakování, aniž by sahala na myš; Fokus oken a pomocné nástroje smaže časový limit hooku; Myš, klávesnice a touchpad obnoví fronty i dvojici pro opakování a navíc resetuje akceleraci ukazatele a touchpad. Akcelerace myši je samostatné políčko na stránce Optimalizace, Vypnout akceleraci myši (konzistentní míření). Pokud ti kliknutí připadá opožděné, Proč mi míření připadá opožděné a Proč mi stisky kláves ve hře přicházejí pozdě projdou celý řetězec.

Která nastavení Windows ve hře něco mění, komu které pomůže a komu neudělá nic: Herní nastavení Windows 11, na kterých opravdu záleží

w0a nezmění žádné nastavení Windows, dokud o to nepožádáš, a tweak si před zápisem nové hodnoty uloží tu starou. Upozornit mě

Pomohla ti tahle stránka?

Co chybělo, nebo co nefungovalo? Čteme každou jednu takovou zprávu.

Jestli tahle stránka problém nevyřešila, napiš nám — uveď, který článek jsi četl, a my ten článek opravíme.