Предыстория: Не так давно обновил Debian на домашней машине до testing, из-за чего встретился с Gnome 3. Если бы у меня был планшет, наверно, всё было по-другому, однако для настольных ПК это DE недружелюбно. Итогом встречи стал переход на XFCE 4.8, который устроил практически всем. Но...
Проблема: Oracle SQL Developer отказался распознавать текстовые символы с включёнными модификаторами
Alt,
Ctrl и любыми их комбинациями. То есть, о горячих клавишах можно было забыть.
Причина: Разброд и шатание в настройках клавиатуры.
Ход мыслей: Поначалу я подумал на баги очередного EA, как раз обновил Oracle SQL Developer. Но откат на стабильную версию и удаление настроек (с созданием резервной копии, конечно) ситуацию не изменили. Пришлось внимательнее почитать Сеть. Несколько тем с похожими проблемами натолкнули на мысль, что что-то не так с настройками клавиатуры. И я начал читать про раскладки, X.org, XFCE, udev, evdev и грабли, на которые уже наткнулось прогрессивное человечество.
Развитие X.org server, вначале отказавшегося от хранения настроек в xorg.conf в пользу HAL, а затем — и от HAL в пользу udev, evdev и задания настроек несколькими файлами через /etc/X11/xorg.conf.d, вынудило меня убрать развёвшийся в xorg.conf бардак. Я убрал секции InputDevice для мышки и клавиатуры, убрал ссылки на них в секции ServerLayout. Cоздал файл /etc/X11/xorg.conf.d/99-keyboard.conf, который задаёт для класса устройств типа Keyboard со строкой keyboard в названии драйвер, модель, раскладки и опции:
Section "InputClass"
Identifier "evdev keyboard catchall"
MatchIsKeyboard "on"
MatchDevicePath "/dev/input/event*"
MatchProduct "keyboard"
Driver "evdev"
Option "XkbModel" "logicd"
Option "XkbRules" "xorg"
Option "XkbLayout" "us,ru"
Option "XkbVariant" ",winkeys"
Option "XkbOptions" "grp:caps_toggle,compose:rwin,terminate:ctrl_alt_bksp"
EndSection
Также, перезагружая иксы и проглядывая раз за разом /var/log/Xorg.0.log, я удалил не поддерживаемые расширения и модули, ненужные видеорежимы и прочий мусор. В /etc/default/keyboard были внесены те же правила для клавиатуры. Однако setxkbmap -print -verbose 10 показывал совсем не то. Оказалось, что xfce4-xkb-plugin отчего-то переопределяет системные настройки, не смотря на соответствующую опцию. За что и был заменён на xxkb.
Итог: Oracle SQL Developer снова работает с горячими клавишами, в настройке устройств ввода наведён небольшой порядок, место индикатора раскладок занял xxkb.
Читать далее