英語キーボードで、かな入力する方法(Windows)

更新日(Last update) 2018.1.10
目的
英語キーボード(US101やUS104キーボードなど)または、それと互換のあるタイ語キーボードなどの海外のキーボードでかな入力をする。
ここでいう、「かな入力」とは「ローマ字入力」と対称の日本語入力方法のことです。

英語キーボードや、それと互換のあるタイ語キーボードなどの海外キーボードで、かな入力を必要としている人のためにこの記事を書きました。
記号配列を英語キーボードのままで、かな入力する方法を書きます。
記号のキーの位置が英語キーボードと日本語キーボードでは異なるんですよね。
記号の位置を日本語キーボードと同じに合わせることもできるんですが、英語キーボードの刻印と一致しなくなる問題があるし個人的趣味によりここでは説明しません。
英語キーボードは日本語キーボードよりキーが少ないので、日本語キーボードと同じ位置で打つことができない文字があります。
英語キーボードでは、かなのキーでは「む」と「ろ」の位置のふたつのキーがありません。
日本語106キーボードとは違う位置で打たなければならないキーがいくつかできるので多少、打ちにくいですがそれでも、かな入力は快適です。

多分設定だけで特に何もしなくても・・・

対応OS
多分、パソコン用のOSならどれでもできそう。

まだ個人的にWindowsではやったことないんですが、
多分特に何もしなくても、WindowsやGNU/Linuxなどでもキーボードを英語キーボード(US 101やUS 104など)に設定して日本語IMEの設定を「かな入力」にすれば下の実在する英語配列の日本語キーボードの画像の入力位置でかな入力ができるのではないかと思います。
Raspberry PiのRasbian(GNU/Linuxの一種)とibus/anthyではできました。
「ー」はシフトキーを押しながら「-」のキーを押します。
「カタカナ/かたかな」キーは無いと思いますが次に書く別の方法では右ALTに割り当てることができます。

このキーボードはaliexpress.com で売っていました。買ってはいません。
英語キーボード(US 104)のキーに、ひらがなを追記しただけのようです。
機械的には英語キーボードです。

レジストリを書き換える別の方法

各かなのキーの位置は上記のキーボードの画像とは少し違います。
右ALTを「カタカナ/かたかな」キーに割り当て、右Ctrl、右Windowsキー、右アプリケーションキーも割り当てを変えます。
それらのキーを本来の用途で使いたいならこの方法は使えないので上記の別の方法にしてください。
ネットカフェなどの短時間一時的に借りた他人のパソコンには向いていません。
もし他人のパソコンでやった場合は設定を戻さないと大迷惑をかけてしまうのと、簡単に設定を戻す方法を用意していません。
レジストリを書き換える自動設定プログラムを作れば簡単なのですが作っていません。
一度設定してしまえばOSを再インストールするまで再設定する必要がないので手動でレジストリを書き換える方法で十分だと思います。

対応OS
英語版 Windows 7(32bit)、英語版 Windows 8(64bit)、英語版 Windows 8.1(64bit)、英語版 Windows 10(64bit)で確認。
その他のOSは試していません。
おそらく、XP、Vistaでも動作すると思います。
また、日本語版/英語版、32bit/64bit問わず動作すると思います。

記号を英語キーボードの配列のままで、かな入力をする方法

まず、キーボードのドライバを英語キーボードのkbd101.dllからAXキーボード用のドライバのkbdax2.dllに変更します。
この変更で、右ALTが「カタカナ/かたかな」キーに変わり、「む」のキーが左上のESCの下の日本語キーボードでは全角/半角キーがある位置のキーなり、右Ctrlキーが半角カタカナキー?かなんかに変更されます。。
そして、この変更だけでは「ろ」の入力ができませんので後述する別の設定も必要になります。
「ろ」を右Ctrlキーに割り当てるとよいかも知れません。(各人の趣味で好きなキーに割り当ててください。) 「む」をアプリケーションキーなどの別のキーにも割り当てることもできます。
このAXキーボードドライバへの変更は、ローマ字入力しかしない人も「カタカナ/かたかな」キーを有効にするだけのために行う人もいるようです。

PS/2キーボード及びUSBキーボードをkbdax2.dllドライバに変更するには(多分ノートパソコン内蔵キーボードも)、
regeditを起動し、レジストリの
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\i8042prt\Parameters の「LayerDriver JPN」を「kbdax2.dll」に変更し、
「OverrideKeyboardIdentifier」を「AX_105KEY」に変更し、
「OverrideKeyboardSubtype」を「1」に変更する。
この設定でUSBキーボードも変更されるのかは知りません(先にUSBキーボードの設定をしたので)。
今回の設定をやめて英語キーボードに戻すなら、「LayerDriver JPN」を「kbd101.dll」に、日本語キーボードに変えるなら、「kbdjpn.dll」にし、
「OverrideKeyboardIdentifier」を英語キーボードなら「PCAT_101KEY」に、日本語キーボードなら「PCAT_106KEY」にし、
「OverrideKeyboardSubtype」を英語キーボードなら「0」に、日本語キーボードなら「2」変更しします。
regeditの起動方法が分からない場合は、スタート→All Programs→Accessories→Command Promptを実行し、出てくる黒い画面の中でregeditと入力してEnterを押すと、regeditが起動します。
日本語Windwosの場合は、スタート→全てのプログラム→アクセサリ→コマンドプロンプト(またはMS-DOSプロンプト)を実行して、出てくる黒い画面の中でregeditと入力してEnterを押すと、regeditが起動します。
(regeditの起動方法は他にもあります。)
この設定後、下記の「ろ」を打てるようにする設定がさらに必要です。

