Bug 32638 - Не устанавливается переключатель раскладок по ctrls_toggle (/etc/X11/xinit/fixkeyboard)
Summary: Не устанавливается переключатель раскладок по ctrls_toggle (/etc/X11/xinit/fi...
Status: NEW
Alias: None
Product: Branch p7
Classification: Distributions
Component: xkeyboard-config (show other bugs)
Version: не указана
Hardware: all Linux
: P3 normal
Assignee: Andrey Cherepanov
QA Contact: qa-p7@altlinux.org
URL: http://lists.altlinux.org/pipermail/s...
Keywords:
Depends on: 32655
Blocks: 32661 30618
  Show dependency tree
 
Reported: 2016-10-20 04:55 MSK by Ivan Zakharyaschev
Modified: 2016-10-25 00:30 MSK (History)
3 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Ivan Zakharyaschev 2016-10-20 04:55:00 MSK
Да, описанная проблема и решение у меня тоже воспроизвелись с 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-22 22:10:14 MSK
setxkbmap-1.3.1-alt1 from Sisyphus also has this problem. (I haven't yet tested the Xorg server from Sisyphus.)
Comment 2 Ivan Zakharyaschev 2016-10-22 23:21:49 MSK
A working fix has been published in https://bugs.freedesktop.org/show_bug.cgi?id=15843#c3 .
Comment 3 Ivan Zakharyaschev 2016-10-24 16:32:00 MSK
In a Sisyphus system, this problem is not present (perhaps, due to https://packages.altlinux.org/en/Sisyphus/srpms/xkeyboard-config ).
Comment 4 Ivan Zakharyaschev 2016-10-24 17:30:20 MSK
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.
Comment 5 Ivan Zakharyaschev 2016-10-24 17:42:01 MSK
shrek@ , может, скопируем xkeyboard-config из Sisyphus в t7?

task #171314
Comment 6 Ivan Zakharyaschev 2016-10-24 18:52:55 MSK
(In reply to comment #5)
> shrek@ , может, скопируем xkeyboard-config из Sisyphus в t7?
> 
> task #171314

В t7 таким образом уже исправлено, в p7 пока нет. (Отчасти я думаю: вдруг какие-то проблемы кто-то обнаружит с новой версией, хотя это очень маловероятно, и можно будет вскоре скопировать.)