Life Up

Windows10で外付けキーボードのJIS・US配列を再起動なしで変更!KeePass対応版

Windows10で外付けキーボードのJIS・US配列を再起動なしで変更する方法!KeePass対応版Life Up
この記事は約10分で読めます。
スポンサーリンク
しゃお
しゃお

外付けの日本語・英語キーボードを再起動なしで替えたい

D君
D君

アプリを使えばすぐにできるよ。

しゃお
しゃお

あれ、KeePassの自動入力がおかしい。。。

こんにちは、自称セキュリティ向上委員のしゃおです。

 

我が家では、外付けの日本語キーボード(JIS配列)と英語キーボード(US配列)を使うことがあるのですが、キーボードを変更するのに毎回再起動をしていました。

 

正直、すごく面倒くさい。。。(Microsoftさん、なんとかしてください!)

 

Microsoftさんが忙しい(解決してくれない)ようなので、Googleさんを活用してみたら、アプリ+一工夫で自己解決できたので、方法をまとめておきます。

 

Windos10でキーボード配列を変更する一般的な方法

スタートメニュー(Windowsキー) > 設定

Windows10_Windows設定

時刻と言語」をクリック

 

Windows10_時刻と言語

左から「言語」をクリック

 

Windows10_優先する言語から日本語オプション

優先する言語で「日本語」を一度クリックし、「オプション」を選択

 

Windows10_言語のオプション_ハードウェアキーボードレイアウト

レイアウトを変更する」をクリック

 

Windows10_ハードウェアキーボードレイアウトの変更_日本語キーボード(106・109キー)

現在の「日本語キーボード(106/109キー)」から「英語キーボード(101/102キー)」を選択

 

Windows10_ハードウェアキーボードレイアウトの変更_英語キーボード(101・102キー)

英語キーボードを選択すると、「変更はPCの再起動後に有効に有効になります。」と出るので、「今すぐ再起動する」を選択

※アプリケーション等保存していないものは事前に保存して閉じておきましょう。

 

Windows10_再起動後、キーボードレイアウトが英語キーボードに変更されていることを確認

再起動後、ハードウェアキーボードレイアウトを見てみると、「英語キーボード(101/102キー)」に変更されていることを確認

 

しゃお
しゃお

だがしかし、毎回再起動なんてやってられない!

 

キーボードレイアウト変更での目標(やりたいこと)

目標達成の条件
  • 外付け日本語・英語(JIS配列とUS配列)キーボードの共存

 または

  • 再起動なしで、キーボードレイアウトの変更

 

内蔵&外付け日本語・英語(JIS配列とUS配列)キーボードの共存

日本語・英語キーボードをPCに接続した段階で、PCが自動判別してそれぞれJIS・US配列と見なしてくれることが1番望ましいので、共存から試していきます。

 

実際に試したこと

ググってみると、やりたいことに近い記事が出てきました。

Windows 10(1909)で日本語キーボード(内臓)と英語キーボード(USB)を同時に使用するためのメモ書き

 

画像付きのやさしい説明はQiitaにあります。

【Windows10 1909】レジストリをいじってJIS配列とUS配列を共存させる- Qiita

 

