自分が参加しているTwitterコミュニティで話題になっていたので、AutoHotkeyというものを導入してみました。Windowsで、キーボードの各キーの役割を他のものに変えたり、新たな機能を付与したりするツールです。
そういった設定変更というのは、当たり前の人にとっては超当たり前で当たり前でない人には全く当たり前でないという、両極端になりがちなタイプのものだと思います。この記事は当たり前でない人に向けて書いているものです。
具体的な導入方法については先人たちが詳しく書いてくれているので、たまたま私が参考にしたものを貼っておきます。検索すれば色々出てくるので自分にとってわかりやすい記事を探してみてください。
AutoHotkeyを入れてまずやったことは、うっかり押すと混乱が生じるキーの無効化と、よく使うのに端にあるキーの機能を別なキーに割り当てることです。
;.ahkファイルの中身
NumLock::Return ;NumLockを無効化
vkF0::Return ;CapsLockを無効化
Ins::Return ;Insertを無効化
vk1D::Return ;無変換キーを無効化(修飾キー化するため)
vkF2::Enter ;ひらがな/カタカナキーにEnterを割り当て
vk1D & vkF2::Tab ;無変換+ひらがな/カタカナでTab
vk1D & Space::+Tab ;無変換+スペースでShift+Tab
Ins & N::Run, Notepad.exe ;Insertはアプリケーションの起動やフォルダを開くのに使用
;(実際にはメモ帳ではなく他のアプリケーションを設定しています)
;変換キーにCtrlを割り当て
*vk1C:: Send,{Blind}{Ctrl DownTemp}
*vk1C Up:: Send,{Blind}{Ctrl Up}
何が何のキーを表しているのか、というのは以下で確認できます。
最後の変換キー→Ctrlは少し複雑ですが、以下を参考にしました。
単純なリマップ(キー配列の置き換え)はこのような感じです。他にも色々設定していますが、書き方に変わりはないので省略します。
EmacsやVimといったものを使っている人はそちらとリンクさせるのがオーソドックスなやり方かと思いますが、私はそれらを使う予定はないので、自分のイメージに合うような設定を探して試みています。
そして更に、関数を使って任意の文字列や日時を出力できるようにしています。その話をしたくて書き始めたのですが、今回は「何の話なのか」の準備までとして次の記事で書くことにします。