You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
3.0 KiB
3.0 KiB
SFG Special Symbols Keyboard
Описание
Этот проект представляет собой интерактивную клавиатуру для ввода специальных символов. Клавиатура отображается с использованием графического интерфейса, созданного на базе Tkinter
, и позволяет быстро копировать специальные символы в буфер обмена.
Логика работы
-
Обработка изображения:
- Скрипт
a4_prepare.py
анализирует изображение клавиатуры (например, скан клавиатурыa4keyboard_scan.jpg
), выделяет прямоугольные области клавиш. Подписи на клавишах закрываются прямоугольником с средним цветом фона с добавлением шума для естественности. Выходной файл с пустыми клавишами сохраняется вbackground_image.png
. - Позиции прямоугольников клавиш сохраняются в файле
rectangles.json
.
- Скрипт
-
Графический интерфейс:
- Скрипт
speckb.py
отображает виртуальную клавиатуру с метками клавиш и соответствующими специальными символами. - При нажатии на клавишу физической клавиатуры:
- Происходит подсветка соответствующей клавиши виртуальной клавиатуры.
- Спецсимвол копируется в буфер обмена.
- Окно автоматически закрывается через 100 мс.
- Спецсимвол через 20 мс после закрытия виртуальной клавиатуры вставляется в текущее активное окно.
- Скрипт
Зависимости
- Python 3.8+
- Библиотеки:
cv2
(OpenCV)numpy
Pillow
Tkinter
pyperclip
- Bash и xdotool (для автоматизации вставки символов)
Установка и запуск
pip install opencv-python numpy pillow pyperclip
sudo apt install xclip xdotool
Подготовьте изображение клавиатуры:
python a4_prepare.py
Запустите интерфейс:
python speckb.py
Возможные улучшения
- Добавление поддержки пользовательских настроек для отображения символов.
- Улучшение алгоритма распознавания для более точного определения клавиш.
- Добавление поддержки клика мышкой по клавишам.