отслеживание нажатий клавиш на чистом Python без зависимостей или встроеных модулей
-
key.py
LetterKey— работа с буквами, проверка корректности ввода.NumberKey— работа с цифрами, проверка корректности ввода.is_press(k, desired)— функция для проверки, была ли нажата нужная клавиша.
-
data_keys.py
list_keys_letters— [список] набор поддерживаемых букв (английский, немецкий, русский).list_keys_numbers— [множество} набор поддерживаемых цифр (0–9).
-
exceptions.py
Пользовательские исключения:
Исключение Назначение BaseClassБазовый класс для всех исключений библиотеки. Вызывать напрямую нельзя. ThisNotLetterВыбрасывается, если переданный аргумент не является буквой. ThisNotNumВыбрасывается, если переданный аргумент не является цифрой. Наследуется от ThisNotLetter.LenErrorВыбрасывается, если переданная буква имеет длину не равную 1 символу. Наследуется от ThisNotNum.
- Чистая и читаемая архитектура: проект разделён на модули по функционалу — клавиши, данные, исключения. Легко расширять и поддерживать.
- Гибкая проверка ввода: отдельные классы для букв и цифр с собственными правилами и пользовательскими исключениями.
- Уникальные наборы клавиш: использование множеств (set) для хранения букв и цифр ускоряет проверку наличия элемента и исключает дубликаты.
- Простота использования: функция
is_pressи классыLetterKey/NumberKeyпозволяют быстро проверять нажатия клавиш без лишнего кода.
Примеры находятся в папке example/ и демонстрируют базовое использование библиотеки для работы с буквами и цифрами.
git clone <https://github.com/python-9999/ThisKey>
cd ThisKey
# Далее импортируйте модули в вашем проекте