🛴

Mac ユーザーの使いやすい Windows キーバインドを考える[AutoHotkey x Emacs Keybind]

に公開

はじめに

普段の使用端末を Apple 製品に依存している一方で,昨年より Windows 製品を使う機会が増えました.
基本的に困ることはなかったのですが,私が Apple 製品で特に気に入っている理由の一つでもある Emacs キーバインドについて試行錯誤したので,現状を記事にしてみました.

CapsLock を F13 に割り当て

Windows における,CapsLock の割り当てに関する記事の多くは Ctrl に割り当てているかと思います.
ですが,これに Emacs キーバインドを適用すると使い勝手が良くありません.

例えば,PowerPoint で Ctrl+P を入力した際にプリントを呼び出すことができなくなります.
Mac では,これは起こらず,Command と Control は別物として扱われます.

Windows では CapsLock を F13 に割り当てるのが より Mac に近い操作感を得られました.
以下の記事中のパッチファイル map_capslock_to_f13.reg を実行し,再起動することで,CapsLock に F13 が割り当てられます

https://tex2e.github.io/blog/keyboard/win-keymap-caps-to-ctrl

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,64,00,3a,00,00,00,00,00

キーバインドの設定

AutoHotkey を使ってキーバインドを設定します.
現状のスクリプトは以下の通りです.

https://github.com/seesaw-monster/AutoHotkey/blob/ed669589aeeeeef7299353ac51446e544e9d90e0/base.ahk

基本的な移動と BS, Del に加えて,_ (アンダーバー) の入力方法も Mac 側に統一しています.
また,開発時のみ必要なキーバインドについてはアプリを指定して追加しています.

起動時にキーバインドを設定

これだけでは,起動時に毎回スクリプトの実行が必要になります.
そのため,スタートアップフォルダにファイルをコピーするバッチファイルを作成しました.

https://github.com/seesaw-monster/AutoHotkey/blob/ed669589aeeeeef7299353ac51446e544e9d90e0/copy_base_to_startup.bat

これで,起動時にスクリプトが実行されます.

おわりに

今回説明に利用したファイルは以下のリポジトリにあるので,参考にしてください.
著者は .config 下にて運用しています.

https://github.com/seesaw-monster/AutoHotkey

参考

https://tex2e.github.io/blog/keyboard/win-keymap-caps-to-ctrl

https://zenn.dev/torkralle/articles/712f13dfcb728e

https://pc-karuma.net/windows-10-app-startup/

GitHubで編集を提案

Discussion