キーの設定

hahEnterKeyに関する問題

リンクを新しいタブで開けたいときには、公式サイトに拠れば、

とすれば、よいということだそうだ。

しかし、hahの最新版ではMagicKeyからはうまくいくのにStartKeyからではうまくいかない。 これはキーの設定をkeyconfigに移行したときにキーイベントの処理が変更されたためらしい。

旧バージョンとMagicKey
キーが押された(イベント) --> EnterKeyに合致(hahが判断) --> 修飾キー(shiftやaltなど)のチェック --> 処理
新バージョンのStartKey, EnterKey
押されたキーとKeyconfig登録キー(EnterKey)とが一致(firefoxが判断) --> 修飾キーのチェック(hahが判断) --> 処理

ここで、hahの判断ではCtrl+Enter, Shift+EnterもみなEnterと取り扱われるので、処理されるが、 firefoxの判断ではCtrl+EnterもShift+EnterもただのEnterも別のキーと判断されるので、 hahにイベントがこない。(上の流れ図で強調されている矢印の部分でイベントが切れる。)

そこで、手っ取り早く直す方法は、hahEnterKeyを複製し、それをCtrl+Enterなどに割り当てることである。 キーの複製は以下のようにする。

  1. keyconfigのダイアログから「新しいキーを作成」ボタンを選ぶ。
  2. キーの名前をhahEnterKey2なり何なりに決める。
  3. hah.enterExitKey(event, true); とコード欄に書く。
  4. OKを押して、Ctrl+Enterなどに割り当てる。

私の環境ではこれで動くようになりました。ただ、今は(EnterKeyの種類によってあらゆる動作ができる) Hit-a-Hint Actionsを使っているので、私はこの使い方はしなくなりましたが...

キーバインド

以下のように使っている。直感的で便利。hahのnumbersはホームポディションでみな打てるようにしてみた。

右手
A (履歴を戻る)
S (左にスクロール)
D (下に)
F (右に)
G (履歴を進む)
W (トップへスクロール)
E (上へ)
V (一番下へ)
左手
J (ページを戻る -- Link Widgets)
L (ページを進む)
8 (上の階層へ)
hahの設定
N hahStartKey
Ctrl+N hahStartKey2 (フォーカスがテキストアリアにある時用)
I hahEnterKey
キーの設定>numbers (extensions.hah.keys.numbers) asdfjkl;
以下、Hit-a-Hint Actionsの設定
U hahTabEnter
Enter hahZoomIn
1 hahSaveLink
2 hahDelete
3 hahLoadImg
M hahStartKeyImg

keyconfig, functions for keyconfig, そして firefox に感謝.

cssの設定

cssの設定方法には二つあって、 ひとつはhahの設定ダイアログからする方法で、 もうひとつはuserContent.cssからいじる方法。

後者ではフォーカスを受けたかどうかで分けて書けない。 したがって、私のような捻くれ者以外は前者でやるのが妥当。 それでもしたい時は、

hint > span{
   :
   :
}
とかく。