Вопрос Как я могу заставить IBus игнорировать ~ / .XCompose?


Поскольку UIM не хотел играть в мяч после установки Ubuntu 12.04 с нуля, я попробовал IBus, так как это инфраструктура IME, которая по умолчанию работает с Ubuntu.

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

Проблема в том, что, когда метод ввода по умолчанию установлен на IBus, и IBus деактивируется так, что (AIUI, так как я начал его с ibus-daemon --xim), он обойден в пользу XIM, настройки в ~ / .XCompose по-видимому, переопределены собственной версией IBus, так, например, Составить c a не дает Ą (a-ogonek), как я определил в .XCompose файл в моем домашнем каталоге, но ǎ (a-hacek), как определено некоторыми другими настройками.

Я привык к моей мнемонике, так что есть ли способ заставить мою систему использовать мои собственные ~ / .XCompose файл с методом ввода по умолчанию, все еще установленным на IBus, так что IBus все еще будет работать, например. в OpenOffice и других приложениях, которые не позволяют выбрать метод ввода с помощью контекстного меню?

Заметка: Это не дубликат вопроса Как я могу составить композицию на ibus?


13
2018-05-01 22:17


происхождения


Этот вопрос, кажется, оставлен без ответа. Если вы его решите, напишите ответ, объяснив, как он был решен (отвечать на ваши вопросы не просто разрешено, но поощряется, когда нет другого ответа, который выполняет работу). Если вопрос больше не применяется, вы можете добровольно удалить / закрыть его. - Eric Carvalho


ответы:


Как указано в @von, вы НЕ МОЖЕТЕ использовать свои .XCompose с IBUS на данный момент.

Вы можете использовать uim как метод ввода, который поддерживает Unicode, как GTK +, так и Qt immodules с наследием XIM поддержка.

Хороший способ справиться с .XCompose и сохранить существующий глобальный состав:

  1. Установите uim:

    sudo apt-get install uim

  2. Сделайте это методом ввода по умолчанию:

    im-config -n uim

  3. Отредактируйте .XCompose и добавьте текущий язык клавиатуры (в моем случае, en_US) в виде первая линия:

    include "/usr/share/X11/locale/en_US.UTF-8/Compose"

  4. Готово! Перезапустите программы, которые вы хотите начать получать .XCompose файл.

Известные вопросы

Ubuntu Unity Dash никогда не выпустит cedilla.

Другие Distros

Я немного поиграл с .XCompose и методы ввода на современных дистрибутивах в настоящее время, при попытке сделать Linux таким же клавиатурным поведением, как Windows (TM) для латинских языков (вывод ç вместо ć, без акцентированных согласных и т. д.).

Я создал репо с этими инструкциями (для Ubuntu и других дистрибутивов): https://github.com/raelgc/win_us_intl 


5
2018-04-23 16:14



Что именно «вы НЕ МОЖЕТЕ использовать ваш .XCompose с IBUS на данный момент» означает? Что изменилось? Было ли это изменение в самом Ubuntu или в том, что использует Ubuntu? - andrybak
@AndreyRybak IBUS новее тогда XIM а также uim и не поддерживает .XCompose файлы (и я не уверен, что это изменится, так как через год по-прежнему остается тот же статус). Нет, это не Ubuntu. - Rael Gugelmin Cunha
Кажется, это работает для меня в 16.04 (с Гномом). - Dennis Williamson
@DennisWilliamson Вы имеете в виду, IBUS и .XCompose? Просто пересекая пальцы, это фиксируется через 4 года с момента моего ответа. - Rael Gugelmin Cunha
Да. У меня был небольшой ~/.Xcompose с рабочими записями. Я добавил кучу новых записей, они не функционировали, тогда я сделал ibus restartи все новые работали. - Dennis Williamson


Проблема заключается, однако, в том, что когда метод ввода по умолчанию установлен на IBus, и IBus деактивируется так, что (AIUI, так как я начал его с ibus-daemon -xim), он обойден в пользу XIM, настройки в ~ / .XCompose, похоже, переопределяется собственной версией IBus, поэтому, например, Compose c a не дает ± (a-ogonek), как я определил в файле .XCompose в моем домашнем каталоге, но ǎ (a-hacek), как это определено в некоторых других настройках.

