Twitterのコミュニティ(知的好奇心向上委員会)でキーバインド(ホットキー、ショートカットキー)が話題になっていたので、そういえばショートカットキーを足すことはあっても「大本のキー配列を変えてしまう」ということは考えたことなかったな、と思い早速チャレンジすることにした。
Windowsを使っているのでAutoHotkeyというものを導入した。
公式ドキュメントとWikiは難解すぎて何言ってるのかわからないレベルだが、世の中には親切に知見を書いてくれている人がたくさんいるので、そういう人々の導きによって必要な設定は特に苦労なくできた。
参考にした記事・サイトやひとまずの設定はScrapboxにまとめている。
あれこれ設定して使ってみたところ、確かに便利である。
何よりありがたいのが、「うっかり押すと面倒くさいキー」を封じられることだ。例えばCapsLockとかCapsLockとかCapsLockとか。他にはNumLockとInsertも反応しないようにした。
注意が必要なこととして、CapsLockなどのLock系キーは他のキーとそもそもの挙動が違っているらしく、例えばCapsLockをCtrlに置き換える、ということはレジストリを弄らないとうまくいかないらしいということがある。慣れない領域の話なのでよく解っていないのだが、多分「同時押し」が必要な修飾キーとして使うのが無理ということなので、他の役割なら持たせられる。最初はCapsLockを単に封印していたが、途中でBackspaceを割り当てることにした。まあまあ便利である。
修飾キー(Shift、Ctrl、Altの類)を独自に増やせるというのも大きい。既存の修飾キーはWindowsや各種ソフトによってショートカットが割り当てられていて、自分で設定するとそれらと干渉する可能性が高い。しかし、他のキーを修飾キー化してしまえば、それがショートカットキーとして登録されている可能性はほぼゼロなので、何も気にせずに自由に設定できる。私はとりあえず無変換キーとAppキー(コンテキストメニューを出すキー)を修飾キー化してみた。変換キーも修飾キーの候補だったが、そちらは今のところCtrlを割り当てている。
更に、AutoHotkeyは任意のキーに他のキーの役割を持たせるというだけに留まらず、スクリプトで相当複雑なことができるらしい。言語としてはそんなに難しくはなさそうだが、自分が慣れているJavaScriptとは違う部分もあちこちにあるので、馴染むにはちょっと時間がかかりそうだ。
そもそも「こうできたらいいのに」という願望が特になかったので、実現すべきものを思いついていない。でもこれから何か思いついた時に、それを叶わぬ願いなどではなく「スクリプトを書けば実現できるもの」と思えるのは、気持ちの面で随分違ってくるように思う。
そんな感じで便利なのだが、これまでの長い歳月で両手にはデフォルトのキー配列に適応した動きが染み付いている。変更した配列に従えば小指や手首に負担がかからないとわかってはいても、反射的に従来どおりの無理な動きをしてしまう。自分の手がリマップされるのにはそれなりの時間が必要そうである…。
あと、やはり後から被せた形であるがゆえにAutoHotkeyがちゃんと効かない時が偶にある。ほとんどは大丈夫だが、メモリに余裕がなくなった瞬間に変になったりする気がするので、そういう状況ではちょっと注意が必要かもしれない。まあPCのスペックが高ければ問題ないのかも。
先程スクリプトの話をちらとしたが、文字列をそのまま貼り付けたいということから関数を使う必要が生じ、その延長で簡単なコードを書けるように色々試行錯誤してみた。そしてどうせならと、文章化してnoteにいくつか記事を投稿した。
noteへの投稿は実に一年半ぶりである。noteに投稿していたのはこのブログを始める前のことなので、文章を書いて人の目のあるところに投稿するということに対する考え方が今とは随分違っている。一言で言うと、昔はものすごく構えて書いていた。
当時の自分とはどういうものであったかというのは何度かこのブログ内に書いたかと思うが、フェードアウトした理由を簡単にまとめるなら「noteに何かを投稿しようとしている時の自分が嫌になった」ということになるだろう。
どういう頻度で書くべきか、どういう長さで書くべきか、どういう内容を書くべきか、どういう文体で書くべきか、そういったことをぐるぐる考えていた。考えて悩んだだけで何も実行できていないのだが、とにかく「こうではいけない」という自己認識で苦しんでいた。
そういう悩みはもう捨ててしまった――むしろ捨てて書いたものによって出会いを得た――ので、noteという場に対する考え方も変わってきた。まあどうせ「読まれる」ことは期待できないのだから、テキトーに書いていいだろう、という気分になっている。テキトーというのはぞんざいという意味ではなく、「自分が良いと思えば良いだろう」ということだ。どうするのが"適切"か、ということを考えるのはやめた。
noteを「ホーム」にしようとしていた時はひたすら辛かった。でももうホームは別にあるので、noteは自分にとって大した意味を持っていない。だから逆にサラッと書けるし、多分その方が読み手にとっても読みやすく有用な記事になるという気がしている。