LINUX.ORG.RU

Выпущены XNeur и gXNeur версии 0.9.8!

 , ,


0

0

X Neural Switcher (xneur) — программа для автоматического переключения между раскладками клавиатуры для X Window System.

Данная программа является автоматическим переключателем клавиатуры. Т.е. при наборе текста, если он набирается на неверном языке, xneur автоматически (или по запросу) переключит язык на нужный. Принцип работы программы аналогичен Punto Switcher.

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

Список изменений:

  • Автоматическое определение раскладок клавиатуры, установленых в системе.
  • Новые опции для устранения проблем при коррекции уже набранного слова (не переключать раскладку автоматически, если пользователь произвел какие-либо действия с набранным словом).
  • Добавлена библиотека libxneur и заголовочные файлы к ней. Теперь любая внешняя программа может использовать функционал xneur. Например, вы можете сделать плагин для pidgin или qutim, определяющий, в нужной ли раскладке написал сообщение собеседник.
  • Добавлена поддержка грузинского языка.
  • В gxneur добавлены новые флажки, даже для неиспользуемых в xneur языков. А если флажка для какого-то языка нет, то gxneur отобразит двубуквенное обозначение языка.
  • В gxneur улучшена интеграция в систему - исправлено поведение в трее, добавлен набор значков логотипа и .desktop файл запуска.
  • Исправлены ошибки. Улучшена стабильность работы.

Обращаю внимание, ОБЯЗАТЕЛЬНО ставьте пакет aspell для вашего языка (обычно, aspell-ru, aspell-uk и т.д.) - качество улучшится значительно.

Скачать архивы с программами можно на сайте xneur.ru

Кроме того, выпущена новая версия программы X Cursor Flag, предназначенной для отображения флага раскладки рядом с курсором.

Скачать можно здесь.

Для демонстрации возможностей новой библиотеки libxneur сделана программа xneurchecker 0.1. Так же ее можно использовать для организации консольного конвеера, если в нем нужно определить язык набранного текста. Например,

crew@crew-laptop:~$ xneurchecker Ghbdtn! Вот ghbvth работы чтугксруслук
Привет! Вот пример работы xneurchecker

Взять программу можно здесь.

>>> Подробности



Проверено: boombick ()

ну щаз начнется...
сам раза 3 наверное пробовал это дело - так и не смог дзен постичь..

r0mik ()

Замечательно, список изменений очень радует. И это для _минорной_ версии! Вот бы все проекты такими темпами развивались...

ZZaiatSS ★★ ()
Ответ на: комментарий от ZZaiatSS

Это не минорная версия. У xneur каждая версия - мажорная ;)
Минорные проходят бетами для ограниченого круга лиц с форума убунты.

Crew ()

Если бы его интегрировали в kxkb...

nikotyn ()
Ответ на: комментарий от nikotyn

Ну так займитесь. Интерфейсы для этого в xneur есть.

Crew ()

Ждем ебилдов. Xneur собрался и со старым, а Gxneur:

