Раскладки настроены так:
setxkbmap us,ru -option "" -option "grp:lctrl_lshift_toggle,grp_led:scroll"
При нажатии ctrl+shift переключается язык и переключается индикатор скролллока. Но если переключать язык не хоткеем а например через гуи - скролллок не переключается. То есть получается например выбранный русский язык, но скролллок выключен. Если после этого переключать опять через ctrl-shift - переключается и то и то, и получается выбран уже англ, но скроллок загорается. Можно ли как-то сделать чтобы скроллок не переключался на просто другое состояние, а переключался на правильное (us - выключен, ru - включён)?
По-моему когда-то давно оно так и работало, но возможно я что-то путаю.
Иногда эта рассинхронизация начинается и тогда, когда я переключаю только хоткеем (собственно, гуи переключалку я использую только для того чтобы вернуть синхронное состояние, а обычно она только индикатор).
Думаю не составит особого труда найти эту логику в исходниках xorg-а и всё выяснить, но вдруг ответ имеется и без них? Поэтому создал тему.
Обновление: выяснилось, что в сессиях, запущеных из консоли через startx, этой проблемы нет - всё нормально синхронизируется. Проблема только в сессии, запущеной из дисплейного менеджера (который гуи форму логина рисует) slim.
Собственно вопрос остаётся - почему так и как это исправить.
Ещё удивительнее: после опытов в других сессиях и в основной стало нормально работать. Интересно когда опять сломается. Ребутать не хочу.