Punto switcher linux fedora

Saved searches

Use saved searches to filter your results more quickly

You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.

License

ffcrus/garlic

This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Sign In Required

Please sign in to use Codespaces.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching Xcode

If nothing happens, download Xcode and try again.

Launching Visual Studio Code

Your codespace will open once ready.

There was a problem preparing your codespace, please try again.

Latest commit

Git stats

Files

Failed to load latest commit information.

README.md

Скрипт для изменения раскладки уже набранного текста

Пожалуйста, создавайте тикет в Discussions или Issues с обратной связью: где скрипты работают, а где нет. Я буду обновлять этот раздел.

Когда-то моей операционной системой была Windows. И там я пользовался очень популярной программой Punto Switcher, которая переключала раскладку уже набранного текста. Она умеет многое другое, но от этого многого другого больше вреда, чем пользы, на мой субъективный взгляд. Потом я перешёл на kUbuntu и захотел себе этого же функционала. К сожалению, готовых решений очень мало и ни одно из них меня не устраивало.

Самое известное — это XNeur. Оно не поддерживается с 2016 года и под KDE нормально не работает.

Ещё есть switcher, но он развивается не туда, куда мне нужно и не может перевести выделенный текст в другую раскладку.

Ещё есть тема на форуме со скриптами, которые не удовлетворяют моим желаниям. Но оттуда я взял идею.

Есть ещё решения для Гнома, но их мы не будем рассматривать. Больше сегодня ничего нет на просторах Интернета.

Я поставил себе задачу так:

  1. Решение должно работать в KDE, т.к. мне нужно для kUbuntu 20.04.5 LTS
  2. Решение должно быть на чистом Bash (уже есть неплохие реализации на Python3)
  3. По любой, назначаемой мной, комбинации клавиш, изменяется раскладка выделенного в этот момент текста.
  4. По любой, назначаемой мной, комбинации клавиш, изменяется раскладка текста от текущего положения курсора и до начала строки.
  5. После изменения раскладки должен измениться системный язык ввода, чтобы дальше удобно было продолжать писать уже на правильной раскладке.
  6. Безопасность: никакие данные никуда не отправляются. Ставить себе кейлоггер своими же руками в систему я не хочу.
  7. Стабильность работы.
    • Даже если пользователь будет нажимать или держать нажатыми любые клавиши на клавиатуре, должно работать корректно
    • После изменение системного языка ввода не должно ломаться системное переключение языков ввода.
Читайте также:  Linux good pdf reader

Как установить и пользоваться

Скрипты работают с использованием xdotool , xsel и sed . Соответственно, сначала устанавливаем их:

sudo apt install xdotool xsel sed 

Необходимо скачать файлы из папки /bin/ и положить в какой-нибудь локальный каталог. Я рекомендую использовать $HOME/bin/ . Должно получиться так:

/home/$USER/bin/layout_changing_selected.sh /home/$USER/bin/layout_changing_previous.sh /home/$USER/bin/notification.wav 

Делаем скрипты исполняемыми:

chmod +x $HOME/bin/layout_changing_selected.sh chmod +x $HOME/bin/layout_changing_previous.sh 

Идём в Параметры системы -> Рабочая среда -> Комбинации клавиш -> Специальные действия и создаём группу для наших скриптов:

Создание группы для скриптов

Пользовательские скрипты для перевода уже набранного текста в другие раскладки 

Добавление комментария

Создаём действие в группе: Новый -> Глобальная комбинация клавиш -> Команда или адрес:

Создание нового действия

Добавляем комментарий к действию:

Этот скрипт позволяет менять раскладку выделенного текста, например, по нажатию Shift+Pause 

Добавление комментария к действию

Назначаем комбинацию клавиш (в моём примере это Shift+Pause):

Назначение комбинации клавиш

Настраиваем действие для комбинации клавиш (в моём примере это $HOME/bin/layout_changing_selected.sh ):

Назначение действия на комбинацию клавиш

Аналогично добавляем скрипт layout_changing_previous.sh с комментарием

Этот скрипт позволяет менять раскладку текста от текущего положения курсора и до начала текущей строки, например, по нажатию Pause 

и действием $HOME/bin/layout_changing_previous.sh .

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

Если хотите, чтобы переключение сопровождалось звуком, необходимо раскомментировать строки в конце файла, чтобы они выглядели так (удалить решётку в начале строк):

