Repolode
jamiebuilds

jamiebuilds/tinykeys

複数キーのシーケンスにも対応し、キーボードショートカットをハンドラー関数に割り当てる、ブラウザー向けの軽量なキー割り当てライブラリ。

スター
4,104
フォーク
89
未解決の Issue
7
最終コミット
先月

これは何?

tinykeysは、Webアプリケーションでキーボードショートカットを登録するための小さなJavaScriptライブラリです。windowなどの対象と、「Shift+D」や「$mod+b」のようなキーのパターンをコールバック関数に対応付けたオブジェクトを渡すと、キーボードイベントを監視し、一致するハンドラーを呼び出します。また、購読解除関数を返すため、コンポーネントのアンマウント時に割り当てを簡単に解除できます。

修飾キー、角括弧で指定する省略可能な修飾キー、MacではMeta、それ以外ではControlに対応するクロスプラットフォームの$modエイリアス、複数のキーを照合する正規表現グループを使った構文に対応しています。「g i」のようなシーケンスもサポートしており、キー入力間のタイムアウトを設定できます。割り当てはKeyboardEvent.keyまたはKeyboardEvent.codeに基づいて照合され、UIでショートカットを表示するためのparseKeybindingヘルパーも備えています。

ライブラリはnpmからインストールするか、CDNから読み込めます。TypeScriptで記述されています。

主な機能

  • 01単一キー、修飾キーの組み合わせ、複数キーのシーケンスをハンドラー関数に割り当てられます。
  • 02$modエイリアスを提供し、MacではMeta、それ以外のプラットフォームではControlに対応します。
  • 03正規表現グループを使って、1つの割り当てで複数のキーに一致させられます。
  • 04リスナーを解除するための購読解除関数を返します。
  • 05keyまたはcodeに基づく照合に対応し、AltGraphなどによるキーボードレイアウトの違いも処理します。
  • 06UIでショートカットを表示するためのparseKeybindingを提供します。

ユースケース

  • Webテキストエディターに、太字にするCmd+Bなどのキーボードショートカットを追加する。
  • Webアプリで「g i」のようなGmail風の複数キーによるナビゲーションシーケンスを実装する。
  • アンマウント時にクリーンアップできるよう、Reactコンポーネント内でショートカットを登録する。

クイックスタート

  1. 1

    npmでパッケージをインストールする

    npm install --save tinykeys
  2. 2

    tinykeysをインポートし、ショートカットをwindowにバインドする

収録されている特集

トピック

よくある質問

tinykeys とは?
複数キーのシーケンスにも対応し、キーボードショートカットをハンドラー関数に割り当てる、ブラウザー向けの軽量なキー割り当てライブラリ。 tinykeysは、Webアプリケーションでキーボードショートカットを登録するための小さなJavaScriptライブラリです。windowなどの対象と、「Shift+D」や「$mod+b」のようなキーのパターンをコールバック関数に対応付けたオブジェクトを渡すと、キーボードイベントを監視し、一致するハンドラーを呼び出します。また、購読解除関数を返すため、コンポーネントのアンマウント時に割り当てを簡単に解除できます。
tinykeys は無料で使えますか?ライセンスは?
tinykeys は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
tinykeys は今もメンテナンスされていますか?
半年以内に更新あり。tinykeys の最終コミットは 2026年9月25日 です。
tinykeys は何に使えますか?
Webテキストエディターに、太字にするCmd+Bなどのキーボードショートカットを追加する。 Webアプリで「g i」のようなGmail風の複数キーによるナビゲーションシーケンスを実装する。 アンマウント時にクリーンアップできるよう、Reactコンポーネント内でショートカットを登録する。
tinykeys のインストール方法は?
npmでパッケージをインストールする: npm install --save tinykeys tinykeysをインポートし、ショートカットをwindowにバインドする
tinykeys はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/jamiebuilds/tinykeys

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト