Skip to content

erswitcher (EN—RU Switcher) — транслитератор текста и переключатель клавиатуры. Аналог puntoswitchera и xneuro (который уже не поддерживается и подвисает в хроме).

License

Notifications You must be signed in to change notification settings

darviarush/erswitcher

Repository files navigation

NAME

erswitcher (EN—RU Switcher) — транслитератор текста и переключатель клавиатуры

VERSION

7.2

SYNOPSIS

erswitcher — приложение Иксов (X11).

Он реагирует на следующие комбинации клавиш:

  • ⎉Pause — транслитерировать последнее введённое с клавиатуры слово (только что набранный текст от курсора назад до пробела).
  • ⎈Control+⎉Pause — транслитерировать последний введённый с клавиатуры текст.
  • ⇧Shift+⎉Pause — транслитерировать выделенный текст.
  • ⎇Alt+⎉Pause — инвертировать регистр символов в выделенном тексте.
  • ⎇Alt+⇧Shift+⎉Pause — инвертировать регистр символов в последнем введённом слове.
  • ⎇Alt+⎈Control+⎉Pause — инвертировать регистр символов в последнем введённом тексте.
  • Scroll_Lock или KP_Begin (центральная клавиша на дополнительной цифровой секции клавиатуры) — заменить последние введённые символы на их соответствие описанное в секции [compose] конфиг-файла (~/.config/erswitcher.conf).

В системном лотке (у часов) появится красный квадрат во время работы erswitcher-а. Щёлкните на нём мышью, чтобы вызвать редактор конфига (для него должен быть установлен tcl+tk). Все изменения конфига в редакторе тут же применяются.

MINDMAP

Ссылка на метнальную карту проекта: https://mm.tt/map/2103991969?t=R40E3CBQoD.

DESCIPTION

EN—RU Switcher прослушивает клавиатуру и запоминает последний ввод.

Если была нажата ⎉Pause EN—RU Switcher нажимает на клавишу ⌫Backspace и стирает последнее введённое слово, а затем — вводит с клавиатуры его транслитерацию.

При нажатии ⇧Shift+⎉Pause EN—RU Switcher копирует выделенный фрагмент текста в буфер обмена, транслитерирует его и вводит с клавиатуры.

При переключении окна или нажатии на специальные клавиши, такие, например, как клавиши курсора, введённый такст забывается.

⎇Alt+⎉Pause позволяет поменять регистр символов которые были введены с зажатой клавишей Shift в выделенном тексте.

Все эти комбинации клавишь можно поменять в конфигурационном файле erswitcher-а - ~/.config/erswitcher.conf.

Если при старте программы конфиг-файла не было, то он будет создан со значениями по умолчанию.

Обратите внимание, что замены ([compose]) позволяют устанавливать курсор в указанное с помощью \\^ положение, благодаря чему с помощью них удобно задавать сниппеты для программирования. См. подробнее раздел [compose].

Так же, в командах ([commands]) можно использовать выделенный текст с помощью %i, а так же вставлять вывод команды в местоположение курсора с помощью %o. См. подробнее раздел [commands].

INSTALL

С помощью git:

$ git clone https://github.com/darviarush/erswitcher.git
$ cd erswitcher
$ make && make install && make launch

EN—RU Switcher будет скомпилирован, установлен в ~/.local/bin/erswitcher и запущен из ~/.local/bin в фоне.

DEPENDENCIES

Для сборки потребуются:

  • gcc
  • make
  • libX11.so
  • libxkbcommon.so
  • libXtst.so

Конфигуратор EN—RU Switcher-а написан на tcl-tk, соответственно:

  • tcl
  • tk

ubuntu

sudo apt install gcc name libxkbcommon-dev libxtst-dev tcltk

arhlinux

sudo pacman -S make gcc libx11 libxkbcommon libxtst tcl tk

AUTOLOAD

