Аналог xneur для linux

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

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

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

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

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

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

Debian/Ubuntu

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

Заключение

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

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

Источник

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

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

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


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

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

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

Источник

Новый аналог 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.
Читайте также:  Select open windows powershell as administrator option

С этого момента я планирую кастомизировать поведение. Без обратной связи — не интересно (меня и так устраивает). Полагаю, на Хабре найдётся достаточный процент аудитории с аналогичными проблемами.

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.

Источник

X Neural Switcher — Поваренная книга (Часть 1). Предтечи и аналоги

Приветствую.

В этой части цикла статей об xneur я хочу рассказать о программах для GNU/Linux, которые косвенно или явно имеют отношение к переключению раскладки, перехвату событий клавиатуры, записи или логированию нажатий клавиш, а так же скриптам, выполняющим подобные xneur функции.

Речь пойдет о тех программах, которые я знаю, пробовал, и из которых брал те или иные идеи работы с xlib и перехватом клавиатуры в linux.

Сами по себе, эти программы прямого отношения к xneur не имеют, но если вам захочется сделать что-то подобное xneur, то для общего развития ознакомиться с ними и с их кодом стоит (только в том случае, если потеряете исходники xneur).

Предтечи

xev
Является утилитой из пакета x11-utils. Предназначена для показа очереди сообщений X сервера.
При запуске отображает свое окно и показывает все сообщения X сервера, предназначенные этому окну. В прочем, может показывать сообщения X сервера и для других окон по их ID. Перехвата клавиатуры как такового не производит, просто показывает копию очереди сообщений.

xdotool, xvkbd
Программы для отправки приложениям клавиатурных нажатий, текста или щелчков мышью. Обе программы в той или иной степень используют расширение XTEST протокола X11.
xdootool живет тут www.semicomplete.com/projects/xdotool. Программа вообще позволяет очень многое: симулировать клавиатурный ввод, мышь (щелчки и движение), передвижение, изменение размеров, скрытие или показ окон, etc. Рекомендую эту программу для скриптования.

Аналоги