「ろ」を入力できるようにするには、
regeditを起動し、レジストリの
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout
に「Scancode Map」がなければ「Scancode Map」をバイナリ値(binary value)で作り、
内容を、下の画像のように「00,00,00,00,00,00,00,00,04,00,00,00,56,00,1D,E0,29,00,5C,E0,29,00,5D,E0,00,00,00,00」に変更すると、「ろ」が右Ctrlに割り当てられ、さらに「む」はESCの下のキーに加え、右Windowsキーとアプリケーションキーにも割り当てられます。

この設定をおすすめします。

内容を上記ではなく下の画像のように「00,00,00,00,00,00,00,00,02,00,00,00,56,00,1D,E0,00,00,00,00」に変更した場合は「ろ」が右Ctrlに割り当てられ、「む」はESCの下のキーのみになります。

このScancode Mapの設定と関係なくAXキーボードドライバーの場合、「む」はESCの下のキーになります。
以上で完了です。上記のキー割り当てが気に入らない人はこの下の続きを読んでください。
他の割り当てをしたい場合は、最初から最後までScancode Mapを手入力でいじってもいいですが、キーマップを書き換えるソフトを使った後でレジストリを修正したほうが簡単です。
AXキーボード用のキーマップ変更ソフトは多分ないと思うので、日本語106/109キーボード用のソフトで変更した後、レジストリをAXキーボードのスキャンコードに修正します。
キーマップ変更ソフトは日本語キーボードに対応している必要があります。
例えば、Keyswap for XPというフリーソフトがあります。
http://www.vector.co.jp/soft/dl/winnt/util/se228667.html (Keyswap for XP)
キーマップ変更ソフトを使って「ろ(\)」のキーマップを任意のキーに割り当てます。
「む(])」はAXキーボードでは106/109キーボードの「半角/全角」キーに対応しますので、「む」の位置がESCの下では嫌な人は「半角/全角」キーを任意のキーに割り当てることで「む」の割り当てができます。
「ろ(\)」のAXキーボードのスキャンコードは106/109キーボードには存在しないのでキーマップ変更ソフトで変更後に、
regeditを起動し、レジストリの
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout
の「Scancode Map」の内容を、書き換えます。
日本語106/109キーボードのスキャンコードのレジストリの入力値は「ろ」が「73 00」になります。
この106/109キーボードの「ろ」ををAXキーボードの「ろ」に置き換えるためにレジストリの「73 00」を「56 00」に変更します。
「む(])」の場合、「半角/全角」キーを使って割り当てた場合はレジストリの修正は必要ありませんが、「む(])」のキーをキーマップ変更ソフトで割り当てた場合は、AXキーボードに置き換えるために「2b 00」→「29 00」に変更します。

USBキーボードをkbdax2.dllドライバに変更をする場合は、
上記のPS/2及びUSBキーボードのした場合はこの設定は不要です。
regeditを起動し、レジストリの
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layouts\00000411
のLayout fileを「KBDAX2.DLL」に変更する。

今回の設定をやめて英語キーボードに戻すなら、「KBD101.DLL」に、日本語キーボードに変えるなら、「KBDJPN.DLL」にする。
regeditの起動方法が分からない場合は、スタート→All Programs→Accessories→Command Promptを実行し、出てくる黒い画面の中でregeditと入力してEnterを押すと、regeditが起動します。
日本語Windwosの場合は、スタート→全てのプログラム→アクセサリ→コマンドプロンプト(またはMS-DOSプロンプト)を実行して、出てくる黒い画面の中でregeditと入力してEnterを押すと、regeditが起動します。
(regeditの起動方法は他にもあります。)
この設定後、「ろ」を打てるようにする設定がさらに必要です。
また、PS/2の外部キーボードやPS/2接続のノートパソコン内蔵キーボードはこの変更では変わらず影響はありません。


日本語IMEのインストールと、かな入力モードの設定について

英語Windows7で、MS IMEをインストールするには、スタート→Control Panel→Clock,Language,and Region→Region and Language
で、Region and Languageウィンドウを出し、Keyboards and LanguagesタブのChange keyboard...ボタンをクリックし、
Text Services and Input LanuagesウィンドウのGeneralタブのAddボタンをクリックし、Add Input LanguageウィンドウのJapanese (Japan)→Keybord→Microsoft IMEを選んでOKボタンをクリックします。
かな入力の設定は、Text Services and Input LanguagesウィンドウのJapanese (Japan)→Keyboard→Microsoft IMEをクリックしてプロパティ画面の全般タブの入力設定のローマ字入力/かな入力のところを、ローマ字入力から、かな入力に変更します。
Text Services and Input Languagesを出すには、スタートバーまたは、IMEウィンドウにあるJPボタンを右クリックしてSettings...を選択するか、上記のようにスタート→Control Panelからクリックしていって出すことができます。
海外版 Windows XPでこの設定をしようとしたことがありますが、パソコンによってはWindowsのCDの挿入を要求され、手元にCDがなくできなかったことがあります。

なんらかの理由でMS IMEがインストールできない場合は、Google 日本語入力もあり、かな入力にも対応しています。
Google日本語入力のダウンロードは、http://www.google.co.jp/ime/からできます。
Google 日本語入力でかな入力の設定をするには、http://support.google.com/ime/japanese/answer/166764/?hl=ja&のプロパティ画面の「ローマ字・かな入力」のところを、ローマ字入力から、かな入力に変更します。


オンライン辞書サイトと辞書ソフト、鍋田辞書