A small keyboard based on Python/Tkinter for inserting special characters. Dependencies: xclip, xdotool for clipboard handling and auto-insertion.
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.
 
FedorSarafanov 2fffcec548 Update Readme 11 months ago
README.md Update Readme 11 months ago
a4_prepare.py Scan, prepare and main program 11 months ago
a4keyboard_scan.jpg Scan, prepare and main program 11 months ago
background_image.png Press Esc to exit 11 months ago
rectangles.json Scan, prepare and main program 11 months ago
speckb.py Press Esc to exit 11 months ago

README.md

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

Возможные улучшения

  • Добавление поддержки пользовательских настроек для отображения символов.
  • Улучшение алгоритма распознавания для более точного определения клавиш.
  • Добавление поддержки клика мышкой по клавишам.