При старте EN—RU Switcher переписывает файлы в каталоге пользователя ~/.local/applications/erswitcher.desktop и ~/.config/autostart/erswitcher.desktop. Таким образом он сразу же запускается при старте рабочего стола поддерживающего стандарт freedesktop.org.

CONFIG

erswitcher-configurator

Для запуска конфигуратора нужно кликнуть на значке EN—RU Switcher-а в системном трее.

При редактировании конфиг будет тут же перечитываться EN—RU Switcher-ом.

Используйте в ключ=значение:

  • \= — если нужно равно до разграничителя =.

В значении действуют следующие подстановки:

  • \t — табуляция;
  • \n — перевод строки;
  • \\ — бекслеш;
  • \^ — переставляет курсор на эту позицию после вставки (действует пока только в секции [compose]).

Конфиг-файл (~/.config/erswitcher.conf) состоит из следующих секций:

[functions]

комбинация-клавишь=функция

При нажатии на комбинацию запускает соответствующую функцию.

# Транслитерация последнего введённого слова
Pause=word translate
# Транслитерация последнего ввода
Control+Pause=text translate
# Транслитерация выделенного участка или буфера обмена
Shift+Break=selected translate
# Изменение регистра последнего введённого слова
Alt+Shift+Break=word invertcase
# Изменение регистра последнего ввода
Alt+Control+Pause=text invertcase
# Изменение регистра последнего введённого слова
Alt+Pause=selected invertcase
# Транслитерация последнего введённого символа в дополнительные символы
KP_Begin=compose
Scroll_Lock=compose

[options]

опция=значение

Настройки.

# Задержка между вызовами клавиатуры в секундах
delay=0,01
# Задержка между нажатиями клавишь в секундах
loop_delay=0,01

[compose]

что=на что

Функция compose описанная в секции [functions] заменяет последние введённые символы на указанную строку.

Допустим мы ввели Ъ и нажали KP_Begin, тогда EN—RU Switcher, нажмёт на клавиатуре Backspace, захватит буфер обмена clipboard и нажмёт Shift+Insert, после чего активное приложение запросит у него букву Ї.

# Дополнительные символы кириллицы для украинского и белорусского алфавитов
ы=і
Ы=І
ъ=ї
Ъ=Ї
щ=ў
Щ=Ў
э=є
Э=Є
г=ґ
Г=Ґ
ё=’
Ё=₴

[snippets]

комбинация-клавишь=текст

Сниппеты вводятся через буфер обмена clipboard и могут содержать любые символы. После ввода буфер обмена восстанавливается.

Super+Pause=Готово.

[commands]

комбинация-клавишь=шелл-сценарий

Команды операционной системы. Выполняются в оболочке шелла (/bin/sh).

В них возможны подстановки:

  • %i – путь к временному файлу с содержимым выделенного текста;
  • %o – путь к временному файлу содержимое которого будет вставлено через буфер обмена через Shift+Insert после выполнения команды. Перевод строки в конце этого файла не вставляется.
Alt+Control+Shift+Break=kate ~/.config/erswitcher.conf && killall -HUP erswitcher
Alt+Control+p=echo $PATH > %o
Alt+Control+d=date > %o
Alt+Control+x=who i am > %o
Alt+Control+t=trans ru:en -b < %i > %o
Alt+Control+y=trans en:ru -b < %i > %o

Примечание: пока команда запущена запустить другую будет нельзя.

Интересно: утилита trans из примера выше является консольным переводчиком. Выделение текста на русском и нажатие Alt+Control+t приведёт к его замене на его перевод на английский.

В archlinux, например, trans можно установить так: pacman -S translate-shell.

BUG

Замеченные баги:

  • Первая буква иногда не транслитерируется: возможно перезагружен процессор или тормозит само приложение в котором набирается текст.

AUTHOR

Yaroslav O. Kosmina dart@cpan.org.

LICENSE

GPLv3

About

erswitcher (EN—RU Switcher) — транслитератор текста и переключатель клавиатуры. Аналог puntoswitchera и xneuro (который уже не поддерживается и подвисает в хроме).

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published