親指F13

英数を無変換に割り当てて非トグルで入力状態を切り替えられるようになったのはよいが、やはり左手でエンターを押せないのは寂しく、かといって余っているキーも見いだせない。キーボードの左側にテンキーを置いて左手の小指でエンターを押せるとよいのでは、と思いAmazonでさんびゃくえんのテンキーを注文した。しかしそれが中国から届くまでのあいだ待ちきれず、なんとか応急処置したいと考える。Ctrl+無変換(の場所の英数)でEnterを押せれば、無変換でEnterしていた癖からは許容範囲ではないかと思った。

AutoHotKeyでいろいろ試した結果、どうも無変換や英数を入れ替えるより、それらとは独立のF13キーなどを定義するアプローチのほうがいろいろと都合がよさそうだと思い至る。無変換の場所にF13キー(キーコード0x0064)を割り当てた。

まずGoogleIMEのEisuにやらせていた仕事をF13にも引き継ぐ。これで入力切り替えはいままでどおり。そして意気揚々とCtrl+F13にEnterを割り当てる。

^F13::Enter

これだとCtrlを押していることになってCtrl+Enterの入力になるので、アプリによっては望みの挙動にならない。こうするといいみたい。

^F13::send, {Enter}

せっかくなのでカーソルキーとかめんどくさいやつもこれでやってみようか、と思って追加する。

F13 & i::Up
F13 & j::Left
F13 & k::Down
F13 & l::Right

キーボードのどの部分をどの向きの矢印にマッピングするかというのはいくつかの流儀があるが、見栄は捨てて自分の中のカーソルキーホームポジションとでもいえる配置にした。ここでsendの書き方にすると、たとえばShiftを押しながらこのカーソル操作をしたときに範囲選択で動いてくれない。

これがあるとF13を単体で押したときの認識が奪われてしまうのか、英数キーとして効かなくなった。F13を押したときにF13を押したことにする、というのも珍妙な話だし、と思って、もともとのEisuに差し戻せばよいのでは、とやってみたら問題なかった。これでGoogleIMEはF13という概念を忘れてよい。

F13::send, {sc03a} ;Eisu

F13の「いろいろと都合がよさそうだ」は、そもそも使わないキーなので、アプリケーション固有のショートカットキーとまず競合しないというのがある(なんかOneNoteで F13 & i と F13 & k が動かない)。F13に立脚していれば滅茶苦茶やっても大丈夫ということだ。この、他のキーと組み合わせて使うショートカットキーの起点のキーというのは、思えばFnキーだ。なるほど左手の親指のベスポジにFnキーを作ったのかと合点する。

左手でやりたい症候群ということで、BackspaceやDelete、左手郊外のEscキーなどを割り当てていく。Ctrl+F13でやりすぎた改行をCtrl+Shift+F13のBackspaceで戻す体操をしたら気持ちよかった。キー割り当てにもすーっときまるものとそうでないものがある。

Windows標準最強ランチャーと書いたWin+数字キーだが、もうF13をWinとみなせばよいので、単純に1から0まで割り当ててみたら、起点が2つ隣にくるだけでこんなにも押しやすいのかと驚いた。1から4までなら普通にタスク切り替えのレギュラーとして採用できそう。

そして前回の日記でひそかに解決策を提示しなかった日本語を打ちたくて英字が出る場合ですが、範囲選択してから再変換をかけるという2ステップによって対処が可能ではないかと考える。やっとマクロじみたことをする。

F13 & BS::
  send, ^+{Left}
  send, {sc079} ;Henkan
Return

このBSは変換キーの場所にあるので、無変換の場所にあるF13、変換の場所にあるBackspace、ひらがなキーという親指3兄弟によって、文字入力状態に起因するあらゆるアレコレが完結する布陣となりました。しかしこれについてはGoogleIMEのバグなのかなんなのか、アルファベットを再変換したときに母音がうまく日本語に化けてくれません。辞書にローマ字の母音やn(ん)を登録することで、見かけ上は再変換の出来がましになる確率が上がり、かつ、うまく変換の状態を整えれば、2回以上の再変換を行うことで望みの日本語に変換できることもある、というバッドノウハウを開発しました。

こんなとこ。Homeの島が総入れ替えになってしまうのはどうかと思ったが、ノートPCのカーソルキーにFnキーで乗ってくるキー配置としてはよくあるかたちだし、まったく標準配置といえる。

いまの設定。

^F13::send, {Enter}
^+F13::send, {BS}

F13::send, {sc03a} ;Eisu

F13 & i::Up
F13 & j::Left
F13 & k::Down
F13 & l::Right
F13 & h::Home
F13 & `;::End
F13 & o::PgUp
F13 & m::PgDn
F13 & n::PgDn

F13 & d::Delete
F13 & e::Esc
F13 & w::send, !{F4}
F13 & s::AltTab
F13 & a::ShiftAltTab

F13 & BS::
  send, ^+{Left}
  send, {sc079} ;Henkan
Return
F13 & sc070::sc079 ;Hiragana->Henkan

F13 & 1::send, #1
F13 & 2::send, #2
F13 & 3::send, #3
F13 & 4::send, #4
F13 & 5::send, #5
F13 & 6::send, #6
F13 & 7::send, #7
F13 & 8::send, #8
F13 & 9::send, #9
F13 & 0::send, #0

F13 & PgUp::Up
F13 & Home::Left
F13 & PgDn::Down
F13 & End::Right