キーボードショートカット (ホットキー) を簡単に定義できる Hokke.js という JavaScript ライブラリを書きました。名前の由来は、Hotkey → Hokke です。私はホッケの塩焼きが好きです。
Hokke.js
使い方
インタフェースは、3 つあります。
- Hokke.map(key, callback);
- Hokke.unmap(key);
- Hokke.command(keys, callback, time);
機能は主に 4 つあります。
- 関数にホットキーを割り当てる。(map)
- リンクにホットキーを割り当てる。(map)
- ホットキーの割り当てを解除する。(unmap)
- 一連のキー入力を関数やリンクに割り当てる。(command)
1. 関数にホットキーを割り当てる
任意の関数にキーボードショートカットを割り当てる機能です。下記の例では、Shift-J に、alert を表示する無名関数を割り当てています。
Hokke.map("S-J", function() { alert("Hello"); });
2. リンクにホットキーを割り当てる
リンク (a タグ) にショートカットを割り当てる機能です。第二引数に関数の代わりに a タグの要素を渡すだけです。
Hokke.map("S-J", document.getElementById("someAnchorElement"));
3. ホットキーの割り当てを解除する
設定したホットキーを解除するには unmap を使用します。
Hokke.unmap("S-J");
4. 一連のキー入力を関数やリンクに割り当てる
一連のキー入力があった場合に関数やリンクを実行する機能です。いわゆる「コナミコマンド」を実現できます。
Hokke.command(["Up", "Up", "Down", "Down", "Left", "Right", "Left", "Right", "b", "a"], function() { alert("power up!"); }, 5000);
メジャーなブラウザでは恐らく動作すると思いますが、不具合がありましたらご報告いただければ幸いです。