Я довго використовував Gnome, але віддав перевагу методу введення vanilla X ( xim
) над поведінкою GTK за замовчуванням. Я просто встановив GTK_IM_MODULE
і QT_IM_MODULE
змінні середовища для xim
, і не виникло жодних проблем із розширенням конфігурації, Composeклавіш, користувальницьких ~/.XCompose
та misc:typo
типографічних розробок.
Останній Gnome 3.6 повністю вкрутив клавіатурний вклад, доставляючи напівфабрикат та баггі ibus
та примушуючи його до користувачів . Я просто не міг змусити клавіатуру працювати так само добре, як раніше (навіть з ibus
відключеним), і довелося повністю відмовитися від Gnome.
Тепер я використовую простий менеджер вікон і налаштовую свою клавіатуру setxkbmap
. Хоча клавіатура знову працює добре, я не міг змусити клавішу Compose працювати всюди. Композиція працює у звичайних додатках X11 ( xterm
), але вона не працює ні в додатках GTK2, ні GTK3, ні в Qt.
Я використовую поточні версії Archlinux:
xorg-xinput 1.6.0
xorg-server 1.13.1
xf86-input-keyboard 1.6.2
gtk2 2.24.14
gtk3 3.6.4
qt 4.8.4
і ввімкніть такий Composeключ:
setxkbmap ... -option 'compose:menu'
та експорт GTK_IM_MODULE
, QT_IM_MODULE
змінні:
$ echo $GTK_IM_MODULE $QT_IM_MODULE
xim xim
Compose ключ правильно розпізнається X11:
$ xev | grep -A2 --line-buffered '^KeyRelease' | sed -n '/keycode /s/^.*keycode \([0-9]*\).* (.*, \(.*\)).*$/\1 \2/p'
135 Multi_key
Він працює належним чином xterm
, послідовності з моєї ~/.XCompose
включені. Він не працює ні в додатках GTK, ні в Qt. Скажімо, якщо я ввійду Compose ', програми '
одразу лунають , не чекаючи третього ключа в послідовності.
Тепер я припускаю, що щось змінилося або в Xorg (тому що Composeвін не працює ні в Qt додатках), ні в GTK і Qt. *_IM_MODULE
змінних зараз недостатньо. Що ще потрібно для того, щоб сучасні GTK та Qt розпізнавали xim
та послідовності Compose?
PS Існує подібне (і без відповіді) питання про ключ Compose, який не працює в GTK . На відміну від запитувача, я не ibus
встановив.