記事の内容としては、

  • ノートPCの日本語キーボード(内蔵
  • 外付け英語キーボード(USB)

内蔵+外付け」キーボードの共存(同時使用)で、私は「2つとも外付け」キーボードですが、一応試してみました。

 

しゃお
しゃお

以下、内蔵キーボードと外付けキーボードの場合

レイアウトを英語キーボードへ変更

上記「Windos10でキーボード配列を変更する一般的な方法」を参照

 

キーボードのデバイスインスタンスパスを調べる

Windows10_デバイスマネージャー

Windowsキー > 「デバイスマネージャー」と検索

しゃお
しゃお

私は「で」のみの入力で出てきました。

Windows10_デバイスマネージャーからキーボードを選択

画像では、Bluetoothキーボードを2つ接続しているので、どれが調べたいキーボードか分かりません

 

Windows10_接続しているキーボードすべて抜く

一度すべてのUSBレシーバ(トングル)を抜くと、1つ残りました。

画像のように残っている場合は、過去に接続したキーボードです。

 

HIDキーボードデバイスを右クリック > プロパティから

Windows10_HIDキーボードのプロパティ_詳細_デバイスインスタンスパス

詳細」タブ > 「デバイスインスタンスパス」を選択

 

Windows10_元々入っていたHIDキーボードデバイス

デバイスインスタンスパスの「」をコピーしてテキストエディタなどに貼付け or SnippingToolなどで画像として残しておきます。

(残っているHIDキーボードを使うことがなければ「デバイスのアンインストール」で削除しても問題ありません)

 

つづいて、JIS配列のキーボードを差し込み

Windows10_JIS配列のキーボードを接続し、デバイスインスタンスパスを確認

先ほどと同様、デバイスインスタンスパスを控えておく(=JIS配列キーボードのデバイスインスタンスパス)

 

レジストリエディターからシステム標準キーボード設定を削除

Windows10_ファイル名を指定して実行からregedit_レジストリエディターを開く

Windowsキー+r > 「regedit」と入力し、レジストリエディターを開く

 

Windows10_レジストリエディターからシステム標準キーボード設定を削除

「\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\i8042prt\Parameters」の中にある

  • OverrideKeyboardType
  • OverrideKeyboardSubtype

2つを削除します。

※レジストリを変更する前は元に戻せるよう必ずバックアップを取りましょう!

 

この2つの値がキーボード配列を決めており、削除することで各キーボードのキー配列を有効にできるようです。

 

外付け日本語キーボードをJIS配列に変更

\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\確認したデバイスインスタンスパス\Device Parameters を開き

 

Windows10_レジストリエディター_外付け日本語キーボードをJIS配列に変更01

新規 > DOWRD(32ビット)値

Enum以降の例

\Enum\HID\VID_046D&PID_C534&MI_00\e&15cc7abd&0&0000\Device Parameters

 

Windows10_レジストリエディター_外付け日本語キーボードをJIS配列に変更02

以下2つを作成

値の名前値のデータ
OverrideKeyboardSubtype2
OverrideKeyboardType 7

 

ノートPCなど内蔵キーボードならば、その後再起動でJIS・US配列の共存ができるようですが、今回のように外付けキーボード×2では、うまくいきませんでした

 

Windows10で配列の異なる複数のキーボードを使う方法 – Opensourcetechブログ

こちらの記事では、値の名前(Overrideの位置)が異なるので、一応試しましたが、上記同様に外付けキーボード×2ではダメでした。

 

外付け×2日本語・英語(JIS配列とUS配列)キーボードの共存

外付けキーボード2つのJIS配列・US配列共存については上記方法ではダメだったので、フリーソフトのアプリケーションを使う方法で日本語・英語キーボードの共存を試しました。

しゃお
しゃお

ここから成功した方法

実際に試したこと

もし、ハードウェアキーボードレイアウトを「英語キーボード(101/102キー)」にしている場合は、「日本語キーボード(106/109キー)」に戻しておきます。

 

フリーソフト「ULE4JIS」を以下のどちらかからダウンロード(インストール不要)

 

Windows10で外付けキーボードのJIS・US配列を再起動なしで共存_ULE4JISを起動

zip解凍後、「ULE4JIS」を起動すると「US Keyboard Layout Emulator for JIS Driver」と表示されます。

直訳で、JISドライバー用USキーボードレイアウトエミュレーター

※「隠す」をクリックすると、タスクバー右下のインジケーター領域にウィンドウが隠せます。

 

Windows10で外付けキーボードのJIS・US配列を再起動なしで共存_ULE4JISを停止・再起動・終了

  • エミュレーション停止」で日本語キーボード(JIS配列)
  • エミュレーション開始」で英語キーボード(US配列)
  • エミュレーター再起動」は、英語キーボード使用中に何か不具合が出たとき用でしょうか。
  • 終了」でも日本語キーボード(JIS配列)に戻ります。

 

起動するだけで、キーボードレイアウトがUS配列となるので

  • インストール作業不要
  • レジストリ設定が不要
  • システムの再起動が不要
  • 操作が簡単

と、本当に便利です。

D君
D君

作者である『nano』様に感謝!

しゃお
しゃお

ただし、私の使用しているアプリでは問題が発生しました。

ULE4JIS使用中の問題点&解決策

普通に文字を入力している分には全く問題ありませんが、パスワード管理ソフトで自動入力をしたときに問題が発生しました。

問題点:KeePassの自動入力が失敗する

Windows10で外付けキーボードのJIS・US配列を再起動なしで共存_ULE4JISの問題点_パスワード管理ソフトで自動入力失敗

@」で入力したところが「[」となっており、配置的にJIS配列として入力されてしまいます。

 

原因としては、KeePassがハードウェア or システム上の設定=日本語キーボード(JIS配列)を見ているからだと思われます。

 

【制限事項】
ULE4JISまたはWindowsシステムの仕様により、以下の制限があります。

キーボードフックを利用するアプリケーションと同時に利用すると、正しく動作しない可能性があります。

「Readme.txt」の制限事項にも記載がありました。

 

キーボードフック:本来「Windows > ウィンドウ」となるところに横取りする感じで、「Windows > Keyの判別や変更 > ウィンドウ」となるイメージ

参考:キーボードフックとマウスフックについて – KeyToKey開発ブログ

 

KeePassは上記の制限事項に見事に引っかかるようで、そのままではうまくいきません。

 

解決策:KeePass使用時のみ強制的に英語キーボード設定

USキーボードの登録

スタートメニュー(Windowsキー) > 設定 > 時刻と言語 > 言語

Windows10_優先する言語

優先する言語を追加する」をクリック

 

Windows10で外付けキーボードのJIS・US配列を再起動なしで共存_英語(米国)の言語をインストール01

検索欄に「米国」と入力し、「English(United States)英語(米国)」を選択し、「次へ」をクリック

 

Windows10で外付けキーボードのJIS・US配列を再起動なしで共存_英語(米国)の言語をインストール02

そのまま「インストール」をクリック

※「音声認識」「手書き入力」が必要なければ、チェックを外してもOK

 

Windows10で外付けキーボードのJIS・US配列を再起動なしで共存_英語(米国)の言語をインストール03

「日本語」の下に「English(United States)」が表示されれば準備OK

 

自動入力に失敗するなら、USキーボードに切り替え

Windows10で外付けキーボードのJIS・US配列を再起動なしで共存_USキーボードに切替

ショートカットキーWindowsキー+スペース」を使えば、一瞬で「日本語 ⇔ 英語」の切替が可能です。

 

Windows10で外付けキーボードのJIS・US配列を再起動なしで共存_ULE4JISの問題点_パスワード管理ソフトで自動入力失敗を解決

KeePassの自動入力(ハードウェア依存のアプリ)を使うときは、USキーボードに切替をしておけば入力が失敗することはありません

 

D君
D君

自動入力が終わったら、再度「Windowsキー+スペース」で日本語に戻しておこう。

 

まとめ

外付け日本語キーボード&英語キーボードの共存するには
  • ハードウェアキーボードレイアウトは「日本語キーボード(106/109キー)
  • Vector or GitHub から「ULE4JIS」をダウンロードし、適当なフォルダに配置
  • ULE4JISを起動 or 「エミュレーション開始で英語キーボード(US配列)
  • エミュレーション停止」で日本語キーボード(JIS配列)
  • 自動入力アプリで失敗するときは、「Windows+スペース」で強制的にUSキーボードへ切替
  • 自動入力が終わったら、再度「Windows+スペース」で言語切替でUS配列の日本語入力に戻す

 

「外付け日本語キーボード」と「外付け英語キーボード」を同時に使う人は、上記手順でOK

 

日本語キーボード・英語キーボードどちらかしか使わない人は、システムのキーボード設定を替えて一度再起動しておけば、設定が維持されるのでそちらの方がおすすめです。

 

合わせて、「たまに日本語・英語キーボードを変更する or 設定画面を開くのが面倒という人」のために、下記のようなスクリプトを作成してくれている方(Takeru-chan氏)がいましたので、紹介しておきます。

Change Keyboard setting on your Windows. – GitHub

 

現場からは以上です!

ではまた(#`・ω・´*)/

 

 

 

コメント

タイトルとURLをコピーしました