はじめに
キーボードを使ってカーソルを移動させようとした場合、一旦キーボードから手を離したうえで矢印キーを押す必要があります。それだと効率が悪いので、キーボードのホームポジションのままカーソル移動をさせる(矢印キーを押したことにする)方法をご紹介します。なお、AutoHotKeyとChgKeyというソフトを使う方法もありますが、今回はMicrosoftの無償ソフトであるMicrosoft PowerToysを用いて実現する方法をご紹介します。
やり方
Microsoft PowerToysのダウンロード
まず、Microsoftのホームページの指示に従って、Microsoft PowerToysをダウンロードします。
Keyboard Managerの設定を行う
Microsoft PowerToysは、いろいろな機能が入っており便利なのですが、今回はその中でもKeyboard Managerを使います。キーボードマネージャーは、「ショートカットの再マップ」をクリックすることで、修飾キー(Ctrl、Alt、Shift等)とそのほかのキーの組み合わせで任意のキー(矢印キーなど)を設定できます。
ここで、Ctrl、Alt、ウィンドウズキーのどれかを修飾キーとし、それ以外のホームポジションで触れるキーに割り当ててしまった場合、元から設定されているショートカットキーとダブったりするなどしてわかりにくくなる可能性があります。また、特にウィンドウズキーやAltキーについては、単体で押しただけでもプログラムが動いたりする可能性があるキーなので、意図せぬ動作をしてしまう可能性があります。WordでAltキーを修飾キーとして使う際には、割と致命的で、カーソルを動かそうとしてもタブの選択となってしまいかなりイライラしてしまうこともあります。。。
そこで、以下のとおり、Shift(Left)=キーボードの左にあるShiftと特定のキーを割り当てるのがおすすめです。直接入力をクリックし、左側のシフトとJ等を押すと、簡単に入力できます。それで、例えば、以下のように設定することで、Shift(Left)+Jで左矢印キー、Shift(Left)+Kで下矢印キー、Shift(Left)+Lで右矢印キー、Shift(Left)+Iで上矢印キーを押したのと同じ動作となり、ホームポジションで簡単にカーソルを移動できますし、シフトキーを押しただけでは通常何も起きません。
左シフトキーの再マップ
ただし、このように設定すると、例えばShift(Left)+Jを押しても、カーソルが左に動くだけで大文字のJが入力できなくなり、地味に不便です。右のシフトキーを押しながらJを押せば、カーソルは移動せず大文字のJが入力されますが、右のシフトと左のシフトを使い分けるのが面倒という人は、以下のとおり設定することで、左シフトキーも本来の用途で使えます。
キーボードマネージャーの「キーの再マップ」をクリックし、以下のとおり設定してください。 左下は、スペースキーの左側にある無変換キーですので、直接入力を押してから当該無変換キーを押してください。
こうすることで、左シフトキーは右シフトキーと同じ動作をすることになりますので、Shift(Left)+Jは大文字のJが表示されます。そして、Shift(Left)を設定したキー(上記の例だと無変換キー)+J等を押すことで、カーソルを動かすことができます。なお、無変換キーは本来の用途で使えなくなりますが、それが嫌な方はShift(Left)を別の普段使わないキーに割り当てていただくと良いと思います。
なお、ここまで面倒なことをするぐらいだったら、最初から「ショートカットの再マップ」で無変換キー+Jに左矢印キーを割り当てればよいかと思われるかもしれませんが、無変換キーは修飾キーではない扱いとされているため、「ショートカットの再マップ」で直接無変換キー+J等に矢印キーを割り当てられないんですよね。。。そのため、ちょっとややこしい方法で実現した次第でした。