Новый аналог Punto Switcher для linux: xswitcher
Прекращение поддержки xneur вызвало у меня определённые страдания в последние полгода (с появлением OpenSUSE 15.1 на моих десктопах: при включённом xneur окна теряют фокус и забавно мерцают в такт ввода с клавиатуры).
«А, блин, опять не в той раскладке начал набирать» — в моей работе встречается до неприличия часто. И позитива не добавляет.
В то же время, я (как инженер-конструктор) могу достаточно ясно сформулировать чего хочу. А хотел я (сначала от Punto Switcher, а затем, спасибо Windows Vista, окончательно пересев на Linux, от xneur) ровно одного. Осознав, что на экране белиберда не в той раскладке (такое обычно случается в конце набора нового слова), топнуть по «Pause/Break». И получить то что печатал.
На данный момент изделие имеет оптимальное (с точки зрения меня) отношение функциональность/сложность. Пора делиться.
Дальше пойдут всякие технические подробности, поэтому сначала — ссылка «на потрогать» для нетерпеливых.
На данный момент захардкожено следующее поведение:
- «Pause/Break»: забивает (Backspace) последнее слово, переключает раскладку в активном окне (между 0 и 1) и набирает ещё раз.
- «Левый Ctrl без ничего»: переключает раскладку в активном окне (между 0 и 1).
- «Левый Shift без ничего»: включает в активном окне раскладку №0.
- «Правый Shift без ничего»: включает в активном окне раскладку №1.
С этого момента я планирую кастомизировать поведение. Без обратной связи — не интересно (меня и так устраивает). Полагаю, на Хабре найдётся достаточный процент аудитории с аналогичными проблемами.
N.B. Т.к. в текущей версии кейлоггер прикручивается к «/dev/input/», xswitcher должен запускаться с рутовыми правами:
Обратите внимание: владельцем файла с suid должен быть root, т.к. кто владелец — в того suid и превратит при запуске.
Параноики (я не исключение) могут клонировать из GIT и собрать на месте. Примерно так:
Автозапуск добавлять по вкусу (в зависимости от DE).
Работает, «каши не просит» (≈30 секунд CPU в сутки, ≈12 МБ в RSS).
Подробности
Весь репозиторий изначально был посвящён моему пет-проекту, а другой заводить — пока лень. Так что, всё свалено в кучу (просто по папкам) и накрыто AGPL («патент наоборот»).
Код xswitcher написан на golang, с минимальными вкраплениями C. Предполагается, что такой подход даст наименьшие трудозатраты (пока так и есть). Сохраняя возможность подключать недостающее посредством cgo.
По тексту разложены комментарии, откуда чего позаимствовал и зачем. Т.к. код xneur меня «не вдохновил», за отправную точку взял loloswitcher.
Использование «/dev/input/» имеет как свои плюсы (всё видно в т.ч. зажатую клавишу с автоповтором), так и минусы. Минусы такие:
- Автоповтор (события с кодом «2») не коррелирует с повтором с иксах.
- Не видно ввода через интерфейсы X11 (так например VNC работает).
- Нужен рут.
С другой стороны, можно подписываться на события X через «XSelectExtensionEvent()». Подсмотреть можно в коде xinput. Для go ничего подобного не нашёл, а черновая реализация дала с ходу сотню строчек C-кода. Пока отложил в сторону.
Вывод «обратно» пока сделан через прикручивание виртуальной клавиатуры. Спасибо автору keybd_event, но там слишком высокоуровневая абстракция и дальше придётся переделывать. У меня, например, правая Win-клавиша 3-й ряд выбирает. А обратно транслируется только левая Win.
Известные ошибки
Заключение
Код — простейший процедурный. И туп как я. Так что, тешу себя надеждой что дописать желаемое сможет практически любой технарь. И данное изделие благодаря этому не сгинет без поддержки подобно большинству just-for-fun.
Источник
Ubuntu66.ru — новости, уроки, помощь, поддержка.
XNeur Switcher — программа для автоматического переключения раскладок клавиатуры, в зависимости от набираемого текста.
Очень удобна тем кто много печатает с применением двух и более языков.
Принцип работы xneur аналогичен Punto Switcher в Windows.
На данный момент поддерживаются следующие языки: Армянский, Белорусский, Болгарский, Чешский, Грузинский, Немецкий, Греческий, Английский, Эстонский, Французский, Казахский, Литовский, Латвийский, Польский, Молдавский (Румынский), Русский,Испанский, Украинский и Узбекский.
Для удобства работы имеются два режима: автоматический и ручной.
При работе в автоматическом режиме, xneur автоматически определяет раскладку вводимого текста и изменяет язык за вас. В этом режиме предусмотрена возможность задания приложений исключений, в которых автоматический режим будет заменён на ручной.
Подробнее почитайте на сайте разработчика: http://www.xneur.ru
Установка XNeur в Ubuntu/Linux Mint
Программа XNeur есть в Центре приложений Ubuntu и Менеджере программ (Linux Mint), но я предлагаю подключить её собственный репозиторий. Для этого откройте терминал (Ctrl+Alt+T), скопируйте и выполните следующие команды:
sudo add-apt-repository ppa:andrew-crew-kuznetsov/xneur-stable
sudo apt-get update
sudo apt-get install xneur
Для того чтобы значок программы отображался в трее, необходимо включить его в белый лист программ размещённых в systray на панели, а лучше если в белый лист войдут все значки [‘all’]:
Вы можете это сделать в программе Dconf Editor, как на снимке или выполнить следующую команду в терминале:
gsettings set com.canonical.Unity.Panel systray-whitelist «[‘all’]»
Теперь вы можете запустить XNeur из меню Даш для Ubuntu:
Для Linux Mint: Приложения->Стандартные->gXNeur.
В программе много настроек, которые вы можете открыть, кликнув правой кнопкой на значке и выбрать Параметры:
Чтобы XNeur запускался при входе в систему, в окне Настройки, во вкладке Параметры активируйте пункт Запускать автоматически при старте системы и OK:
Если вас раздражает звук при нажатии клавиш, его можно отключить: Настройки ->Уведомления. Снять флажки с пунктов Нажатие клавиши при раскладке 1 и Нажатие клавиши при раскладке 2, либо чтобы отключить все звуки, снимите флажок — Проигрывать звуки:
Примечание. Есть одно неудобство в использовании данной программы, а именно когда вы вводите свой пароль, как администратор и если он состоит из цифр, букв и символов, то XNeur может автоматически переключиться на другой язык, что приведёт к неправильному вводу пароля. В данном случае нужно переключиться на ручной режим (Остановить демон).
Ссылка на источник compizomania
28-07-2012.
Источник
Xneur для linux mint
30 окт 2018, 23:22
Пошаговая инструкция как я поборол Xneur.
Смысл в том что флажков в трее мне не досталось в виду отсутствия Unity трея .
И как следствие в настройки программы попасть обычным способом стало не реально.
А меня так достал звук печатной машинки при наборе текста ( если забыл его отключить ) и
всякие автоподстановки итд
На просторах инета были найдены настройки проги в файле config — xneurrc —
Храниться он на компе /usr/local/etc/xneur/xneurrc
С помощью средств поиска находим файл — xneurrc
Открываем его и сохряняяем копию например на рабочем столе.
Меняем настройки согласно инструкции ( внизу ) и сохраняем под именем — xneurrc
Создаем папку в моем случае del и ложим в нее файл xneurrc
Саму папку я бросил в домашнюю папку aser
далее открываем терминал
команда : sudo cp /home/aser/del/xneurrc /etc/xneur
заменяет файл настроек на свой с измененными настройками.
Почему так сложно ?
Во первых пока не Гуру а во вторых и третьих не получалось у меня редактировать файл
с настройками никаким путем в одном случае файл был только для чтения, в других или не открывался
или в терминале писалось что то непонятное.
Тогда решил подменить оригинальный файл настроек своим отредактированным
Для пущей надежности в момент подмены файла config прога Xneur была выгружена из системы
Запускаем прогу и все мои исправления вступили в силу
Источник
Xneur для linux mint
When users work in multilingual environment (e.g. Russian+English), they sometimes type in text with wrong keyboard layout. In auto mode XNeur can automatically detect language of word user typed, switch keyboard layout and convert word from one keyboard layout into another. In manual mode user has ability to convert last typed word or some selected text with hot-keys. The main idea of this utility is similar to Punto Switcher for MS Windows. For now XNeur support English, Russian, Ukrainian, Belarusian, French, Romanian, German, Kazakh and many other languages.
Latest reviews
Except some minor flaws, works OK (with Gxneur GUI) in 20.1. Alas, not supported anymore 🙁
Punto Switcher — Аналог
В Linux Mint 18 ставится Синаптиком. Искать на xneur, там заодно найдется KDENeur (графическая оболочка). Не ставить вместе с XNeur (оболочка для GTE). Апплет появляется в панели, управление через правую клавишу мышки. Из багов: при включенном демоне xneur не вводится текст с клавиатуры в браузере Chrome. В текстовых редакторах и других браузерах работает. Впрочем, демон включается и выключается за полсекунды. P.S. Проблема с Хромом решается внесением Хрома в список Ignore this applications. Только писать не «Chrome», а «google-chrome».
A good program, it is very convenient
Without it work with two keyboard layouts is terrible.
Источник
compizomania
Азбука в Linux для начинающих и не только. Я знаю только то, что ничего не знаю, но другие не знают и этого. Сократ
Страницы
28 июля 2012
Установить XNeur Switcher в Ubuntu/Linux Mint
XNeur Switcher — программа для автоматического переключения раскладок клавиатуры, в зависимости от набираемого текста.
Очень удобна тем кто много печатает с применением двух и более языков.
Принцип работы xneur аналогичен Punto Switcher в Windows.
На данный момент поддерживаются следующие языки: Армянский, Белорусский, Болгарский, Чешский, Грузинский, Немецкий, Греческий, Английский, Эстонский, Французский, Казахский, Литовский, Латвийский, Польский, Молдавский (Румынский), Русский,Испанский, Украинский и Узбекский.
Для удобства работы имеются два режима: автоматический и ручной.
При работе в автоматическом режиме, xneur автоматически определяет раскладку вводимого текста и изменяет язык за вас. В этом режиме предусмотрена возможность задания приложений исключений, в которых автоматический режим будет заменён на ручной.
Подробнее почитайте на сайте разработчика: http://www.xneur.ru
Установка XNeur в Ubuntu/Linux Mint
Программа XNeur есть в Центре приложений Ubuntu и Менеджере программ (Linux Mint), но я предлагаю подключить её собственный репозиторий. Для этого откройте терминал (Ctrl+Alt+T), скопируйте и выполните следующие команды:
sudo add-apt-repository ppa:andrew-crew-kuznetsov/xneur-unstable
sudo apt-get update
sudo apt-get install xneur
Для того чтобы значок программы отображался в трее, необходимо включить его в белый лист программ размещённых в systray на панели, а лучше если в белый лист войдут все значки [‘all’]:
Вы можете это сделать в программе Dconf Editor, как на снимке или выполнить следующую команду в терминале:
gsettings set com.canonical.Unity.Panel systray-whitelist «[‘all’]»
Теперь вы можете запустить XNeur из меню Даш для Ubuntu:
Для Linux Mint: Приложения->Стандартные->gXNeur.
В программе много настроек, которые вы можете открыть, кликнув правой кнопкой на значке и выбрать Параметры:
Чтобы XNeur запускался при входе в систему, в окне Настройки, во вкладке Параметры активируйте пункт Запускать автоматически при старте системы и OK:
Если вас раздражает звук при нажатии клавиш, его можно отключить: Настройки ->Уведомления. Снять флажки с пунктов Нажатие клавиши при раскладке 1 и Нажатие клавиши при раскладке 2, либо чтобы отключить все звуки, снимите флажок — Проигрывать звуки:
Примечание. Есть одно неудобство в использовании данной программы, а именно когда вы вводите свой пароль, как администратор и если он состоит из цифр, букв и символов, то XNeur может автоматически переключиться на другой язык, что приведёт к неправильному вводу пароля. В данном случае нужно переключиться на ручной режим (Остановить демон).
Источник