сопоставления составных ключей различаются в приложениях gtk и qt

702
intuited

Я заметил, что есть несоответствие в выводе одной из комбинаций клавиш.

Когда я печатаю ([Compose].) В Chrome, gedit, gnome-terminal или roxterm, я получаю символ «˙». Это маленькая выпуклая точка:

$ echo -n '˙' | xxd 0000000: cb99 .. 

Когда я набираю одно и то же комбо под konsole, yakuake или kate, я получаю символ «…». Это многоточие:

$ echo -n '…' | xxd 0000000: e280 a6 ... 

Это не проблема шрифта: если я копирую и вставляю символ из приложения, использующего один набор инструментов, в приложение, использующее другой, его внешний вид сохраняется.

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

Я думаю, что это довольно недавнее явление. Я обновил Ubuntu 8.10 до 9.10 довольно недавно, так что это может быть связано.

Я не уверен, что это повторится, если я перезапущу X, и я бы предпочел не узнавать.

Может кто-нибудь объяснить, как это возможно, и что я могу сделать, чтобы решить это? Я хотел бы, чтобы многоточие появилось во всех приложениях, когда эта комбинация введена.

4

2 ответа на вопрос

2
Ignacio Vazquez-Abrams

X, а также каждый инструментарий виджетов имеет свою собственную таблицу составления. GTK + получает его в основном из X, тогда как Qt имеет свои собственные отображения, расположенные ... в другом месте. Я обновлю это, когда найду их.

1
Samat Jain

Методы ввода и X имеют длинную, сложную историю. Короче говоря, на вашей машине Qt и GTK используют разные методы ввода X.

В вики KDE есть страница о том, как заставить Qt и GTK использовать один и тот же метод ввода (в данном случае xim).

tl; dr для дистрибутивов на основе Debian / Ubuntu:

sudo update-alternatives --verbose --install /etc/X11/xinit/xinput.d/all_ALL xinput-all_ALL /etc/X11/xinit/xinput.d/*xim 20