Web、サーバー、ネイティブの各プラットフォームで利用できる、組み合わせ可能なコンポーネントからインタラクティブなUIを構築するJavaScriptライブラリ。
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
npmでパッケージをインストールする
npm install --save tinykeys - 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 の数値は毎日更新されます。
関連プロジェクト
宣言的なWebコンポーネントを、DOMを効率よく直接更新するJavaScriptに変換するコンパイラです。
CLIやMCPサーバーから参照できる、エージェント向けUI・デザインエンジニアリングスキルのレジストリ。
React、Vue、Angular、Svelteなどに対応し、UIコンポーネントを分離して構築・ドキュメント化・テストできるフロントエンド向けワークショップ。
Goだけで宣言的なコンポーネントベースのUIを書き、WebAssemblyを使ってPWAを構築できるGoパッケージ。
Webサイトに検索可能なアクションメニューとキーボードショートカットを追加できる、React製のコマンドパレット(Cmd+K)コンポーネント。