1 changed files with 58 additions and 0 deletions
@ -0,0 +1,58 @@
@@ -0,0 +1,58 @@
|
||||
# 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 (для автоматизации вставки символов) |
||||
|
||||
## Установка и запуск |
||||
1. **Требования**: |
||||
- Установленный Python (3.8 или выше). |
||||
- Установленные зависимости: |
||||
```bash |
||||
pip install opencv-python numpy pillow pyperclip |
||||
``` |
||||
- Bash, xclip и xdotool (для автоматизации). |
||||
|
||||
2. **Запуск проекта**: |
||||
- Подготовьте изображение клавиатуры: |
||||
```bash |
||||
python a4_prepare.py |
||||
``` |
||||
- Запустите интерфейс: |
||||
```bash |
||||
python speckb.py |
||||
``` |
||||
|
||||
## Файлы проекта |
||||
- **a4_prepare.py**: Обработка изображения клавиатуры, генерация данных о прямоугольниках и фона. |
||||
- **speckb.py**: Графический интерфейс и функциональность клавиатуры. |
||||
- **rectangles.json**: Содержит данные о позициях и размерах клавиш. |
||||
- **background_image.png**: Сгенерированное изображение фона клавиатуры. |
||||
- **a4keyboard_scan.jpg**: Исходное изображение скана клавиатуры. |
||||
|
||||
## Возможные улучшения |
||||
- Добавление поддержки пользовательских настроек для отображения символов. |
||||
- Улучшение алгоритма распознавания для более точного определения клавиш. |
||||
- Добавление поддержки клика мышкой по клавишам. |
Loading…
Reference in new issue