量産メモ帳

忘れっぽいのでメモを残しています。浅く適当に書きます。

Windows 8 にアップグレードすると、キーボード配列が英語になってしまう問題を解決する。

スポンサーリンク

・・・実はまだ解決に取り組んでいる最中だ。


まず、以下の記事に書かれている「方法 1 : [キーボード デバイス] のドライバー ソフトウェアを更新する」を試してみた。

(一部加筆)

  1. チャームを表示します。*1
  2. チャームから [設定] をクリックまたはタップします。
  3. [コントロール パネル] をクリックまたはタップします。
  4. [ハードウェアとサウンド] をクリックまたはタップします。
  5. [デバイス マネージャー] をクリックまたはタップします。
  6. デバイス マネージャーが起動したら、[キーボード] の左側に表示されている右向き三角ボタンをクリックまたはタップして展開します。
  7. 展開されたキーボードデバイスをダブルクリックします。
  8. プロパティのダイアログ ボックスで [ドライバー] タブをクリックまたはタップして、[ドライバーの更新] ボタンをクリックまたはタップします。
  9. [コンピューターを参照してドライバー ソフトウェアを検索します] をクリックまたはタップします。
  10. [コンピューター上のデバイス ドライバーの一覧から選択します] をクリックまたはタップします。
  11. [互換性のあるハードウェアを表示] チェック ボックスをオンの状態からオフにします。
  12. [製造元] から [(標準キーボード)]、[モデル] から [日本語 PS/2 キーボード (106/109キー Ctrl+英数)] を選択して [次へ] ボタンをクリックまたはタップします。
  13. [ドライバーの更新警告] が表示された場合は [はい] ボタンをクリックまたはタップします。
  14. "ドライバー ソフトウェアが正常に更新されました" と表示されたら [閉じる] ボタンをクリックまたはタップします。
  15. プロパティのダイアログ ボックスに戻ったら、[閉じる] ボタンをクリックまたはタップします。
  16. 再起動を求められたら、[はい] ボタンをクリックしてコンピューターを再起動してください。再起動を求められなかった場合は、開いたダイアログ ボックスをすべて閉じて作業を終了します。
  17. 問題が解決したかどうか、キーボードから文字を入力して確認します。



その結果、最初に再起動した後は、キーボード配列が「106/109 日本語キーボード」になったけれども、2回目以降の再起動後は「101 英語キーボード」に戻ってしまった。
ちなみに、「方法 2 : キーボード レイアウトを日本語キーボードの設定に修正する」や、以下のようにレジストリを直接いじる方法もあるけど、「方法 1」に書かれている方法でやれば、レジストリが同様に変更されるので、基本的には不要だろう。



じゃあ、どうすれば良いのかと言うと、こちらの記事にヒントが書かれていた。

これらの症状は高速スタートアップを選択している状態(default)で、再起動をした時に起こりやすいように思います。高速スタートアップを選択しなくても、起動は早いので、このチェックを外してみてはいかがでしょうか?


コントロールパネル→電源オプション→電源ボタンの動作を選択する→現在利用可能ではない設定を変更します。→シャットダウン設定の高速スタートアップを有効にする のチェックを外します。


私はこのチェックを外してから、キーボードの配列の変化は経験しておりません。



これと似たような記事がもう一つある。

Windows 2000 を ACPI モードでインストールした場合、キーボードタイプを ACPI BIOS から取得するために、多くの PC では 101 キーボードとして表示されてしまいます。

この問題、実は Windows 8 でも起きているんじゃないだろうか?
以下の記事はまだ読みかけだけど、「高速スタートアップ」は ACPI モードとも関係があるのかも。



ともかく「高速スタートアップ」か「英語キーボード」かの二者択一はちょっとありえない。
折角、Windows 8 にアップグレードにしたのに残念だ。


2013/1/28 追記:
どうやら問題が解決したようだ。
「高速スタートアップ」を OFF にしたら、ログイン時のパスワード入力の時点でキーボード配列が日本語になっていた。
日本語キーボードにするために「高速スタートアップ」を諦めなければならないなんて、ちょっと残念仕様だなあ。。


2013/1/30 追記:
上で紹介した記事はあまり関係無かったので、取り消し線を引いた。
代わりに、こちらの記事を読んで納得した。

PNP デバイス ID は、コンピュータの ACPI BIOS が固有に所有している値であり、接続されている PS/2 キーボードの種類に依存するものではありません。



この PNP デバイス ID の確認方法は以下の通り。

以下の手順で ACPI BIOS で指定されているキーボード コントローラの PnP ID を確認することができます。

  1. [スタート] ボタンをクリックし、[ファイル名を指定して実行]*2 をクリックします。
  2. [名前] ボックスに 「msinfo32」(「」は除く) と入力し、[OK] をクリックします。
  3. [システム情報] の 以下のコンテナを選択します。
  4. PNP デバイス ID の項目を確認します。

PNP デバイス ID が ACPI\PNP0303\xxxxxxxxxxxx と表示される場合は、デバイス マネージャで「 101/102 英語キーボードまたは Microsoft Natural PS/2 キーボード」と表示されます。
PNP デバイス ID が ACPI\PNP0320\xxxxxxxxxxxx と表示される場合は、デバイス マネージャで「日本語 PS/2 キーボード (106/109 キー) 」と表示されます。



私の PC は ACPI\PNP0303\xxxxxxxxxxxx と表示されたので、やはり「高速スタートアップ」を使用すると、ACPI BIOS で指定されているキーボード配列が認識されてしまっているようだ。


まあ、ドライブ装置が SSD なら、「高速スタートアップ」じゃなくても10秒程度で起動できるので、困ってはいないけど。
思い起こせば、Windows Vista の時は SSD でも起動に20秒ぐらいはかかっていた気がするので、Windows 8 は普通に起動が速いのかもしれない。

2013/2/3 訂正:
「高速スタートアップ」を使わない従来のやり方だと、たとえ Windows 8 でも、起動と終了にそれぞれ1分前後かかってしまう。

*1:Windows ロゴ」+「I」キーで表示可能。

*2:Windows ロゴ」+「R」キーでショートカット起動可能。