Некоторые приложения не принимают символы из клавиши «Создать»

11

Проблема в том, что ключ compose работает нормально, но некоторые приложения не принимают некоторые символы из него. Например, я могу напечатать символ в Emacs ( Compose+ 8+ 8), но это не сработает в FireFox, Konsole и Kate. Но многие другие символы, например набранные там (в FireFox, Konsole и Kate) с Compose, работают отлично. Также я могу вставить проблемные символы простым копированием- вставкой (из любого из двух буферов обмена) .

Итак, что может быть причиной, и как это исправить?

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

Настройка: клавиша compose привязана к правой клавише Super в /etc/default/keyboardнастройках клавиатуры и KDE.

Привет, ангел
источник
1
Обычно это происходит потому, что разные наборы инструментов (Athena, Motif, Gtk, KDE,…) используют разные методы ввода. Что env | grep IMпоказывает? У вас есть метод ввода где-нибудь?
Жиль "ТАК ... перестать быть злым"
@ Жиль, вот оно .
Привет, Ангел,
@ Жиль, я не знал о других методах ввода ... Итак, я должен установить ibus, чтобы это исправить? Также мне интересно, не конфликтует ли это с настройками клавиатуры KDE? Насколько я помню, у ibus тоже есть свои настройки.
Привет, Ангел,
@ Хорошо, я помню, что попробовал ibus, и он показался мне сырым. Я не мог найти, как остановить демон (его нет в /etc/init.d/списке и в службах KDE) , единственный способ, который я нашел, - это очистить его. Кроме того, я просто установил его снова и обнаружил, что у него даже нет настройки иметь разные макеты для окон. Есть ли способ использовать встроенный метод ввода KDE для всех приложений?
Привет, Ангел,
Я нашел две интересные детали. Во-первых, даже для «ibus» не установлено, у меня есть пакет «ibus-qt4». И у него есть файл ibqtim-ibus.so, lsof которого показывает, что он используется приложениями KDE. Второе возникло из этого вопроса : поскольку я нажимаю «Compose + a + _», он выдает āв Emacs, ªFireFox и т. Д. Я думаю, я должен попытаться удалить этот пакет и посмотреть, решает ли он проблему.
Привет, Ангел,

Ответы:

9

Благодаря @Gilles я нашел ответ. Итак, проблема была в разных методах ввода, используемых разными приложениями; и IM, в свою очередь, используют разные файлы Compose - те, что используются X, есть /usr/share/X11/locale/<your-locale>/Composeи ~/.XCompose (последний не присутствует по умолчанию, но вы можете создать его для пользовательских комбинаций) , а тот, который используется Qt, находится в… Ну, похоже, никто не знает ,

Решение состоит в том, ximчтобы использовать его в качестве метода ввода по умолчанию для всех приложений. Вы можете позвонить im-configи выбрать там xim в качестве метода ввода по умолчанию, или вы можете вручную отредактировать /etc/profileфайл, добавив следующие строки:

export GTK_IM_MODULE=xim
export XMODIFIERS=@im=xim
export QT_IM_MODULE=xim

Не уверен насчет im-config, но для пути с /etc/profileперезагрузкой понадобится.

Привет, ангел
источник
Также я обнаружил, что im-configв некоторых случаях вместо сохранения новой конфигурации возникает ошибка GTK. Я предполагаю, что это особенность, потому что для этого случая у приложения есть флаг -c→ оно запускает пользовательский интерфейс терминала Hi
Hi-Angel
Я исправил вашу грамматику, так как ответ нужно было прочитать. Можете ли вы проверить, что я не изменил смысл.
Ctrl-Alt-Delor
примечание im-configнаходится в пакете im-configи не установлено по умолчанию в Debian. так жеapt install im-config
ctrl-alt-delor
@ ctrl-alt-delor О, спасибо, когда я написал этот ответ, я очень плохо знал английский. Я отредактирую это через секунду, хотя, потому что есть опечатка (просто) , а также "не запрограммированный с GUI", полная противоположность "не программисту" :) Но все равно спасибо!
Привет, Ангел,