Movable Type 3.2にバージョンアップしてから困っていることがある。 エントリーの編集中にカーソルがあらぬところへ飛んで行ってしまうのだ。 と言ってもほとんどの人は意味がわからないと思うので、説明して行こう。
Movable Typeでは、エントリーの編集をWebブラウザ上で行うことができる。 私もこのインターフェースを通じて、脳みそから鼻水が出るほどくだらない日々の雑念をキーボードにた叩きつけ 臆面もなく全世界へと発信したりしているというわけだ。
一方、私は知る人ぞ知るショートカットキーマニアであるため、 カーソルの移動は断然ショートカットキー! 矢印キーなんてこの世からなくなってしまえ!というぐらいの勢いの強硬派である。 だっていちいち指を移動させるの面倒くさいじゃないですか。 いちいちキーボード見なくちゃいけないし。 一度居座ったホームポジションからは、手を動かしたくないんですよ。 ちなみに文字変換で文節伸ばしたり縮めたりするのも、矢印キーは絶対使いたくないタイプです。
さて何を言いたいのかどんどんわからなくなって参りましたが、 要はMovable Type3.2から、 このエントリー編集画面でうかつにControl-Fとか押すと 「エントリー検索」フィールドへぶっ飛んでしまうという現象が起きるようになったわけなのですよ。 あるいは文字を一文字消そうとControl-Dとかすると、 突如「このエントリーを削除しますか?」とか真顔で聞いてくるわけなんですよ顔って。 とか思っていたら一度本当にエントリーを一つ丸々消してしまったのは秘密だ。
さて、これは何が原因なんだよコンチクショウと調べてみたところ、 エントリー編集画面のhtmlのINPUTタグにaccesskey属性がセットされていることが判明しました。 accesskey属性についてはこちらにある通りで、要はそのサイト上でのショートカットキーを割り当てるものなのだ。 この割り当てられるキーが、WindowsではAltキー押しながら、 MacではControlキー押しながらとなっているため、 Control押しながらのショートカットキーを駆使して、カーソルキーを移動させたり文字を消そうとしていた私の動きは思いきりクリティカルヒットだったわけです。
さてどうするべーということだが、対策としてはこのaccesskeyが仕込まれているところを消せばよろしい。 ということでこれまたコンチクショウと調べたところ、犯人は 「mt/tmpl/cms/header.tmpl」にControl(Alt)-sとControl(Alt)-d、 「mt/tmpl/cms/entry_actions.tmpl」にControl(Alt)-fがそれぞれ仕込まれていることが判明しました。 この二つのファイルの「accesskey="s"」みたいな部分を消してやれば、 今私が感じているようにショートカットキー使いまくりの快適な文書作成ライフが満喫できますぜやったー!