Похоже, что это не определено некоторыми другими настройками, в смысле какого-либо файла конфигурации, который вы можете редактировать. Похоже, что он скомпилирован, жестко закодирован в файле gtkimcontextsimpleseqs.h, Кроме того, представляется, что нелегко настроить gtk_compose_seqs_compact массив в этом файле и добавьте собственные последовательности ключевых слов. Таблица оптимизирована для пространства, а не простота в редактировании. Таким образом, стратегия «просто изменить источник и перекомпилировать» может быть сложнее, чем я думал.

Я очень привык к своей мнемонике, так что есть ли способ заставить мою систему использовать мой собственный файл ~ / .XCompose с методом ввода по умолчанию, который все еще установлен на IBus, так что IBus все равно будет работать, например. в OpenOffice и других приложениях, которые не позволяют выбрать метод ввода с помощью контекстного меню?

Есть отчет об ошибке в https://bugzilla.gnome.org/show_bug.cgi?id=155010 который имеет патч, который (говорят) позволит настроить таблицу компоновки. Он все равно не будет использовать ваш файл ~ / .XCompose, и синтаксис будет другим, но это что-то. Но я отмечаю, что ошибка, о которой идет речь, по-прежнему открыта, поэтому я думаю, что это еще не попало в официальные выпуски.


1
2017-12-21 11:13





Поскольку Деннис Уильямсон сказал, что он работал в 16.04 в комментарии выше, я тестировал эту новую версию 18.04 с коротким .XCompose скопирован из моей предыдущей установки 16.04.

# Import default rules from the system Compose file
include "%L"

# Custom definitions
<Multi_key> <R> <R> <R>             : "ʁ"   U0281 # LATIN LETTER SMALL CAPITAL INVERTED R

Затем я побежал ibus restart в терминале, и я могу напечатать ʁ.


0
2017-07-08 14:24





  1. Установить по всему миру (то есть для Ubuntu в /etc/environment)  QT_IM_MODULE, GTK_IM_MODULE переменные (последний ненужный для гнома) в ibus, а также XMODIFIERS в @im=ibus,

2.α Выполнить setxkbmap с -option выбрать составной ключ. Например. для использования правильного логотипа: setxkbmap -option compose:rwin, При перезагрузке это будет перезаписано.

2. Чтобы сохранить настройку при перезагрузке, создайте /etc/X11/xorg.conf.d/00-keyboard.conf со следующим содержанием:

Section "InputClass"
        Identifier "system-keyboard"
        MatchIsKeyboard "on"
        Option "XkbOptions"    "compose:rwin"
EndSection

Протестировано и работает как для X11, так и для (По крайней мере setxkbmap путь) Wayland.

Спасибо намек идет к fujiwarat, обновленный за это обсуждение,


-1
2017-10-12 11:39



Однако изменение системной конфигурации является сумасшедшим. Просто поместите 2alpha и те переменные среды в ваш .xprofile или .xinitrc, какой бы вы ни использовали. - enigmaticPhysicist
@enigmaticPhysicist err ... lol, что ?? Заставьте меня отказаться от нее - сначала вы сделали мою версию ответа, а затем забросили мою одну для добавления, в которой у вашего ответа нет (как вы собираетесь сохранить конфиг на перезагрузке чувака?), и который является необязательным (как вы можете видеть по перечислению и объяснению), - Hi-Angel
Кто-то не может критиковать ... Эй, у вас оранжевые волосы, случайно? - enigmaticPhysicist
@enigmaticPhysicist lol, вы не критиковали. Вы скопировали мой ответ, а затем понизили мое внимание на вершине. Это могло бы даже сработать, если бы вы не оставили комментарий, поэтому я заметил и отметил ваш ответ. Что касается содержания вашего комментария, я уже ответил. И, извините, я не понял - о чем шутит апельсин? - Hi-Angel