キーボードショートカットを定義できるライブラリ Hokke.js を書きました

キーボードショートカット (ホットキー) を簡単に定義できる Hokke.js という JavaScript ライブラリを書きました。名前の由来は、Hotkey → Hokke です。私はホッケの塩焼きが好きです。

Hokke.js

使い方

インタフェースは、3 つあります。

  1. Hokke.map(key, callback);
  2. Hokke.unmap(key);
  3. Hokke.command(keys, callback, time);

機能は主に 4 つあります。

  1. 関数にホットキーを割り当てる。(map)
  2. リンクにホットキーを割り当てる。(map)
  3. ホットキーの割り当てを解除する。(unmap)
  4. 一連のキー入力を関数やリンクに割り当てる。(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);

メジャーなブラウザでは恐らく動作すると思いますが、不具合がありましたらご報告いただければ幸いです。