sven
Эта программа (http://sven.linux.kiev.ua/), умершая еще на заре xneur, позволяет настроить дополнительные клавиши на мультимедийной клавиатуре. Это такие клавиши как: «WWW», «E-mail», кнопки регуляции громкости, управления CD-ROM и др. Более того, даже если вы используете обычную клавиатуру, с помощью Sven можно эмулировать мультимедиа-клавиши при помощи клавиатурных сочетаний, например: Ctrl+w — запуск веб-браузера и т.д. Для включения функции конвертации текста надо включить модуль Autoconvert. Замечу, что для этого модуля программа использует ранние наработки xneur (ранние и плохие алгоритмы эвристики).
Про эту программу могу сказать только одно, жаль, что она больше не развивается, я так надеялся, что у xneur будет конкурент. Конкуренция вообще стимулирует развитие.

Читайте также:  All nokia software download windows

bash-скрипт конвертирования текста
Доступен тут habrahabr.ru/blogs/shells/120502.Как работает и что внутрях у него — написано по ссылке. Недостатками этого скрипта являются, во первых, полная зависимость от конкретной раскладки — для не qwerty-раскладок скрипт надо переделывать. Во вторых, скрипт выполняет только конвертацию выделенного текста, и все.

Кейлогеры

lkl
По моему, самый старый кейлогер для linux. Гнездится здесь sourceforge.net/projects/lkl.
При работе использует стандартные прерывания, требует прав root. Давным давно не развивается и убран из репозиториев Ubuntu.

logkeys
В каком-то роде преемник lkl. Исходники можно взять тут code.google.com/p/logkeys. В описаниях пакета для Ubuntu про него пишут: «Logkeys аналогичен многим другим доступным программам для записи нажимаемых пользователем клавиш, но он более актуальный, исключает повторные нажатия клавиш и не приводит к сбоям графической системы X. Он опирается на события подсистемы ввода Linux. Однажды установленный, он записывает нажатия всех обычных и функциональных клавиш, также учитывая состояние клавиш-модификаторов Ctrl и AltGr.»
Я пробовал, действительно пишет, но лог весь на латинице, совсем не переводит текст в прочие раскладки. Ну и еще меня смущает, что этой программе надо явно указать с какого устройства в /dev/input ловить события. В общем, что бы его использовать как кейлогер, надо быть уверенным что машина, на которой он запущен, не будет меняться. А так, переткнул usb-клавиатуру в другой порт, и до свидания.

xnee
Программа для записи и воспроизведения действий пользователя для X11.
Когда я ее пробовал, у нее была критическая несовместимость с Xlib, программа падала сразу. Зато в пакет программы входит много всего — консольный интерфейс, графический интерфейс и даже апплет для панели Gnome2. Но не заработала у меня, увы.

Резюмируя

Программ и утилит для работы с клавиатурой в linux масса. И каждая утилита выполняет свою работу отлично. Но при попытке объединения функционала различных утилит для такого простого действия как «перехватить клавишу — обработать нажатие — при необходимости передать нажатие обратно, или не передавать» начинается карусель. Если прибавить сюда необходимость следить не за одним приложением, а за многими, то проблемы еще больше вырастают. Ну и ко всему прочему прибавьте сюда зоопарк графических тулкитов — тут вообще треш. Стоит ли говорить, что еще существует огромное количество дистрибутивов linux со своим зоопарком версий библиотек?

Через пару лет работы над xneur, я уже не удивляюсь отсутствию распространенных вирусов для linux — тут сам черт ногу сломит. Вот поэтому xneur иногда работает странно. И это в большинстве случаев не проблема моих кривых рук.

Источник

Аналог PuntoSwitcher или рабочий Xneur

Очень страдаю от нехватки автоматического переключателя раскладки клавиатуры под Linux (Ru|Eng). Не появилось ли в последнее время что-нибудь рабочего в этой области?

P.S.: Под Windows сейчас есть Caramba Switcher. Просто кайфую! Кто не знает ещё — рекомендую!

клаво-свитчеры не ye;ys 🙂

))) Давно так от души не смеялся )) Спасибо :))

Настрой однозначное переключение раскладки

Для исправление неправильно введенных можешь или скрипт использовать по хоткею или наподобие этого https://habr.com/ru/flows/develop/

Настрой однозначное переключение раскладки

Аноним дело говорит.

Для исправление неправильно введенных…

А вот это лишнее. Если настроить однозначное включение раскладки, то неправильно введённых не будет.

Почему еще никто не додумался сделать не переключатель раскладки, а звуковой оповещатель раскладки (по одному очень короткому звуковому сигналу на каждую раскладку, который будет воспроизводиться в самом начале набора текста)? И пусть он срабатывает, если в течение 20 секунд не было никакого набора.

Под линукс такое чтоб работало, а не бибикало и портило таки и не осилили. А тут сейчас начнётся слёт ненужников. Впрочем, уже начался.

Эта та, которая принципиально не даст написать что аффтар жжот?

Почему еще никто не додумался сделать не переключатель раскладки, а звуковой оповещатель раскладки…

Начинаю слёт ненужников (впрочем, уже начал ранее): Потому что такая свистелка не нужна. Достаточно настроить однозначное включение раскладки (каждая раскладка включается своей удобной клавишей, например: левый Ctrl — латиница, правый Ctrl — кириллица), то ошибки «ой, напечатал слово/предложение/абзац не в той раскладке» пропадают как класс. Совсем пропадают. Зуб даю.

просто надо текст в неправильной раскладке ввести в поиск гугла он сам транслитерирует подумаешь в конце концов есть translit.ru

Читайте также:  Контроллеры ide ata atapi драйвер windows 10 64 bit

russkaya raskladka ne nuzhna

Debugger, возможно Вы с Анонимусом и правы.

Сейчас настрою, попробую привыкнуть. Со свитчером, конечно, было бы ещё удобнее. Но в Вашем методе есть одно неоспоримое преимущество — отсутствие кейлогера в системе. Это бесценно.

