# 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 (для автоматизации вставки символов) ### Установка и запуск ```bash pip install opencv-python numpy pillow pyperclip sudo apt install xclip xdotool ``` Подготовьте изображение клавиатуры: ```bash python a4_prepare.py ``` Запустите интерфейс: ```bash python speckb.py ``` ## Возможные улучшения - Добавление поддержки пользовательских настроек для отображения символов. - Улучшение алгоритма распознавания для более точного определения клавиш. - Добавление поддержки клика мышкой по клавишам.