SCRIPT_DIR=$HOME/bin/ paplay $SCRIPT_DIR/notification.wav 

Готово. Работать начнёт сразу, без перезагрузки!

QQ=$(~/.src/xkblayout-state/xkblayout-state print '%n'|sed "s:Russian:ru:;s:English:us:;s:Ukrainian:ua:") sleep 0.5 aplay ~/.zFront_Right$QQ.wav 

About

Источник

Punto Switcher для Linux

Punto Switcher для Linux не существует! И как утверждает Яндекс такая разработка в ближайшем будущем не планируется, поэтому на сегодняшний момент можно воспользоваться единственным аналогом Punto Switcher программой XNeur.

X Neural Switcher (GUI) — автоматический переключатель раскладки клавиатуры для X Window System. gXNeur поддерживает восемнадцать языков, в том числе английский, русский, украинский и белорусский. Есть возможность вручную указать программе исправить раскладку последнего слова, нажав по умолчанию Break. Автоматический режим можно отключить, оставив только ручной. Программа присутствует в репозиториях ALT Linux, Linux Mint, русского клуба SuSE, Debian, портах FreeBSD, частных репозиториях Ubuntu и Fedora и пользовательских репозиториях (AUR) Archlinux.

Для установки программы можно воспользоваться стандартным Центром приложений Ubuntu или скачать последнюю версию программы на официальном сайте разработчика — xneur.ru

Центром приложений Ubuntu

Настройка программы gXNeur

Настройка программы gXNeur:

Последняя версия 4.4.4.4 для Windows 7 8 10 XP

Punto Switcher

Скачать Punto Switcher последняя версия Версия: 4.4.6

Дата обновления: 23.05.2023

Читайте также:  Linux команда root пароля

Размер файла: 4.9 Мб

Формат файла: .exe

Разработчик: Yandex

Операционная система:Win 7,8,9,10,11,xp

Лицензия: БЕСПЛАТНО

© Punto Switcher, Inc. 2023
Punto Switcher Лучшая программа для автоматической смены языка на клавиатуре

Источник

Новый аналог Punto Switcher для linux: xswitcher

Прекращение поддержки xneur вызвало у меня определённые страдания в последние полгода (с появлением OpenSUSE 15.1 на моих десктопах: при включённом xneur окна теряют фокус и забавно мерцают в такт ввода с клавиатуры).

«А, блин, опять не в той раскладке начал набирать» — в моей работе встречается до неприличия часто. И позитива не добавляет.

В то же время, я (как инженер-конструктор) могу достаточно ясно сформулировать чего хочу. А хотел я (сначала от Punto Switcher, а затем, спасибо Windows Vista, окончательно пересев на Linux, от xneur) ровно одного. Осознав, что на экране белиберда не в той раскладке (такое обычно случается в конце набора нового слова), топнуть по «Pause/Break». И получить то что печатал.

На данный момент изделие имеет оптимальное (с точки зрения меня) отношение функциональность/сложность. Пора делиться.

TL.DR

Дальше пойдут всякие технические подробности, поэтому сначала — ссылка «на потрогать» для нетерпеливых.

На данный момент захардкожено следующее поведение:

  • «Pause/Break»: забивает (Backspace) последнее слово, переключает раскладку в активном окне (между 0 и 1) и набирает ещё раз.
  • «Левый Ctrl без ничего»: переключает раскладку в активном окне (между 0 и 1).
  • «Левый Shift без ничего»: включает в активном окне раскладку №0.
  • «Правый Shift без ничего»: включает в активном окне раскладку №1.

N.B. Т.к. в текущей версии кейлоггер прикручивается к «/dev/input/», xswitcher должен запускаться с рутовыми правами:

chown root:root xswitcher chmod +xs xswitcher

Обратите внимание: владельцем файла с suid должен быть root, т.к. кто владелец — в того suid и превратит при запуске.

Параноики (я не исключение) могут клонировать из GIT и собрать на месте. Примерно так:

go get "github.com/micmonay/keybd_event" go get "github.com/gvalkov/golang-evdev" ### X11 headers for OpenSUSE/deb-based zypper install libX11-devel libXmu-devel apt-get install libx11-dev libxmu-dev cd "x switcher/src/" go build -o xswitcher -ldflags "-s -w" --tags static_all src/*.go 

Автозапуск добавлять по вкусу (в зависимости от DE).

