Разработки проекта PuppyRus > PureBasic

TextCorrection (PureBasic)

(1/3) > >>

AZJIO:
TextCorrection

Скачать: yadi.sk upload.ee



Назначение
Исправление текста набранного в неправильной раскладке клавиатуры, случайно нажатым капслоком и др.


Использование
1. Выделить текст, строку, фразу
2. Вызвать горячую клавишу для преобразования
3. Вставить результат из буфера обмена

Пишу программу TextCorrection для Linux. Эту идею я уже давно осуществил на Windows, но в Linux мне крайне не достаёт функционала. Эксперимент начал в мае 2020г, продолжил попытку в январе 2021г, так как появились идеи использовать xdotool, xvkbd для эмуляции горячих клавиш. В данный момент нашёл xsel и дело сдвинулось с мёртвой точки, так как утилита просто захватывает выделенный текст в любом окне, без эмуляции Ctrl+C используя буфер обмена. Вставка пока толком не работает, Ctrl+V работает через раз, а также автоматическое выделение текста ctrl+shift+left используя xdotool работает как отдельная команда, но пока не срабатывает в исходнике.

Вставка методом

--- Код ---
RunProgram("xvkbd", "-xsendevent -text " + Chr(34) + New_Text$ + Chr(34), "")
--- Конец кода ---
вызвала проблему кодировки и посчитал это не надёжным способом, тем более при наличии метасимволов \C и других может вообще эмулировать горячую клавишу вместо вставки.

Текущий обновляемый исходник
Если есть желание тестить вот скомпилированный (+исходник), ложим файл в /usr/bin, в DE добавляем глобальные горячие клавиши "text-correction -r" (преобразование англ-рус туда-обратно) и  "text-correction -t" (транслитерация), а в дальнейшем добавить "Красная строка", "ВЕРХНИЙ РЕГИСТР", "нижний регистр".

sfs:
У меня запустился - см. скрин. так должно быть?

AZJIO:
Так, если без ключей. Прога работает только с ключами, чтобы разделить функционал, а без ключей выдаёт версию, чтобы проверить что прога на месте, версия соответствует, а то я когда тестировал мне казалось может я что-то не так делаю, а когда получаю сообщение, то понимаю, что всё так и проблема только в неправильных командах.


Допустим пишем любой текст в браузере/блокноте/вайбере, везде где есть текстовый курсор, например пишем ghbdtn, далее видим что текст написан неправильно, выделяем текст (слово, строку), жмём хоткей (у меня правый Ctrl+\), далее жмём Ctrl+V и вместо ghbdtn будет вставлено слово "привет".

Важно именно хоткей, потому что если набирать команду в терминале, то поменяется фокус окна, я даже не тестировал как в этом случае будет работать.

В будущем выделять текст не надо будет, так как хоткей сам сделает выделение слова слева от курсора, подразумевая что в активном окне последний текст был введён неправильно. Также не надо будет жать Ctrl+V, потому что это будет автоматически. Но пока этого нет, то всё делаем руками.

Блин, я тестовый исходник выложил, там сейчас вылетает сообщение с преобразованным текстом, у меня закрадывается где-то перенос строки и хочу это исправить.

AZJIO:
sfs
вот видео идеи

перезалил архив, добавил описание, добавил проверку пакетов xsel, xdotool, убрал перенос строки в возвращаемом результате. Практически уже можно пользоваться, иногда даже вставляет автоматически.

sfs:
Попробовал на арче (prar2008)
xdotool v 3.20160805.1 не понимает ключ --clearmodifier
С текстом в lxterminal у меня не сработало. Только изменился размер окна
Возможно из-за --clearmodifier ...

Навигация

[0] Главная страница сообщений

[#] Следующая страница

Перейти к полной версии