JavaScript-библиотека для создания интерактивных пользовательских интерфейсов из компонентов, работающих в вебе, на сервере и нативных платформах.
jamiebuilds/tinykeys
Небольшая библиотека для браузеров, которая связывает сочетания клавиш, включая последовательности, с обработчиками.
- Звёзды
- 4,104
- Форки
- 89
- Открытые issues
- 7
- Последний коммит
- в прошлом месяце
Что это?
tinykeys — небольшая JavaScript-библиотека для регистрации сочетаний клавиш в веб-приложениях. Передайте ей цель, например window, и объект, в котором шаблоны клавиш вроде "Shift+D" или "$mod+b" сопоставлены с callback-функциями. Библиотека отслеживает события клавиатуры и вызывает соответствующий обработчик. Она также возвращает функцию отписки, поэтому привязки легко очищать при размонтировании компонента.
Синтаксис поддерживает модификаторы, необязательные модификаторы в квадратных скобках, кроссплатформенный псевдоним $mod, который соответствует Meta на Mac и Control на других платформах, а также группы регулярных выражений для сопоставления наборов клавиш. Поддерживаются последовательности вроде "g i" с настраиваемым таймаутом между нажатиями. Сопоставление выполняется по KeyboardEvent.key или KeyboardEvent.code, а для отображения сочетаний в интерфейсе библиотека предоставляет helper parseKeybinding.
Библиотеку можно установить через npm или загрузить с CDN; она написана на TypeScript.
Ключевые возможности
- 01Связывает отдельные клавиши, сочетания с модификаторами и последовательности клавиш с функциями-обработчиками.
- 02Предоставляет псевдоним $mod: на Mac он соответствует Meta, а на других платформах — Control.
- 03Поддерживает группы регулярных выражений, чтобы сопоставлять несколько клавиш одной привязкой.
- 04Возвращает функцию отписки для очистки обработчиков событий.
- 05Может сопоставлять клавиши по key или code и учитывать различия раскладок, например AltGraph.
- 06Предоставляет parseKeybinding для отображения сочетаний клавиш в интерфейсе.
Сценарии использования
- Добавление сочетаний клавиш, например Cmd+B для полужирного начертания, в веб-редактор текста.
- Реализация в веб-приложении последовательностей навигации из нескольких клавиш, как в Gmail, например "g i".
- Регистрация сочетаний клавиш внутри React-компонентов с очисткой при размонтировании.
Быстрый старт
- 1
Установите пакет с помощью npm
npm install --save tinykeys - 2
Импортируйте tinykeys и привяжите горячие клавиши к window
В подборках
Темы
Частые вопросы
- Что такое tinykeys?
- Небольшая библиотека для браузеров, которая связывает сочетания клавиш, включая последовательности, с обработчиками. tinykeys — небольшая JavaScript-библиотека для регистрации сочетаний клавиш в веб-приложениях. Передайте ей цель, например window, и объект, в котором шаблоны клавиш вроде "Shift+D" или "$mod+b" сопоставлены с callback-функциями. Библиотека отслеживает события клавиатуры и вызывает соответствующий обработчик. Она также возвращает функцию отписки, поэтому привязки легко очищать при размонтировании компонента.
- tinykeys можно использовать бесплатно? Какая у него лицензия?
- tinykeys распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- tinykeys всё ещё поддерживается?
- Обновлялся за последние 6 месяцев. Последний коммит в tinykeys — 25 сент. 2026 г..
- Для чего можно использовать tinykeys?
- Добавление сочетаний клавиш, например Cmd+B для полужирного начертания, в веб-редактор текста. Реализация в веб-приложении последовательностей навигации из нескольких клавиш, как в Gmail, например "g i". Регистрация сочетаний клавиш внутри React-компонентов с очисткой при размонтировании.
- Как установить tinykeys?
- Установите пакет с помощью npm: npm install --save tinykeys Импортируйте tinykeys и привяжите горячие клавиши к window
- Где скачать tinykeys?
- Исходный код и инструкции по установке — на GitHub: https://github.com/jamiebuilds/tinykeys
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Компилятор, который превращает декларативные веб-компоненты в эффективный JavaScript, точечно обновляющий DOM.
Реестр готовых для AI-агентов навыков в области UI и дизайн-инжиниринга, доступный через CLI и MCP-сервер.
Фронтенд-среда для разработки, документирования и тестирования UI-компонентов в изоляции с поддержкой React, Vue, Angular, Svelte и других технологий.
Пакет Go для создания прогрессивных веб-приложений на WebAssembly с декларативным компонентным интерфейсом, полностью написанным на Go.
Библиотека компонентов React для добавления на сайт меню команд Cmd+K с поиском и сочетаниями клавиш.