Bug 13029

Summary: [4.0.1] после правки раскладок в альтераторе слеает флажок и код языка в kkbswitch
Product: Branch 4.0 Reporter: Denis G. Samsonenko <d.g.samsonenko>
Component: alterator-xkbAssignee: inger <inger>
Status: CLOSED NOTABUG QA Contact: Q.A. 4.0 <qa-4.0>
Severity: major    
Priority: P3 CC: boyarsh, mike, shrek, zerg
Version: 4.0   
Hardware: all   
OS: Linux   

Description Denis G. Samsonenko 2007-10-04 18:28:20 MSD
После того как поменял через альтератор переключалку раскладки, так сразу
kkbswitch стал вместо прежнего US писать просто цифру 1 в трее. При этом русскую
раскладку показывает как и прежде: RU.
Comment 1 Denis G. Samsonenko 2007-10-05 09:18:07 MSD
Дальнейшие разборки показали следующее.

alterator-xkb сделал мне файл /etc/X11/xinit/Xkbmap следующего содержания:

-model pc105 -option grp:lwin_toggle -layout "us,ru(winkeys)"

Посмотрев, как это выглядит на соседнем компе, где я ничего не менял после
установки, я привёл этот файл к следующему виду:

-layout us,ru
-option grp:lwin_toggle,grp:rwin_switch,compose:menu
-variant ,winkeys

С такими настройками kkbswitch стал нормально рисовать в трее флажок и код языка.

В дополнение, я не нашёл, как через альтератор добавить, например, grp:switch,
или как у меня тут grp:rwin_switch. Смысла в таком конфигураторе я не вижу, если
всё равно приходится лезть в конфигурационный файл руками и править уже там.
Comment 2 inger@altlinux.org 2007-10-05 13:46:36 MSD
Данные строчки эквивалентны, за исключением compose:menu. В xkb допустимы оба
варианта записи (с ипользованием XkbVariant и без оного).

Столь не любимый вами конфигуратор ничего противозаконного не сделал.
Разбирайтесь с kkbswitch.

Смена раскладки делается через setxkbmap `cat /etc/X11/xinit/Xkbmap`. Попробуйте
найти закономерность.
Comment 3 Denis G. Samsonenko 2007-10-06 05:40:28 MSD
(In reply to comment #2)
> Данные строчки эквивалентны, за исключением compose:menu.

А также grp:rwin_switch.

> В xkb допустимы оба
> варианта записи (с ипользованием XkbVariant и без оного).
> Столь не любимый вами конфигуратор ничего противозаконного не сделал.

Я не утверждал, что сгенерированная строка неверна, ведь сами-то X'ы раскладку
переключают.

Также не утверждал, что он мною не любим. Просто он помоему не обеспечивает
минимально необходимого функционала (не добавляет grp:rwin_switch или grp:switch
в дополнение к grp:lwin_toggle). Или я не нешёл как это сделать (тогда это
сделано недостаточно прозрачно).

> Разбирайтесь с kkbswitch.

Можно было бы тогда и перевесить на него, раз уж считаете, что альтератор не
виноват.

> Смена раскладки делается через setxkbmap `cat /etc/X11/xinit/Xkbmap`. 
> Попробуйте найти закономерность.

Я знаю. Будет время поиграюсь с вариантами. Но было бы лучше, если бы кто-то
более квалифицированный (нежели я) в этих делах проверил бы.
Comment 4 Denis G. Samsonenko 2007-10-06 06:06:06 MSD
(In reply to comment #2)
> Разбирайтесь с kkbswitch.
> Смена раскладки делается через setxkbmap `cat /etc/X11/xinit/Xkbmap`. 
> Попробуйте найти закономерность.

Я поразбирался и обнаружил, что если не ставить кавычки вокруг us,ru(winkeys),
то kkbswitch нормально показывает код языка. Если же написать так, как пишет
альетатор, т.е. "us,ru(winkeys)", то вместо кода английского языка в kkbswitch
возникает единичка.
Comment 5 inger@altlinux.org 2007-10-08 15:31:11 MSD
А что может сказать мантейнер kde?
Comment 6 Sergey V Turchin 2007-10-08 17:42:42 MSD
(In reply to comment #5)
> А что может сказать мантейнер kde?
Что у него перестало воспроизводиться.
Возможно, связано с ошибками xml-файла описаний клавиатур.
Т.е. у меня сейчас 1-ка показывается только когда удаляю все раскладки и жму 
применить.

Comment 7 Denis G. Samsonenko 2008-01-29 14:17:20 MSK
Вроде бы в 4.0.2 у меня не наблюдается. По сему закрываю.