Работает, «каши не просит» (≈30 секунд CPU в сутки, ≈12 МБ в RSS).

Подробности

Весь репозиторий изначально был посвящён моему пет-проекту, а другой заводить — пока лень. Так что, всё свалено в кучу (просто по папкам) и накрыто AGPL («патент наоборот»).

Код xswitcher написан на golang, с минимальными вкраплениями C. Предполагается, что такой подход даст наименьшие трудозатраты (пока так и есть). Сохраняя возможность подключать недостающее посредством cgo.

По тексту разложены комментарии, откуда чего позаимствовал и зачем. Т.к. код xneur меня «не вдохновил», за отправную точку взял loloswitcher.

Использование «/dev/input/» имеет как свои плюсы (всё видно в т.ч. зажатую клавишу с автоповтором), так и минусы. Минусы такие:

  • Автоповтор (события с кодом «2») не коррелирует с повтором с иксах.
  • Не видно ввода через интерфейсы X11 (так например VNC работает).
  • Нужен рут.
Читайте также:  Linux usb to usb console

Вывод «обратно» пока сделан через прикручивание виртуальной клавиатуры. Спасибо автору keybd_event, но там слишком высокоуровневая абстракция и дальше придётся переделывать. У меня, например, правая Win-клавиша 3-й ряд выбирает. А обратно транслируется только левая Win.

Известные ошибки

  • Ничего не знаем про «композитный» ввод (пример: ½). Прямо сейчас оно не нужно.
  • Неверно воспроизводим правую Win. В моём случае ломает расстановку акце́нтов.
  • Нет внятного разбора ввода. Вместо этого — несколько функций: Compare(), CtrlSequence(), RepeatSequence(), SpaceSequence(). Спасибо nsmcan за внимательность: исправил в коде и здесь. С определённой вероятностью можно отхватить баги при замене.
    В этом месте я не знаю «как надо» и буду рад любым предложениям.
  • (О ужас) конкурентное использование каналов (keyboardEvents, miceEvents).

Заключение

Код — простейший процедурный. И туп как я. Так что, тешу себя надеждой что дописать желаемое сможет практически любой технарь. И данное изделие благодаря этому не сгинет без поддержки подобно большинству just-for-fun.

Источник

Аналог Punto Switcher в Linux – Xneur

Предположим вы долго и старательно пишите сообщение, а потом оказывается что забыли переключить раскладку клавиатуры, досадно, в итоге стираете то что напечатали и начинаете заново. Больше чем уверен, такое случалось с каждым, и для решения данной проблемы были придуманы некоторые инструменты. В Windows имеется многим знакомый Punto Switcher, а для Linux систем написали его аналог – Xneur. При этом, данная утилита имеется в репозиториях некоторых дистрибутивов. Программа имеет возможность работы как в автоматическом режиме, так и в ручном, то есть, как не сложно догадаться при автоматическом режиме она сама переведет текст. Более подробно можно узнать на официальном сайте, там же можно скачать и исходники данной программы.

Установка Xneur в Debian/Ubuntu

И так, переходим к установке данного инструмента, который явно способен облегчить жизнь многим пользователя. Устанавливать будем из официальных репозиториев самих дистрибутивов, хотя, можно скачать исходники и установить Xneur из них. Для установки открываем терминал и вводим простую команду:

Punto Switcher в Linux Xneur 1

Дополнительные пакеты и меню Xneur

Так же на официальном сайте программы рекомендуется установить дополнительные пакеты для вашего языка, установим для Английского и Русского:

Debian/Ubuntu

sudo apt install hunspell-ru hunspell-en-us

В параметрах программы можно дополнительно настроить нужные функция, к примеру автоматический или ручной режим переключения клавиатуры, все меню программы на Русском языке, так что у вас не должно быть с этим проблем:

Punto Switcher в Linux Xneur 2

Заключение

Возможно вы обратили внимания на то, что существует несколько версий данной программы, имеется “gXNeur” – написана на GTK, а так же имеется и для KDE – KDENeur, ну и конечно же оригинал – Xneur. Какую из них ставить, это решать вам, в зависимости от вашего окружения рабочего стола. В случае если же вы хотите самую свежую версию Xneur, ее можно собрать из исходников с официального сайта, там же вы найдете и инструкцию по сборке.

А на этом сегодня все. Надеюсь данная статья будет вам полезна.
Журнал Cyber-X

Источник

Оцените статью
Adblock
detector