Bug 32655

Summary: Не устанавливается переключатель раскладок по ctrls_toggle (/etc/X11/xinit/fixkeyboard)
Product: Branch p8 Reporter: Ivan Zakharyaschev <imz>
Component: xkeyboard-configAssignee: Andrey Cherepanov <cas>
Status: CLOSED FIXED QA Contact: qa-p8 <qa-p8>
Severity: normal    
Priority: P3 CC: imz, legion
Version: не указана   
Hardware: all   
OS: Linux   
URL: http://lists.altlinux.org/pipermail/sisyphus/2014-December/363265.html
Bug Depends on:    
Bug Blocks: 32638    

Description Ivan Zakharyaschev 2016-10-24 17:33:08 MSK
The p8 version is 1:2.13-alt2 now, hence it has this bug.

https://bugzilla.altlinux.org/show_bug.cgi?id=32638#c4 :

http://git.altlinux.org/gears/x/xkeyboard-config.git?p=xkeyboard-config.git;a=commitdiff;h=4346c44713e2573dd7ebd4f5d6e5ac12ee9247c4
is the fix, and it follows 2.16 and precedes 2.17.

The Sisyphus version is 1:2.18-alt1 now, hence it includes the fix.

The p7/t7 version is 1:2.8-alt1 now, hence it has this bug.

As for p6/t6, we can't be sure without testing, because these rules may have
worked with earlier versions of Xorg setxkbmap etc., but then stopped working
because of some change in Xorg setxkbmap etc.

+++ This bug was initially created as a clone of Bug #32638 +++

Да, описанная проблема и решение у меня тоже воспроизвелись с setxkbmap-1.3.0-alt1.

+++ This bug was initially created as a clone of Bug #30618 +++

Изначально тема была поднята здесь:

http://lists.altlinux.org/pipermail/sisyphus/2014-December/363265.html

Основная проблема в том, что в Xkbmap можно установить переключатель раскладок, например, по caps_toggle или ctrl_shift_toggle, но не получается сделать то же самое по ctrls_toggle.

Возможно, что это скорее проблема пакета xkeyboard-config, к которому относится файл /usr/share/X11/xkb/symbols/group, содержащий соответствующее определение ctrls_toggle, и нужно исправить именно определение этой комбинации.

Однако, в `man setxkbcomp` (раздел "USING WITH xkbcomp") приведен шаблон использования setxkbmap в паре с xkbcomp, после запуска которого переключатель ctrls_toggle устанавливается. Причину этого я пока не понял, так как в том же документе сказано, что такой образец нужен, только если X-сервер и клиент запускаются на разных машинах с разными конфигурациями.

Не знаю, правильное ли это решение, но я просто изменил вызов setxkbmap в файле /etc/X11/xinit/fixkeyboard, и у меня все заработало. Мои изменеия даю в прилагаемом патче.

Кроме того, я добавил еще одну альтернативу, когда файл Xkbmap отсутствует и как в системном, так и в домашнем каталоге пользователя. В этом случае настройки клавиатуры определяются конфигурацией xorg.conf (в частности, в файле /etc/X11/xorg.conf.d/95-input-keyboard.conf), и работа fixkeyboard сводится только к загрузке текущих значений setxkbmap в xkbcomp.

Думаю, пока (и если) не разберемся с определением ctrls_toggle в xkeyboard-config, стоит пока использовать предложенные мной изменения.
Comment 1 Ivan Zakharyaschev 2016-10-26 12:13:23 MSK
Fixed by copying 1:2.18-alt1 to p8.