[Windows] Macと同じようなカーソル移動ができるように設定:CapsLock (F13) + a/e/b/k...など

普段は Mac を使っている人が、なんらかの制約 (例えば職場の支給PCなど) によって Windows を利用する時に困ってしまうことがいくつかある。そのうちの一つが「カーソル移動」だろう。例えば Mac では、文字を「control + a/e」で行頭/行末にカーソルを移動させたり、「control + b/f」で一文字分カーソルを前後に移動させたりすることができる (他にも、「control + あるキー」で一行上/下、一文字消す、行末まで消す、エンターキー代わる、などなど)。Mac の日本語配列キーボードだと、controlキーは a の左側にある。小指を少し動かして control を押しながら 普通の (?) 文字を押せばカーソルを動かせるし、文字を消したりできる。つまり、わざわざ手をホームポジションから移動させることなくカーソル移動だったり文字の削除だったりができるのだ。たくさん文字を打つような場面では重宝する。

Windows でも同じようなことができないかなぁ、と思いインターネットで調べていたら、見事な解決策を考えられている方が多数。導入してみたところ、「Windows を使う負担感」が激減したので、備忘も兼ねてシェア。なお、Windows 10 を利用。

Step1: ChangeKey で「Caps Lock」を「F13」にする。

Change Key を利用するのが簡単みたい。インストール後、Caps Lock の scan code を 「0x0064」とする。
これは、Caps Lock を F13 という、実際には存在していないキーとして利用できるようにする操作のよう。つまり、Caps Lock を押すと、F13 が押されていることになる。(あと、今回の記事の内容とは関係ないけれども、追加で、Ctrl左 と Alt左 を入れ替えている。Mac の command キーの場所に、Windows の Ctrl を置くようにすると、ストレスが減る)
参考: ChangeKeyを使用してWindowsキーをF13キーに変更する方法 | 情報科学屋さんを目指す人のメモ(FC2ブログ版)

Step2: AutoHotKey で 「CapsLock (=F13) + 〜」に、別のキーを割り当てていく。

AutoHotKey を利用すると、特定の入力を別の入力と置き換えることができる。例えば、「F13キーを押しながらaを押したら、Homeボタンが押されたことにする」ということが可能になる。2021年2月現在のスクリプト:

;Emacs風。なお、CapsLockをF13に割り振っている(AutoHotKeyを利用している。ScanCode --> 0x0064)
F13 & a::send,{Blind}{Home}
F13 & e::send,{Blind}{End}
F13 & p::send,{Blind}{Up}
F13 & b::send,{Blind}{Left}
F13 & n::send,{Blind}{Down}
F13 & f::send,{Blind}{Right}
F13 & d::Delete
F13 & h::Backspace
F13 & m::Send {Blind}{Enter}
F13 & k::send {Shift}+{End}{Delete}

;Ctrl + q で閉じる
^q::send, !{F4}

;F13 (Capslock) を押しながら ↑で音量Up、↓でDown
F13 & Up::
Send,{Volume_Up 1}
SoundPlay, x64
Return

F13 & Down::
Send,{Volume_Down 1}
SoundPlay, x64
Return
「Emacs風」のカタマリがキー操作関係。セミコロンはコメントアウト。
基本的には「::send,」の左側の入力をすると、右側の入力がされたことになる、というイメージ。{Blind}というのを挟むと、Shiftを押しながらの操作も可能になるらしい。 (Ctrl+q で Alt+F4, F13と上/下でボリュームUP/Down もついでに。)
あとは、当該のファイルを右クリックで run すれば完了。
また、shell:startup に当該ファイルを置いておくと、Windowsを起動した際に自動的にスクリプトが実行されるので便利。
参考:WindowsでもmacOSのようなキー操作を実現する | 学ぶ、考える、書き出す。

AutoHotKey を使うと、どのようなソフト・アプリでもキーバイドが有効になってくれるのが嬉しい。というのは、以前、Mac版のOfficeを使っているときは、VBAのIDEでは control + a などのキーバインドが効かなくてとても辛かった。今回の AutoHotKey のやり方だと、Windowsにも関わらず VBA でもなんでも上記のキーバインドが使えるようになる。VBA の IDE を使わなければならない時の負担感がずいぶん軽減される。

0 件のコメント:

コメントを投稿

[Windows] AutoHotKey その2

職場の Windows PC に AutoHotKey というソフトを導入して、キーバインドを変更 したら、ものすごくキー入力が楽になった。ホームポジションから手をはずさずに上下左右、行頭・行末にカーソルを移動させたり、文字を削除したりできる。ストレスフリー。 カーソル移動系...