2012年09月18日

キーボードの入れ替えに悩む。(AutoHotKey のこと)

先日、ONKYO の、Bluetooth キーボード PKB2A-A25SL3 を衝動買いしてしまった。
アウトレットで安く売りに出されていたというのもあるが、Bluetooth の、普通のサイズでなおかつ、テンキーのないモデルを長らく探していたところ、デザインに惹かれてのことである。
ただ、「残り一台」の売り文句にあおられて、細かいところをチェックせずに買ってしまったというのが、後に、少々問題となる。
それでも、最低限のチェック、日本語キーボードであり、エンターキーが逆Lであり、キーピッチは16mmよりは広い(実際には、17.5mm)というところはチェックした。

実は、気になるところはあった。PageUp, PageDown, Home, End というキーが、「ないかもしれない」というところだ。
大きな写真を探し出すことができなかったが、確かに、「ない」
ただ、この時点では、まさか、ないということはなかろうと思っていた。Fn キーは存在しているから、Fnキー+カーソルキーに(刻印はないけれど)割り当てられているのだろうと、勝手に決めつけた。

さて、実物が届いて、おそるおそる、Fn と カーソルキーを押してみると、「それは存在しない」という事実が。
実に、PageUp, PageDown, Home, End というキーが、「ない」ことが判明した。

家族に聞いてみると、そもそも、そういうキーの存在を知らなかったようだ。なるほど、一般的には認知されていないキーなのだ。
が、私にとっては、必須なキーである。
テキストを編集していて、行頭、行末への移動は多いし、さらに、「行末まで範囲選択」も多い。
何より、ATOKの電子辞書へのアクセスは、End キーを使っている(ついでに、連想変換のキーは、Home)

PKB2A-A25SL3は、そのまま、携帯電話(スマートフォンにあらず)の入力用にしてしまうという選択肢もあるが、「また無駄遣いをして」という家族の視線が熱い。
結局、ALT + カーソルキーに、それらのキーを割り当てることにした。
割り当てることにしたというだけでは問題は解決しない。

まずは、自作の「キーカウントプログラム」のキーフック部分をいじって、キーの差し替えをしようとしたが失敗した。
いくつかの、「キー入れ替えソフト」を検討したが、単一のキーを入れ替えることしかできない。
なんか、「できそう」な、「猫まねき」が動く環境でもなさそうだ。

というところまで来たときに、AutoHotKey に出会った。

http://www.autohotkey.com

これは、「いけそう」だ。
やりたいこと自体は単純だ。ALT + UP, DOWN, LEFT, RIGHT を、それぞれ、PageUp, PageDown, Home, End に差し替えるだけ。
が、基本的な「リマッポング」機能を使っても、いうことを聞いてくれない。
Help を読むうちに、Send コマンドを使えば、キーストロークを置き換えられることがわかった。
まずは、

!Left::Send {Home}
!Right::Send {End}
!Up::Send {PgUp}
!Down::Send {PgDn}

と、4行追加することで、キーの置き換えは完了。
しかし、「行末まで範囲選択」という、本来なら、Shift + End などで実現するはずのストロークが、実現できない。
Shift + Alt + Right でも、単に、行末にカーソルが移動するだけだ。

が、おおよそ見当はついた。
+!Right::Send {Shift}{End}
でいけるのじゃないか?

が、失敗。Shift を送出しているだろうと思うけれど、あくまでも、Shiftキーのストローク(ON して、OFF)を送出してしまう気がする。
それでも、あきらめずにドキュメントを眺めると、{Shift Down} があるではないか。
+!Right::Send {Shift Down}{End}{Shift Up}
で、Shift を押下したまま、End を送出(して、Shift をリリース)が実現できた。

結局、先の4行に加えて、

+!Left::Send {Shift Down}{Home}{Shift Up}
+!Right::Send {Shift Down}{End}{Shift Up}
+!Up::Send {Shift Down}{PgUp}{Shift Up}
+!Down::Send {Shift Down}{PgDn}{Shift Up}

を追加することで、なんとか、PKB2A-A25SL3 をメインマシン用に使い続けることができそうだ。

※あとは、(充電式なので)バッテリーの持ちが心配だが。

posted by 麻野なぎ at 20:40| Comment(0) | TrackBack(0) | 雑感