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

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

Когда я печатаю ( [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, и я бы предпочел не выяснять.

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

2 ответа

Решение

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

Методы ввода и 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
Другие вопросы по тегам