USBキーボードが認識しない場合の対処法(コマンド)


はじめに

Windows 10でOSを再起動すると、USBキーボードが認識しなくなる場合の対処法。

症状

BIOS設定画面ではキーボードが使えるのに、Windowsログイン画面から使えなくなる。
そのため、ログインには「スクリーンキーボード」を用いてアカウント情報を入力することになる。。
症状からして、USBポートやキーボード自体ではなく、ドライバの問題と思われる。

デバイスマネージャを見ると、USB入力デバイスに案の定「!」マークがついている。

プロパティを開いてみると、「このデバイスを開始できません。(コード 10)」と表示されている。

だいたいの問題は、ドライバの削除をしてから再インストールすると直る。
が、今回遭遇した問題は例外だった。
再インストールしたその時は直るが、再起動するとまたキーボードが使えなくなる。

対処

根本対処がわからないため、ログイン時からキーボードが使えるように暫定対処する。

Windows Driver Kitのインストール

https://docs.microsoft.com/ja-jp/windows-hardware/drivers/download-the-wdk から「WDK」をダウンロードし、インストールする。
※2018/11/26現在、「EWDK の Windows 10、バージョン 1809 をダウンロードします。」というリンク表示となっている。

インストールすると、インストール先フォルダのC:\Program Files (x86)\Windows Kits\10\Tools\x64にdevcon.exeがあるため、これを使用する。

ハードウェアIDの確認

デバイスマネージャで、黄色い「!」マークがついているデバイスのプロパティで「詳細」タブを開く。
プロパティプルダウンから「ハードウェア ID」を選択し、値を確認する。

ここでは、「USB\VID_0853&PID_011D」がハードウェアID。

バッチファイルの作成

上で確認したハードウェアIDに対して、デバイスの無効→有効を行うコマンドを記述する。

"C:\Program Files (x86)\Windows Kits\10\Tools\x64\devcon.exe" disable "USB\VID_0853&PID_011D"
"C:\Program Files (x86)\Windows Kits\10\Tools\x64\devcon.exe" enable "USB\VID_0853&PID_011D"

1行目は無効化、2行目は有効化している。

タスクスケジューラへの登録

タスクスケジューラライブラリでタスクの作成を行う。
「全般」タブでは、「ユーザーがログインしているかどうかにかかわらず実行する」を選択する。

「トリガー」タブでは、タスクの開始を「スタートアップ時」にしたトリガーを新規追加する。

「操作」タブでは、先ほど作成したバッチファイルのパスを指定する。

最後に「OK」をクリックしてタスクを作成する。

これで、OSの再起動時にもUSBキーボードが認識されるようになる。