Сопоставления составных ключей различаются в приложениях 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