マウスとキーボードの調整

入力キューの拡大、応答しない入力フックによるフリーズの短縮、キーリピートの待ち時間の短縮。どれもクリックを早く届けるものではありません。

このセクションで変わること

入力キューの拡大、応答しない入力フックによるフリーズの短縮、キーリピートの待ち時間の短縮。どれもクリックを早く届けるものではありません。

設定内容レジストリのパス
マウスのデータ キューのサイズマウス クラス ドライバーのレポート バッファーを 100 から 150 に増やします。レイテンシは短くなりません。読み取りスレッドが止まったときに、高レートのマウスがレポートを失わないようにするものです。mouhid にも書き込みますが、そこではこの値を読み取るものは見つかっていません。HKLM\...\Services\mouclass + mouhid\Parameters\MouseDataQueueSize
キーボードのデータ キューのサイズキーボード クラス ドライバーのキー レポート バッファーを 100 から 150 に増やします。レイテンシは短くなりません。入力の取りこぼしに対する余裕を持たせるものです。kbdhid にも書き込みますが、そこではこの値を読み取るものは見つかっていません。HKLM\...\Services\kbdclass + kbdhid\Parameters\KeyboardDataQueueSize
応答しない入力フックがマウスを止める時間を制限するWindows は、応答しなくなった入力フックをこのタイムアウトが切れた時点でスキップします。これを 1 秒に設定します。Windows 10 1709 以降で設定できる最大値です。未設定時の既定値は公開されておらず、測定もしていません。負荷時に遅いフックも外れることがあります。そのツールを再起動すると元に戻ります。HKCU\Control Panel\Desktop\LowLevelHooksTimeout
キーリピートの待ち時間を最短にするキーを押し続けてからリピートが始まるまでの 0.5 秒の待ち時間を 250 ms (最短) に縮め、リピートの間隔を最速にします。ゲーム内の単発の入力はこれを通りません。効果が出るのはコンソール、チャット、メニューです。入力時に反応しすぎる場合は「Fix」ページで元に戻せます。HKCU\Control Panel\Keyboard\KeyboardDelay + KeyboardSpeed

適用方法

  1. w0a を開きます
  2. 左のメニューでレジストリ調整ページを開きます
  3. このセクションを見つけ、適用したい項目の適用を押します

項目ごとにボタンがあるため、セクション全体を適用する必要はありません。すべてを適用したいときは、ページ上部のすべて適用を使います。

元に戻す方法

方法は 2 つあり、どちらも機能します:

元に戻すためのログは、ユーザー プロファイルの外にある %ProgramData%\w0a\backup.json に保存されています。

リスク

ここにあるものはすべて、Windows がサポートしている文書化された値です。カーネル レベルのものはなく、元に戻せないものもありません。それでも、正直に言うべきことはこれです: 設定によっては、お使いの PC で測定できる効果がない場合があります。 変更を適用しても違いを感じないなら、おそらくその感覚は正しいです。これらのページは感覚を売っているのではなく、何が変更されたかをお伝えしています。

測定したい場合は、ベンチマークの読み方のルールが当てはまります: 一度に変えるのは 1 つだけにし、平均ではなく Low を見てください。

まず、正直なところ

4 つの項目のどれも、クリックやキー入力がゲームに届くのを早めるものではありません。2 つはバッファーを深くし、入力を読み取るスレッドが止まったときに入力が失われにくくします。1 つは、応答しなくなった入力フックがマウスとキーボードをフリーズさせられる時間を短くします。1 つは、押し続けたキーの動作を変えます。どれかが試合を変えるかどうかは測定していません: 失われたマウス レポートを、大きいキューがある場合とない場合で数えたことは一度もなく、フックのタイムアウトが意味を持つのは、フックが応答しなくなってからだけです。

項目ごとの説明

マウスのデータ キューのサイズ: HKLM\SYSTEM\CurrentControlSet\Services\mouclass\Parameters に MouseDataQueueSize=150 (REG_DWORD) を書き込み、HKLM\SYSTEM\CurrentControlSet\Services\mouhid\Parameters にも同じ値を書き込みます。クラス ドライバーの既定値は 100 で、クリーンな Windows では mouhid に値はありません。これはキューの深さであり、レイテンシの設定ではありません: キューを小さくしてもレポートを早く渡すことはできず、何かが一時的にキューからの取り出しを止めたときに、レポートを早い段階で失うだけです。8000 Hz のマウスでは、失われたレポートはそのまま入力が失われたことを意味します。150 は、キューのメモリをコストのかからないものとは見なさない範囲で持たせた余裕です。この値を読み取ることがわかっているのは mouclass だけです: mouhid.sys (10.0.26100.1) をスキャンしてもこの名前は見つからず、mouhid への書き込みは測定するまで残しています。値はドライバーの読み込み時に読み取られるため、再起動後に有効になります。

