シナリオライターのためのAutoHotkey導入マニュアル

文字数をKBで数えるシナリオライターの皆様は、日々キーボードと指を酷使してお仕事をなさっていることと思います。

その作業を簡単にするフリーソフト「AutoHotkey」を紹介します。インストールして記事中の呪文をコピペするだけで導入でき、作業効率が上がります。

AutoHotkeyとは

キーボードを好き放題書き換えるフリーソフトです。キーを別のキーに書き換えたり、キーに自分で作ったプログラムを割り当てたりできます。でも皆様はシナリオライターであってプログラマではないので、多分プログラムは何のこっちゃさっぱりだと思いますが大丈夫です。コピペでいいです。

押すためにホームポジションから遠く離れた場所まで遠征しているキーってありますよね。Enterキーなんて最たるもので、+キーにいる右手小指を右に動かして押して、戻らなきゃいけません。Home、Endキーなんかも酷いですね。ホームポジションからではどう頑張っても利用できません。

そういうキーをホームポジション周辺に集結させ、指の移動を減らします。わけわからないと思いますがとりあえずやっていきましょう。

AutoHotkeyのインストール・導入

公式サイトからインストーラをダウンロードしてインストールしてください。次に以下の呪文をテキストエディタにコピペして、拡張子を.ahkとして保存して、それを実行してください。呪文が有効になります。呪文の意味を理解する必要はとりあえずありません。

#UseHook
#MaxHotkeysPerInterval,100000
#MaxThreadsPerHotkey,1
SetBatchLines,-1
SetKeyDelay,-1
vk1D & Space::Send,{Blind}{Enter}
vk1D & vkF2::Send,{Blind}{Delete}
vk1D & vk1C::Send,{Blind}{BS}
vk1C::Return
vk1D & Tab::AltTab
vk1D & a::IME_ON(WinExist("A"),0)
vk1D & c::Send,^c
vk1D & d::Return
vk1D & e::Send,{F7}
vk1D & f::Return
vk1D & i::IJKLShift("Up","Home")
vk1D & j::IJKLShift("Left","Home")
vk1D & k::IJKLShift("Down","End")
vk1D & l::IJKLShift("Right","End")
vk1D & r::Send,{F10}
vk1D & s::IME_ON(WinExist("A"),1)
vk1D & u::PasteString("「")
vk1D & o::PasteString("」")
vk1D & v::Send,^v
vk1D & x::Send,^x
vk1D & y::Send,^y
vk1D & z::Send,^z
PasteString(String){
ClipSaved := ClipboardAll
Clipboard := String
Send,^v
Sleep,200
Clipboard := ClipSaved
}
IJKLShift(ULDR,HE){
Send,% GetKeyState("F","P") ? "+{" . (GetKeyState("D","P") ? HE : ULDR) . "}" : GetKeyState("D","P") ? "{" . HE . "}" : "{Blind}{" . ULDR . "}"
}
IME_ON(hWindow, IsON){
Return DllCall("user32.dll\SendMessageA", "UInt", DllCall("imm32.dll\ImmGetDefaultIMEWnd", "Uint",hWindow), "UInt", 0x0283, "Int", 0x0006, "Int", IsON)
}

何がどう変化するか(基本機能)

左手親指で無変換キー(Spaceキーの左側にあるやつ)を押している間、各キーの機能が変化します。

  • Spaceキー : Enterキー
  • Iキー : ↑キー
  • Jキー : ←キー
  • Kキー : ↓キー
  • Lキー : →キー
  • 変換キー : Backspaceキー
  • カタカナひらがなキー : Deleteキー

やってみましょう。無変換キーを押しながらSpaceキーをぽちっと。Enterキーと同じ挙動になりましたね。これによりホームポジションから一切離れることなくカーソル、Enter、Backspace、Deleteキーを利用できるようになります。

なお無変換キーを押していない間は、無変換、変換、カタカナひらがなキー単体が無効になる以外はこれまで通りキーボードを利用できます。

しばらく文章を入力して慣れましょう。ヤバさが理解できたら.ahkファイルをパソコンのスタートアップに登録して、追加機能も見ていきましょう。

追加機能

全てを一気に使いこなすのは無理なので、徐々に使える機能を増やしていくといいと思います。重要なのは「全ての機能を使いこなすこと」ではなく「作業がこれまでより楽になること」なので。

Shift、Home、Endキーをホームポジションに移動します

IJKLをカーソルキーとして利用するとき、FキーがShiftキーになります。またDキーを押していると、JキーとLキーがHome、Endキーになります。Fキーと組み合わせて1行まとめて選択できます。

IMEをホームポジションで自在に操作できるようにします

無変換キーを押しながらAキーを押すとIMEをオフに、Sキーを押すとオンにします。半角/全角キーのように切り替えるのではなく、キー毎に役割を分担します。これによりIMEの状態を確認する作業を省いて「とりあえずAでオフ」「とりあえずSでオン」ができるようになります。

F7、F10キーをホームポジションに移動します

変換中にF7キーを押すと全角カタカナに変換されますね。けどF7キーが遠い。そういうワケでこれをホームポジションにいながら利用できるよう、無変換+Eキーで利用できるようにしました。また半角英数に変換するF10キーは隣のRキーです。

カギ括弧を簡単に入力できるようにします

クソ押しづらい位置にあるカギ括弧キーをU、Oキーに移動します。

代表的なショートカットキーを無変換キーで利用できるようにします

Ctrl+C、Ctrl+X、Ctrl+V、Ctrl+Z、Ctrl+YのCtrlを無変換キーで代用できるようにします。Ctrlキーって押しづらいんですよね。ホームポジションから離れなきゃいけません。嫌ですね。ということで無変換キーにやらせましょう。

Alt+Tabを無変換キーで利用できるようにします

親指をAltキーに移動させるのが面倒なので、無変換+TabでAlt+Tabできるようにします。

まとめ

  • AutoHotkeyをインストールして呪文をコピペするだけで導入完了
  • しばらく基本機能を使って慣れる
  • ヤバさを理解できたらスタートアップに登録する
  • 慣れたら追加機能も身に付けていく
  • 呪文の意味はとりあえず気にしなくていい

とても便利です。作業時間が半分になるほどの威力はありませんが、慣れてからAutoHotkeyを無効にしてみると「あ、AutoHotkeyって便利だな…」となります。使っていきましょう。楽しましょう。

プログラム的にそれほど難しいことはやっていないので見よう見まねで書き換えてもそれなりに動くと思いますが、本業は「シナリオを書くこと」のはずなので程々に。