Тоже была такая проблема (с французской клавиатурой). Я не нашел решения с помощью метода ввода по умолчанию, установленного KDE ( XIM) — и мне недостаточно системного мастера, чтобы настроить его — но я нашел обходной путь, используя другой метод ввода: ibus.
Вот что у меня сработало:
Установите im-config, пакет, который позволяет вам изменить системный метод ввода:
apt-get install im-config zenity
Установите ibus и qt-config (libpinyin также позволяет получить метод для ввода китайских иероглифов с использованием транслитерации пиньинь — для тех, кому интересно — для этого предназначены два последних пакета в этой строке):
apt-get install ibus ibus-qt4 qt4-qtconfig ibus-libpinyin libpinyin-utils
Установите базовые параметры ibus(например, национальную клавиатуру):
ibus-setup
Сообщите системе, что ibusдолжен быть методом ввода по умолчанию в программном обеспечении, использующем графическую библиотеку Qt(то есть во всех собственных приложениях KDE, таких как Konsole и т. д.):
qtconfig-qt4
Используйте im-config, чтобы выбрать ibusв качестве метода ввода по умолчанию для всех приложений X11:
im-config
Чтобы эти изменения распознавались в каждом будущем сеансе X11, добавьте эти строки в свой файл ~/.xsessionrc(или создайте его, если у вас его еще нет):
#!/ мусорное ведро / баш
экспорт GTK_IM_MODULE=ibus
экспорт XMODIFIERS=@im=ibus
экспорт QT_IM_MODULE=ibus
ibus-демон -drx
В моем случае (возможно, не в вашем), поскольку я использую tcsh, а не bashв качестве оболочки по умолчанию в своих сеансах Konsole, и поскольку по какой-то причине X11 не читал .xsessionrcпри каждом новом запуске, мне также пришлось добавить эту строку в файл запуска оболочки .tcshrc:
sh $HOME/ .xsessionrc
Наконец, на панели IBus(которая теперь должна появиться в системном трее), на панели «Настройки», вкладка «Дополнительно», обязательно установите флажок «Использовать системную раскладку клавиатуры». , чтобы используемая раскладка клавиатуры соответствовала тому, что вы уже выбрали (и чтобы учитывались любые дополнительные параметры, например положение клавиши «Создать»).
Не знаю, почему не было более простого решения, и почему метод ввода по умолчанию не учитывает механизм мертвых ключей (проверил в xev: события правильно отправлялись X11 в XIM , но приложения Qt просто игнорировали это!). В любом случае, я доволен обходным путем.