キーボードのデータ キューのサイズ: キーボードについて同じことを行います。HKLM\SYSTEM\CurrentControlSet\Services\kbdclass\Parameters と HKLM\SYSTEM\CurrentControlSet\Services\kbdhid\Parameters に KeyboardDataQueueSize=150 (REG_DWORD) を書き込みます。既定値は kbdclass では 100 で、kbdhid には何もありません。kbdhid.sys にもこの名前は含まれていません。再起動後に有効になります。

応答しない入力フックがマウスを止める時間を制限する: HKCU\Control Panel\Desktop に LowLevelHooksTimeout=1000 (REG_DWORD、ミリ秒) を書き込みます。オーバーレイ、マクロ ツール、チャット プログラムは低レベル フックをインストールし、すべての入力イベントがそれを 1 つずつ通過します。Microsoft の文書によると、この時間内に戻らないフックはスキップされ (Windows 7 以降では通知なしに削除されます)、Windows 10 1709 以降では 1,000 ms が Windows で設定できる最大値です。1 秒は、単に忙しいだけのフックには十分に長く、応答しなくなったフックがフリーズとして感じられない程度に短い時間です。トレードオフ: 負荷時に遅いだけのフックも外れることがあります。そのツールを再起動すると元に戻ります。Windows の既定では値はありません。その場合に Windows がどれだけ待つのかを Microsoft は明らかにしておらず、測定もしていません。サインアウトしてサインインし直すと有効になります。

キーリピートの待ち時間を最短にする: HKCU\Control Panel\Keyboard に KeyboardDelay="0" と KeyboardSpeed="31" を書き込みます。どちらも REG_SZ です。Windows の出荷時の値は "1" と "31" です。Microsoft によると、0 は約 250 ms、31 は 1 秒あたり約 30 回のリピートに相当し、実際の値はハードウェアによって変わります。文字列で書き込むのは、上から DWORD を書き込むと Windows がそれを無視するためです。KeyboardSpeed は既定値の 31 であっても書き込みます: アクセシビリティのプロファイルによって、それより低い値のまま残っていることがあるためです。サインアウトしてサインインし直すと有効になります。

自分で確認する方法

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 は DWORD を 16 進数で表示します: 150 は 0x96、100 は 0x64、1000 は 0x3e8 です。mouhid や kbdhid に値がないこと、または LowLevelHooksTimeout がないことは、クリーンな Windows の状態です。

このセクションが行わないこと

ポインターの速度には触れません。以前は、MouseSensitivity をスケーリングなしの 6/11 の目盛りに固定する項目があり、ユーザーが選んだ速度を上書きしていました。生入力 (Raw Input) を読み取るゲームがこの値を見ることはないため、ゲーム内では何も変わらず、ゲームの外ではすべてが変わってしまいました。そのため削除しました。

キューを小さくすることは決してありません。以前のビルドは、より深いキューをうたうラベルのまま、既定値の 100 を下回る 20 を書き込んでいました。キューが小さくてもレポートを早く届けることはできず、早く失うだけです。

このページの範囲外

「Fix」ページでは、入力キューが 2 つのキューの値を元に戻します。キーリピートの間隔と待ち時間は、マウスには触れずにリピートの 2 つの値を復元します。ウィンドウのフォーカスと補助ツールはフックのタイムアウトを削除します。マウス、キーボード、タッチパッドは 2 つのキューの値とリピートの 2 つの値を復元し、さらにポインターの加速とタッチパッドもリセットします。マウスの加速は「最適化」ページにある別の項目で、マウスの加速を無効にする (エイムを一定に)です。クリックが遅れて感じる場合は、エイムが遅れて感じる理由とゲームでキー入力が遅れて感じる理由で経路全体を説明しています。

ゲームに影響する Windows の設定はどれか、それぞれが誰に役立ち、誰には何の効果もないのか: ゲーム向けに Windows 11 を最適化する方法: 本当に意味のある設定

w0a は、指示されるまで Windows の設定を変更しません。また調整は、新しい値を書き込む前に元の値を保存します。 通知を受け取る

このページは役に立ちましたか?

何が足りなかったか、何がうまくいかなかったかを教えてください。いただいた内容はすべて読んでいます。

送信されるのは、入力した内容とこのページの名前だけです。サーバーは不正利用を防ぐために接続元の IP アドレスも記録し、報告と一緒に削除します。16 歳未満の方は、この欄を使わないでください。 プライバシー ポリシー

このページで解決しなかった場合は、ご連絡ください。どの記事を読んだかを書いていただければ、その記事を修正します。