デジタル環境での日本語入力にまつわるもっとマニアックな話
筆者が星空文庫に投稿している文章の中で最もアクセスが多いのは、(悲しいことに『無剣の騎士』ではなく) 『デジタル環境での日本語入力にまつわるちょっとマニアックな話』だったりします。ただし、アクセスはあるもののそれ以外の反応は僕に届いていないため、実際に楽しんで読んでもらえているのか、何かの役に立ったのか、もしかしたら途中で読むのを止められてしまったのか……その辺りはさっぱり分かりません。
それはさておき、一番の人気記事である事実に変わりはないのだから、その恩恵にあやかろうと考えるのは人の常。今回、新たなネタを掴んだので、第2弾をお届けします。(以下、今回は常体で書いています。)
■基礎編:英語キーボードをAXキーボードとして使う
キーボードで日本語を入力する時、それが英語キーボード (英語配列、ASCII配列などとも呼ぶ) であれば、日本語入力の ON/OFF を切り替えるためには Alt + ` キーを押す。
これでいいという人は……おめでとう。この先を読む必要はない。
さて、ここで「Alt と ` キーは遠いから打ち辛いわ!」と思った方は、右Altキーだけで ON/OFF できる方法を採用しよう。つまり、AXキーボードのドライバを利用する方法だ。
Windows の場合、レジストリを書き換える方法が広く知られている。
Windowsで右Altキーに[漢字]キーを割り当てる方法(AXキーボード設定を利用する方法)
http://www.atmarkit.co.jp/ait/articles/0001/26/news001.html
Windows2000/XP の時代に公開された記事であるにもかかわらず、Windows7/10 などが主流の現在でも通用するという、その界隈では有名な資料である。
実際、筆者は手持ちの HHKB Lite2 にこの手法を適用し、何年も生活してきた。右Altキーが日本語入力の ON/OFF を切り替える。そして他のキーには何の影響もなかったからだ。
上記の記事は原点にして頂点……。ASCII配列信奉者たち (主に筆者) は長い間そう信じてきたのだった。
あ、ちなみに Linux の場合、レジストリのようなシステム内部に手を加える必要はなく、昨今では Fcitx の設定を変更するだけで右Altキーを日本語入力の切り替えに使用できる。
■事件編:ノートPCではうまくいかない?
私事で恐縮だが、最近、中古のノートPC をサブマシンとして購入した。 HP Elitebook 840 G1 という結構古い機種で、キーボードは当然のように ASCII配列のものを選んだ。ビジネス向けマシンということで、無線通信 (Wi-Fi や Bluetooth) を ON/OFF するボタン、音量ミュートボタンが付いているのが特徴的で面白い。
早速いつものように AXキーボードに設定したところ、以下の問題が発生した。
・音量ミュートボタンが効かない。 (画面上でサウンドコントロールの設定を変更すれば、ON/OFF の切り替え自体は可能)
・右Ctrlキーがカナキーとして認識されてしまう。
この二つの現象が AXキーボード化によるものと気付くのに少し時間がかかってしまった。気付いた後、ドライバを標準の英語キーボード用に戻したところ、問題の現象は消えた。ノートPC の場合、HHKB Lite2 に比べてキーの数が多いため、それまで表に出ることのなかった問題が顕在化してしまった訳だ。
では、次の問題は、ノートPC の英語キーボードで右Altキーの挙動だけを変えるにはどうすればいいか、という点だ。
■推理編:存在しないキーを使え
いろいろ調べたところ、以下の手順を発見した。
(1) レジストリを変更して、右Altキーを F15キーに割り当てる
(2) IME の設定で F15キーを日本語入力 ON/OFF に割り当てる
ふむ、キーボード上には実在しないキーを利用する訳ですな。という理屈は分かったのだが、実行する方法が分からない。 Changekey や、 Microsoft の Resource Toolkit に含まれる remapkey.exe も試してみたが、いずれも F15キーが見当たらず、今回の用途には使えなかった。
結局、レジストリを書き換えるしかないようだ。具体的な方法は:以下のテキストを新規テキストファイルに貼り付け、拡張子を 「.reg」に変更して保存する。ファイルを右クリックして「結合」した後、PC を再起動すれば上記 (1) は完了だ。なお、レジストリの編集はくれぐれも慎重に、自己責任で。
----ここから----
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout]
"Scancode Map"=hex:00,00,00,00,00,00,00,00,02,00,00,00,5f,00,38,e0,00,00,00,00
----ここまで----
ちょっとだけ解説しておくと、右Altキーのスキャンコードは E038、F15キーのそれは 005F である。あとはググれ。
■解決編:更なる改良へ
こうして、デスクトップPC でもノートPC でも、Windows でも Linux でも、右Altキーひとつで日本語入力の切り替えが可能になった。めでたしめでたし。
これでもう何の不満もないという人は……おめでとう。この先を読む必要はない。
一方、「いちいち今の IME の入力モードを覚えてられないから打ち間違いが発生する! ガッデム!」と日頃から悩んでいる方は、次の方法を採用しよう。
ここまで読めばお気付きだろうが、筆者は Windows と Linux を併用しており、Mac にはノータッチだ。今回調べ物を進める過程で初めて知ったのだが、Mac の日本語キーボードには「かな」と「英数」のキーがあるそうだ。そして、現在の入力モードに関係なく「かな」を押せば日本語入力が ON に、「英数」を押せば日本語入力が OFF になるという。何それスゴイ。超便利そうじゃん。
この機能を Windows上で実現するのが、常駐ツール alt-ime-ahk である。(導入前に、キーボードの設定を AXキーボードから標準の英語キーボードに戻しておいたほうがいいだろう。)
Github の該当ページ (https://github.com/karakaram/alt-ime-ahk/releases) から、zipファイルをダウンロード、解凍し、任意のパスに置いて実行する。OS起動時に自動起動させたいなら、ショートカットをスタートアップフォルダに作っておけばよい。
ちなみに、日本語キーボード (JIS配列) で同様のことを実現したい場合は、このツールを使う必要はない。IME の設定を開き、「変換」キーを「日本語入力ON」に、「無変換」キーを「日本語入力OFF」に、それぞれ割り当てればよい。……らしい。申し訳ないが、手元に日本語キーボードがないため検証できないのだ。それほど難しい手順ではないので、各自ググってほしい。
もひとつちなみに、Linux の場合はまたしても Fcitx の設定だけで済む。と知って「やっぱり Linux って凄い」と思ってしまった自分はなんて単純なのだろうか。(OSの優劣とは直接関係ないというのに。というかこの場合、Macの方が凄いというべきではなかろうか。)
■Cパート:最後の挨拶
こうして、レジストリをいじることもドライバを入れ替えることもなく、スペースキーの左右にあるキーで日本語入力の ON/OFF をストレスなく(?) 行なえるようになった。一つのキーで ON/OFF をトグルする環境よりも快適だと思う。これで筆者の執筆活動も捗るに違いない (希望)。
皆様も、良き物書きライフを。
デジタル環境での日本語入力にまつわるもっとマニアックな話
深夜のテンションで一気に書きました。
今のところ第3弾の予定はありません。