А какой зуб даёте? 😉

Как Вы это сделали!?

P.S.: По двум Ctrl не получается, поскольку нет второго Ctrl на одной из клавиатур, а хочется одинаково везде настроить. По двум Shift или Alt — такого выбора в настройках нет. А CapsLock|Shift+CapsLock не работает, попробовал на двух разных компьютерах. Настраивал через Доп.настройки Gnome (Debian 10).

Очень страдаю от нехватки автоматического переключателя раскладки клавиатуры под Linux (Ru|Eng).

Страдалец, просто перестань смотреть на клавиатуру при печати.

Не знаю как в гноме, но в кде если настроить переключение по контролам, перестают работать горячие кнопки с контролом. «CTRL + P» например. Ставь программу tapper. С ней и язык переключается и горячие клавиши работают. По умолчанию переключает по контролу, но в описании написано что можно перенастроить на шифт или альт.

Не знаю как в гноме, но в кде если настроить переключение по контролам, перестают работать горячие кнопки с контролом. «CTRL + P» например.

Так в иксах ввод работает, от DE не зависит.

Разве эти переключатели научились адекватно покрывать юзкейсы не хомячка?

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

В гноме они очень глубоко упихали эти настройки, один раз нашел, теперь уже мне не помню где они. Обычно клавиатура настраивается в /etc/default/keyboard. То что нужно называется grp:shift_caps_switch. Если не найдешь, постараюсь посмотреть куда надо нажимать в этом гноме.

Тот, который сломал несколько лет назад.

Tapper. А, впрочем, BityjPixel уже писал.

anonymous, спасибо за совет, но мы тут без Вас разберёмся куда нам смотреть. Многие вполне владеют слепой печатью, но когда смотрят на клавиатуру, лучше осознают, что набирают. Глубже думают и чётче формулируют свои мысли.

Костыли не нужны. Сделай на капс — переключение на en, alt-shift — на ru. Хотя я и с alt-shift не испытываю проблем с раскладкой в отличии от работы на венде.

Почему еще никто не додумался сделать

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

Кстати, если смотришь на клаву, у тебя там лампочка scroll lock должна гореть, если включена ru раскладка.

На беспроводных ее почти никогда не бывает.

Что за срань творится с этими клавиатурами. То кнопки перемешают, то лампочек навешают (и орут, что ничего не работает у вас в линуксе, нигатов!), то лампочки уберут. Тьфу.

Многие вполне владеют слепой печатью, но когда смотрят на клавиатуру, лучше осознают, что набирают.

Чёт тебя штормит и бросает. Какой смысл в слепой печати, если смотреть на клавиатуру?? Раньше, когда машинисток учили работать, клавиатуру вообще картонкой закрывали, чтобы её даже случайно не увидеть. Смысл автоматизма именно в этом, что ты делаешь что-то не глядя и даже не думая об этом. Да и результат набора — это буквы на экране, а не нажатые клавиши. Поэтому смотреть на клавиатуру в процессе набора — это значит не владеть слепой печатью.

Такой же бездумный автоматизм быстро вырабатывается с однозначными включателями: Теоретическое обоснование этого хозяйства можно найти в книге Джефа Раскина The Humаne Interface (эта книжка есть на рутрекере).

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

Некоторые камрады советуют использовать для переключения языков другие клавиши, типа CapsLock — один язык, Shift+CapsLock — другой. Или CapsLock — первый язык, Alt+Shift — второй. Вроде кто-то даже писал про Shift+Ctrl+1 и Shift+Ctrl+2… Имхо, единственное достоинство этих комбинаций в том, что «костыли» в виде таппера не нужны. Но одиночные парные включатели на левую и правую руки (типа левого и правого Ctrl) настолько заруливают всё остальное по удобству, что «попробовав раз, ем и сейчас».

Ну ладно, моё дело — предложить. А дальше каждый выбирает по себе. (Некоторые — под себя.)

Источник

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