« CentOS 5.3を5.8にアップデート | トップページ | UbuntuにLubuntuデスクトップをインストール »

2012年9月14日

英語配列キーボードでモードレス日本語入力

日本語配列キーボードを使っていたときは、変換キーでIMEオン、無変換キーでIMEオフになるようにして、日本語入力をモードレスで切り替えていた。現在のIME状態(モード)にかかわらず、日本語を入力したいときは変換キーを押せばいいし、IMEなしで入力したいときは無変換を押せばよい。それぞれのキーを何回押しても構わないところが味噌である。全角/半角キーのようにIMEオン/オフがトグル動作のものは、押しすぎると元のモードに戻ってしまうから、状態をいちいち目で確認しなければならない。

しかしキーボードを英語配列にしたため、無変換キーと変換キーが使えなくなってしまい、やむなくCtrl+スペースでトグル変換するようにした。ATOKはカーソル位置に入力モードを表示してくれるが、これはモードを切り替えたときだけなのが玉に瑕だ。アプリを起動した直後や、別のウインドウから切り替えたときは、言語バーを確認する必要がある。いちいち画面の右下を見るのは面倒で、打ち込み始めてからモードの違いに気付き、Ctrl+スペースでIMEをオン・オフにしていた。

先日、タッチタイピングはMacが優秀というTogetterまとめがTwitterに流れていた。よく読むと、スペースバー右隣のかなキーを押せば日本語入力がオンになり、左隣の無変換キーを押せばオフになる。私が以前やっていたのと同じ、モードレスな日本語入力切り替えが便利というのが主な内容だった。

これをきっかけに、英語配列でモードレス切替ができないかをもう一度考えてみた。ATOKは「日本語入力ON」と「日本語入力OFF」を個別に割り当てられるから、問題はどのキーを使うかということになる。他のショートカットと衝突しないように試行錯誤の末、Ctrl+スペースを「日本語入力ON」に、Ctrl+Shift+スペースを「日本語入力OFF」に割り当てた(注1)。これでモードレス切替ができる。Ctrl+;(セミコロン)であればホームポジションで押せるのだが、残念ながらATOKはこのキーがカスタマイズできない。

ただし、左小指を寝かせるようにしてCtrlとShiftを同時に押さえるのは、やってやれないことはないが、けっこう辛い。これをなんとかしようとAutoHotkeyの助けを借りることにした。「!^Space::Send ^+{Space}」というホットキー定義を追加し、Ctrl+Shift+スペースをCtrl+Alt+スペースに置き換えた。Ctrlを左小指、Altを左親指、スペースバーを右親指で押せる。Altキーはウインドウ切替でしょっちゅう押すから、位置を体が覚えている。左小指で2キー同時押しという苦行を強いることがなくなり、ずいぶん楽だ。Windowsキー付きのキーボードなら、Windows+スペースに割り当ててもいいかもしれない。

さらに左手だけでIMEオフにできるよう、Ctrl+Alt+AがCtrl+Shift+スペースを送出するように定義した。なぜこんなのが必要かというと、右手でマウスを操作しながら、左手でコマンドを入力するときに、意外とよく使っているのである。例えばOutlookのメール一覧を差出人でソートし、名前がTで始まる箇所に一気にジャンプするときに、もしIMEがオンになっていると、未確定文字ウインドウに入力文字がはいってしまう。それをキャンセルし、再度IMEオフでやり直すのに、いちいちマウスから手を離してCtrl+Shift+スペースというのは面倒だ。Ctrl+Alt+Aなら左手で操作できる。

現在のキーカスタマイズは以下の通り。

レジストリで設定
・左CtrlとCapsLockを入れ替え
・Escと半角/全角を入れ替え
・Enterを左Ctrlにも割り当て

AutoHotkeyで設定
・Alt+H/J/K/Lでvi風カーソル
・Ctrl+HでBackSpaceを送出
・Ctrl+Alt+スペースでCtrl+Shift+スペースを送出
・Ctrl+Alt+aでCtrl+Shift+スペースを送出

ATOKで設定(主なもの)
・Ctrl+スペースで日本語入力ON
・Ctrl+Shift+スペースで日本語入力OFF
・xキーで長音記号(ローマ字設定)
・Ctrl+Oで半角無変換(後)変換
・Ctrl+Q/Wで文節区切り縮小/伸張
・Ctrl+S/Dで文節前/後移動

(注1)
Ctrl+Shift+スペースはマイクロソフトWordやOutlookでノンブレークスペースのショートカットに割り当てられていて、日本語入力OFFとバッティングする。これを解決するには、リボンメニューの挿入→記号と特殊記号→その他の記号→特殊記号でショートカットを削除すればよい。

|

« CentOS 5.3を5.8にアップデート | トップページ | UbuntuにLubuntuデスクトップをインストール »

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



« CentOS 5.3を5.8にアップデート | トップページ | UbuntuにLubuntuデスクトップをインストール »