[sisyphus] Переключение раскладок клавиатуры по двум Ctrl в X

Eugine Kosenko eugine.kosenko на gmail.com
Пн Дек 29 08:12:30 MSK 2014


Вдумчивое чтение скриптов инициализации X позволило обнаружить, что
обработка Xkbmap производится в файле
/etc/X11/xinit/fixkeyboard. В результате получилось воспроизвести ситуацию
в обычной командной строке.

Теперь ясно, что после

$ setxkbmap "us,ru" -option "" -option "grp:caps_toggle"

или

$ setxkbmap "us,ru" -option "" -option "grp:ctrl_shift_toggle"

комбинация для переключения раскладки изменяется, как ожидается. Но вот
после

$ setxkbmap "us,ru" -option "" -option "grp:ctrls_toggle"

такого изменения не происходит. Однако, как и прежде, после

$ setxkbmap "us,ru" -option "" -option "grp:ctrls_toggle" -print | xkbcomp
- $DISPLAY

комбинация переключения меняется, как ожидалось.

Скорее всего, это как-то связано с определением комбинации ctrls_toggle в
файле
/usr/share/X11/xkb/symbols/group, но я пока не настолько хорошо вник в xkb
(и тонкие отношения между
setxkbmap и xkbcomp), чтобы понять, в чем проблема. По крайней мере,
попытка определить ctrls_toggle по
образцу lctrl_lshift_toggle у меня успеха не имела.

Можно, наверное, еще вбить костыль с вызовом xkbcomp в сам файл
/etc/X11/xinit/fixkeyboard. Но я пока
этого не пробовал. Да и правильно ли это с точки зрения всей системы? Я все
еще не совсем понимаю, это баг или фича.

И да, можно ли использовать для переключения раскладок обычные (то есть, не
"мертвые") клавиши? Например,
Ctrl-\? Почти наверняка это никому ненужно, интерес чисто академический.


2014-12-28 20:01 GMT+03:00 Michael Shigorin <mike на altlinux.org>:

> On Sun, Dec 28, 2014 at 10:22:39AM +0400, Eugine Kosenko wrote:
> > > > У меня, наверно, какой-то неправильный Сизиф?
> > > Этот файлик умеет делать alterator-sysconfig
> > Альтератор для меня --- тоже темный лес :-(, Вот, нашел даже
> alterator-xkb,
> > вроде как бы как раз для настройки xkb. Но я даже не знаю, откуда начать.
>
> Можно поставить alterator-standalone и нужные модули,
> запустить от рута acc и посмотреть.
>
> > Вообще, как я вижу, хорошей документации по альтератору в стиле HOWTO по
> > конкретным вопросам (типа как у меня), похоже, вообще нет.
>
> Давай исправлять, если хочешь.  Свежий взгляд ещё без привычки --
> самый ценный в плане документирования.
>
> > http://www.altlinux.org/X
>
> Не знал про эту страничку (посмотрел -- lav@ писал). :)
>
> > Эксперименты с этими файлами показали, что ситуация такая же. Очевидно,
> что
> > настройки Xkbmap перекрывают настройки xorg.conf, и в этом смысле решение
> > работает. Но поведение остается тем же --- caps_toggle и
> ctrl_shift_toggle
> > срабатывают, а ctrls_toggle --- нет. И точно так же, легкий перезапуск X
> не
> > изменяет конфигурацию даже при изменении общесистемной, а не
> > пользовательской настройки.  Вешать баг?
>
> А если руками запустить setxkbmap -option (для сброса)
> и затем setxkbmap -option grp:... для проверки?
>
> Потому как все эти буковки именно этой утилите и передаются
> (в уже упоминавшемся /etc/X11/xinit/fixkeyboard).
>
> --
>  ---- WBR, Michael Shigorin / http://altlinux.org
>   ------ http://opennet.ru / http://anna-news.info
> _______________________________________________
> Sisyphus mailing list
> Sisyphus на lists.altlinux.org
> https://lists.altlinux.org/mailman/listinfo/sisyphus
>
----------- следующая часть -----------
Вложение в формате HTML было удалено...
URL: <http://lists.altlinux.org/pipermail/sisyphus/attachments/20141229/3bfd0e3c/attachment-0001.html>


Подробная информация о списке рассылки Sisyphus