Простая задачка, вроде. Есть несколько раскладок клавиатуры, пусть их две - латиница и кириллица. Как сделать: Ctrl-Shift всегда включает только латиницу, Alt-Shift всегда включает только кириллицу???
Тупое, но практически нерабочее решение: какими-либо средствами рабочего стола назначить кнопкам команды
setxkbmap -layout "us,ru"
setxkbmap -layout "ru,us"
К примеру, для OpenBox можно использовать obkey, чтобы назначить кнопкам команды.
Всё почти неплохо, но, если в списке раскладок первой стоит не 'us', то GUI приложения перестают реагировать на Ctrl-S, Ctrl-Z. Можно это исправить, для этого способа переключения? Какие механизмы играют здесь роль? Как это работает?
Как иначе сделать это? Чтобы и индивидуальные комбинации для раскладок, и нажатие на кнопки с надписями Ctrl и S вызывало сохранение, независимо от текущей раскладки.
Интереснее всего, если решение независимое от desktop environment. В принципе, интересны любые рабочие решения.
Повторюсь, нужно НЕ сменить комбинацию, в цикле переключающую все сразу ракладки. Надо назначить каждой конкретной раскладке отдельную комбинацию включения этой конкретной раскладки.
P.S.
Имеет место быть:
$ cat /usr/share/X11/xkb/symbols/ru | egrep "(AEN|shrek)" | sed 's/@.*$//'
// AEN <aen
// 2005/12/09 Valery Inozemtsev <shrek
Я напрямую писать не хочу, но может они кому что рассказывали? Из того, что может быть полезно в этой теме. Поделитесь плиз, если было.
Спасибо.