...
-2.0.so /usr/lib64/libgmodule-2.0.so /usr/lib64/libglib-2.0.so /usr/lib64/libxneur.a /usr/lib64/libxnconfig.so /usr/lib64/libX11.so /usr/lib64/libxcb.so /usr/lib64/libXau.so /usr/lib64/libXdmcp.so -lz /usr/lib64/libaspell.so -ldl -lpcre
/usr/lib64/libxnconfig.so: undefined reference to `pthread_create'
collect2: ld returned 1 exit status
make[2]: *** [gxneur] Ошибка 1
make[2]: Leaving directory `/var/tmp/portage/x11-misc/gxneur-0.9.8/work/gxneur-0.9.8/src'
make[1]: *** [all-recursive] Ошибка 1
make[1]: Leaving directory `/var/tmp/portage/x11-misc/gxneur-0.9.8/work/gxneur-0.9.8'
make: *** [all] Ошибка 2
 * ERROR: x11-misc/gxneur-0.9.8 failed:
 *   emake failed
 * 
 * Call stack:
 *     ebuild.sh, line   54:  Called src_compile
 *   environment, line 3159:  Called _eapi2_src_compile
 *     ebuild.sh, line  646:  Called die
 * The specific snippet of code:
 *              emake || die "emake failed"
 * 
 * If you need support, post the output of 'emerge --info =x11-misc/gxneur-0.9.8',
 * the complete build log and the output of 'emerge -pqv =x11-misc/gxneur-0.9.8'.
 * This ebuild is from an overlay named 'gfxboot_overlay': '/usr/overlays/my/'
 * The complete build log is located at '/var/tmp/portage/x11-misc/gxneur-0.9.8/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/x11-misc/gxneur-0.9.8/temp/environment'.
 * S: '/var/tmp/portage/x11-misc/gxneur-0.9.8/work/gxneur-0.9.8'

>>> Failed to emerge x11-misc/gxneur-0.9.8, Log file:

>>>  '/var/tmp/portage/x11-misc/gxneur-0.9.8/temp/build.log'

 * Messages for package x11-misc/gxneur-0.9.8:

 * ERROR: x11-misc/gxneur-0.9.8 failed:
 *   emake failed
 * 
 * Call stack:
 *     ebuild.sh, line   54:  Called src_compile
 *   environment, line 3159:  Called _eapi2_src_compile
 *     ebuild.sh, line  646:  Called die
 * The specific snippet of code:
 *              emake || die "emake failed"
 * 
 * If you need support, post the output of 'emerge --info =x11-misc/gxneur-0.9.8',
 * the complete build log and the output of 'emerge -pqv =x11-misc/gxneur-0.9.8'.
 * This ebuild is from an overlay named 'gfxboot_overlay': '/usr/overlays/my/'
 * The complete build log is located at '/var/tmp/portage/x11-misc/gxneur-0.9.8/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/x11-misc/gxneur-0.9.8/temp/environment'.
 * S: '/var/tmp/portage/x11-misc/gxneur-0.9.8/work/gxneur-0.9.8'
tr0ll ()

хм… на офф.сайте не обнаружил ответов на свои вопросы, так что задаю их прям здесь: поддерживается ли японский язык? если да, то с какими IME может взаимодействовать и в какой степени? также интересует, может ли автоматически определять, набирался текст в кане, ромадзи или азик?

arsi ★★★★★ ()
Ответ на: комментарий от arsi

Нет, японский не поддерживается. Все остальное, что вы написали, для меня китайская (японская) грамота.

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

Crew ()
Ответ на: комментарий от Crew

> Нет, японский не поддерживается. Все остальное, что вы написали, для меня китайская (японская) грамота.

ну, фраза «программа поддерживает девятнадцать языков» была достаточно внушительной, а полного списка я не нашел, так что…

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

возможна. и, скорее всего, даже не придётся писать собственный скайнэт, хотя не факт ;) здесь самая большая проблема в том, что просто так перекодировать с одной раскладки в другую не получится… т.е. нет, получится, но это не будет иметь практического смысла %) нужно будет каким-то образом передать перекодированные данные в UIM/SCIM/другойIM. и смертельный номер: наоборот, забрать у UIM/SCIM/etc то, что им не положено, отключить их и отдать перекодированный текст клиенту %)

arsi ★★★★★ ()
Ответ на: комментарий от arsi

Вот я про то и говорю. Все эти тонкости мне не известны. Однако, если мы сможем объединить наши знания (ваши - языка, мои - знания о внутреннем устройстве раскладок и программирования), то возможно, сможем что-то родить и для японского языка.

Да, это было бы интересно.

А про 19 языков я уже на сайте написал. И man xneur, и man xneurrc существуют.

Ну и что бы люди не искали информацию...
На данный момент в xneur поддерживаются следующие языки: Армянский, Белорусский, Болгарский, Чешский, Грузинский, Немецкий, Греческий, Английский, Эстонский, Французский, Казахский, Литовский, Латвийский, Польский, Молдавский (Румынский), Русский,Испанский, Украинский и Узбекский.

Crew ()

Всё отлично, только надо выкинуть эту автоматику, аспелы и прочее г-но.Как показывает практика оно всё глючит и вмешивается в действия юзера когда не надо.Дайошь xneur-light, чтоб только тупо исправлял слово по хоткею!

ЗЫ:Ромадзи -не иероглифами, это типа японский английскими буквами.Такую перекодировку наверное несложно сделать.

anonymous ()
Ответ на: комментарий от Crew

> Однако, если мы сможем объединить наши знания (ваши - языка, мои - знания о внутреннем устройстве раскладок и программирования), то возможно, сможем что-то родить и для японского языка.

если вас это __действительно__ интересует, то это вполне возможно.

> И man xneur, и man xneurrc существуют.

… если установить xneur* ;) а т.к. господьПатрик о xneur ничего не знает, то это несколько проблематично ;) поэтому и намекал, что хотелось бы заранее знать, есть ли смысл вообще писать билдскрипт(ы).

зы: использую самопальные раскладки для en/ru/uk/ja + самопальную переключалку клавиатуры (+ плазмоид), объеденённую с переключалкой метода ввода UIM. часто забываю переключаться на нужую раскладку, поэтому сабж интересует, но только если он сможет корректно работать со всем этим зоопарком, иначе от него будет болше вреда, чем толку. поэтому и придираюсь ;)

arsi ★★★★★ ()
Ответ на: комментарий от anonymous

Блин!

Всё отлично, только надо выкинуть эту автоматику, аспелы и прочее г-но.Как показывает практика оно всё глючит и вмешивается в действия юзера когда не надо.Дайошь xneur-light, чтоб только тупо исправлял слово по хоткею!

Включите опцию «Ручное переключение». Ну ведь на любой вкус настроить можно :) Там настроек 30 пунктов, можно ведь осилить :)

А если вы умеете пакеты собирать, так вообще приволье - сам себе конфиг можно соорудить.

Crew ()
Ответ на: /me от Sampoerna

Что, уже реально не глючит?

кстати, под последнюю бубунту 10.04 бета уже есть дебка?

Меня очень расстраивало то, что в Линуксе как раз не хватает подобия Пунты. (да, очень много работаю с текстами).

troll_them_all ()
Ответ на: комментарий от arsi

> если вас это __действительно__ интересует, то это вполне возможно.

Да, мне интересно. Контакты есть на xneur.ru, свяжитесь со мной, как время будет. Если у вас есть ссылки на принципы печати иероглифами, пришлите. Хотя бы базовое, самые основы.

Узнаю хоть как японцы с клавиатурой из 105 клавиш работают, а то как в танке живу. Кстати, надо, наверное, японский флажок в gxneur добавить на всякий случай.

Crew ()
Ответ на: комментарий от troll_them_all

> кстати, под последнюю бубунту 10.04 бета уже есть дебка?

Нет. Пока даже под 9.10 нет, ведь только что новая версия появилась.

Пакеты будут в течении недели, если не случится чего.

Crew ()
Ответ на: комментарий от troll_them_all

В этой версии глюки сведены к минимуму. Единственная проблема - адресная строка FF

petrosyan ★★★★★ ()
Ответ на: комментарий от anonymous

> ЗЫ:Ромадзи -не иероглифами, это типа японский английскими буквами.Такую перекодировку наверное несложно сделать.

да, распознать именно ромадзи не так сложно. да, собственно, это вообще элементарно, для этого даже не нужно никаких словарей, т.к. транслитерация по хэпбёрну досаточно строгая и предсказуемая. но что делать с распознанной последовательностью? ;) кому передадим: SCIM? UIM? *iminputcontextplugin? gtkimmodule? xim? все IME под линукс/х11(/qt/gtk) действуют по-своему, и непредсказуемо… =(

arsi ★★★★★ ()

в xterm все еще не работает? а то бывает неприятно, когда случайно печатаешь команды в русской раскладке, я даже несколько алиасов задал))

annulen ★★★★★ ()
Ответ на: комментарий от arsi

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

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

Crew ()
Ответ на: комментарий от annulen

> в xterm все еще не работает? а то бывает неприятно, когда случайно печатаешь команды в русской раскладке, я даже несколько алиасов задал))

В xterm не работало и работать не будет. Слишком глубоко xterm закопан в систему. Ему Иксы пофигу, он сам по себе.

Crew ()
Ответ на: комментарий от Crew

> Контакты есть на xneur.ru, свяжитесь со мной, как время будет.

обязательно свяжусь, но только не на выходных… извините, но очень хочу отдохнуть после рабочей недели ;)

> Кстати, надо, наверное, японский флажок в gxneur добавить на всякий случай.

мну в своей переключалке /usr/share/locale/l10n/*/flag.png использует, если что ;)

зы: совсем чуть-чуть знаком с китайским. если будет свободное время… китайцев же много, да? ;)

arsi ★★★★★ ()
Ответ на: комментарий от arsi

Рекомендую все таки поставить программы, а uk и ja пометить как «исключенные». Тогда xneur не будет переключать на них, и не будет пытаться переключить с них, если вы вручную включили эти раскладки.

Crew ()
Ответ на: комментарий от Crew

> Не, мы просто сгенерируем те же самые нажатия, только в другой раскладке.

или я что-то не понял, или вот это:

/etc/X11/xkb/symbols/arsi

…
partial alphanumeric_keys xkb_symbols "ja" {
        include "arsi(en)"
        name[Group1]= "Japanese";

        key.type = "EIGHT_LEVEL";
        key <ENJA> { type[Group1]="TWO_LEVEL", [ ISO_First_Group, None ] };
        key <RUUK> { type[Group1]="TWO_LEVEL", [ ISO_Next_Group,  ISO_Prev_Group ] };
};
…
это для UIM'а, который почему то не воспринимает XK_kana_*, хотя вроде как должен бы :(. (SCIM нормально воспринимает, если что, но управлять им я так и не научился.)

arsi ★★★★★ ()
Ответ на: комментарий от arsi

Для xneur не важно куда попадут события клавиш. Он старается перехватить их как можно раньше и отправить их измененными дальше (например, поменяв нажатиям модификатор языка).

Crew ()
Ответ на: комментарий от Crew

Ребята, рулите и педальте. Молодцы! У вас супер-прога. Такой поддержки языков нет ни в одной виндовой переключалке. Только глюков по-меньше :) Обращайте внимание, как тут было сказано, на адресные строки браузеров :)

С нетерпением ждем дебов для свежих Убунт :)

troll_them_all ()
Ответ на: комментарий от Crew

> например, поменяв нажатиям модификатор языка

вот только в случае с азиатскими языками необходимо изменить метод ввода активного IM'а, а не модификатор языка. тому же UIM'у глубоко фиолетово, какая сейчас выбрана раскладка и (в идеале /*но глючит*/) в какой раскладке пришли данные: он их преобразует в соответствии с текущим методом ввода. тоесть, в режиме «кана» я могу набрать (нажать) либо «i-yb[», либо «にほんご» (по аналогии с «ghbdtn» и «привет»), и это будет одно и то же (в «попсовом» SCIM'е это именно так и работает).

arsi ★★★★★ ()
Ответ на: комментарий от troll_them_all

Адресные строки браузеров - вещь в себе.

Для xneur ниспадающие списки кросс-платформенных браузеров выглядят так - говоришь ты с человеком, он нормально тебе отвечает. И вдруг, он вспомнил мысль, и думает ее... А ты то и не в курсе... И вдруг он начинает отвечать сам себе на свои мысли.

Вот и xneur не может определить, что пишется в ниспадающих списках, так как браузеры никак не сообщают о них системе. То есть браузеры «думают „про себя“», и xneur не может прочитать их «мысли».

Crew ()
Ответ на: комментарий от arsi

Ну прямо скажем, тут я пасую.

Но у меня есть наметки использования XIM. Видно тут и надо их применить. Там много всякого сложного, я даже не стал разбираться. А так как у тебя есть интерес, то мне тоже хочется подергать незнакомое за усы ;)

Crew ()

С тех пор, как оно мне с завидной периодичностью стало выбрасывать старый, ранее набранный текст при перекодировке (и в IM в том числе, ага), я перестал им пользоваться. Набираешь текст в джаббере, а оно само вставляет простыню из старого текста, да еще и отправляет... Нельзя так обходиться с пользователями.

Alsvartr ★★★★★ ()
Ответ на: комментарий от Alsvartr

Так поставьте новую версию! Их для того и выпускают - исправляют ошибки ;) Тестеры высказались о ней очень положительно.

Crew ()
Ответ на: комментарий от Crew

> А так как у тебя есть интерес, то мне тоже хочется подергать незнакомое за усы ;)

на том и порешили ;) на xim/gtk-immodule/qt-immodule давно засматриваюсь, и не только из-за азиатских языков: с их помощью можно реализовать функции переключения раскладки языка/метода ввода (в xkb максимум четыре раскладки, а я к четырём ранее перечисленным хотел бы ещё, например, греческую добавить: часто бывает полезно при наборе несложных формул в комментах программ). и вообще, xkb — это страшный и ужасный костыль, от которого очень хотелось бы избавиться как можно скорее… =(

зы: и да, с xim/gtk-immodule/qt-immodule можно сделать индикацию (в виде флажка/whatever) текущей рескладки/метода ввода рядом с текстовым курсором ;)

arsi ★★★★★ ()
Ответ на: комментарий от Crew

Ох, да как бы кредит доверия к разработчикам уже подорван. Просто это такие ошибки, которых ВООБЩЕ нельзя допускать. Может я там в джаббере контракт на десять штук баксов обсуждал, а собеседнику вывалилась переписка о моих сексуальных фантазиях :)

Alsvartr ★★★★★ ()
Ответ на: комментарий от Alsvartr

Интересное кино :) В xneur нет очевидных ошибок. Я готов платить по 500 рублей за каждую подтвержденную ошибку функционала, если у вас есть решение проблемы ил вы можете ее устойчиво повторить в gedit или kate.

Если бы ядро linux собиралось с теми же флагами, что у xneur, то его бы никогда бы не собрали.

Crew ()
Ответ на: комментарий от Alsvartr

> Может я там в джаббере контракт на десять штук баксов обсуждал, а собеседнику вывалилась переписка о моих сексуальных фантазиях :)

теперь думаешь, как и новую сумму в двадцать штук баксов получить, и не покупать макбук? ;)

arsi ★★★★★ ()

Меня давно занимает вопрос: а нельзя ли на его основе сделать проверку орфографии? Он же читает ввод. Что мешает ему скармливать введённые слова aspell'у, например?

KblCb ★★★★★ ()
Ответ на: комментарий от arsi

Кстати, беседовал с представителями Яндекса... Блокнотик прикольный получил, а заинтересованости не почуствовал. Интересно, пунто а linux придет или нет?

Crew ()
Ответ на: комментарий от KblCb

> Меня давно занимает вопрос: а нельзя ли на его основе сделать проверку орфографии? Он же читает ввод. Что мешает ему скармливать введённые слова aspell'у, например?

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

Crew ()

Приятно что для UNIX-like ОСей есть такая софтина, но как и punto switcher вызывает у меня рвотные порывы... Я что настолько туп что не знаю на каком языке набирают текст? Ведь я набираю его и тут же вижу результат. Кроме того зачастую подобные программы просто мешают писать текст на eng + rus... Ну не угадывают же...

I-Love-Microsoft ★★★★★ ()
Ответ на: комментарий от Crew

Ну и aspell - это одна из основных частей xneur в проверке слова. Не даром я про это пишу при объявлении новости.

Crew ()
Ответ на: комментарий от I-Love-Microsoft

Нет, просто, набирая вслепую с книжки, ты не смотришь на экран. А приложив немножко усилий, ты сделаешь угадыватель бесподобным, обучив его.

xneur тем и существует в linux-среде. В нем есть настройка на каждое желание пользователя.

Crew ()
Ответ на: комментарий от Crew

Мне казалось что тут проще вместо подчёркивания использовать всякие эффекты для работы с текстом (правда единственное что приходит на ум это пометка неверного слова как выделенного и выброс нотификации пользователю).

KblCb ★★★★★ ()

> ОБЯЗАТЕЛЬНО ставьте пакет aspell для вашего языка (обычно, aspell-ru, aspell-uk и т.д.) - качество улучшится значительно.

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

anonymous ()
Ответ на: комментарий от KblCb

Я об этом думал, но так и не пришел к решению.

Просто у xneur есть ограничения - чистый xlib, все что не попадает - может не использоваться через конфигурацию пакета.

Через это нужны примеры красивостей (прозрачности, точного позиционированиая курсора ввода, а их нет, и я пасую...

Crew ()
Ответ на: комментарий от anonymous

Вот тут анон и проявился.

Поймите, разработчик выпускает просто архив текстов программы.

А под ваш дистрибутив соберут пакет через 2-5-7 дней, в зависимости от расторопности.

Crew ()
Ответ на: комментарий от Crew

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

anonymous ()
Ответ на: комментарий от Crew

Я вам чо хотел сказать.... Я ваще на ЛОРе свою программу наверно десятый раз презентую.

Вот выпил разраб водочки 0.7. Поговорить захотелось. Жена спит. А я ищу отзывы о программе...

Crew ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.