Bug 5336 - Не работает циклическое переключение раскладки по левому Ctrl-Shift
: Не работает циклическое переключение раскладки по левому Ctrl-Shift
Status: CLOSED WONTFIX
: Sisyphus
(All bugs in Sisyphus/xorg-x11)
: unstable
: all Linux
: P2 major
Assigned To:
:
:
:
:
:
  Show dependency tree
 
Reported: 2004-10-15 14:35 by
Modified: 2006-05-13 14:35 (History)


Attachments


Note

You need to log in before you can comment on or make changes to this bug.


Description From 2004-10-15 14:35:21
Не работает _циклическое_ переключение раскладки по левому Ctrl-Shift. По 
правому - всё нормально (если конечно есть правый Ctrl, а то у меня на ноуте 
даже его нет). 

Ниже выдержка из xorg.conf: 

Section "InputDevice" 

    Identifier "Keyboard1" 
    Driver      "kbd" 
    Option "AutoRepeat"  "250 30" 

    Option "XkbModel" "pc105" 
    Option "XkbLayout" "us,ua,ru" 
    Option "XkbVariant"  ",winkeys,winkeys" 
    Option "XkbOptions"  "grp:ctrl_shift_toggle" 

EndSection
------- Comment #1 From 2004-10-15 14:42:20 -------
работает.  У Вас на ноутбуке действительно клавиатура с 105 клавишами? 
------- Comment #2 From 2004-10-15 14:55:41 -------
На ноуте - нет. Но дома - да. Там тоже не работает. Секция описания клавиатуры 
- аналогичная. Да в принципе - это проявилось везде где устанавливался xorg. 
------- Comment #3 From 2004-10-15 16:51:10 -------
Подтверждаю! По левому Ctrl+Shift возможно только обратное переключение на US.
Вот мои настройки:

Section "InputDevice"

    Identifier "Keyboard1"
    Driver      "kbd"
    Option "AutoRepeat"  "250 30"

    Option "XkbModel" "pc105"
    Option "XkbLayout" "us,ru,ee"
    Option "XkbVariant"  ",winkeys,"
    Option "XkbOptions"  "grp:ctrl_shift_toggle,grp:switch"

EndSection
------- Comment #4 From 2004-10-15 19:06:43 -------
Это не бага, а фича

"Если установлено три языка, то комбинация левого или правого(или левого) Ctrl с 
левым Shift даёт переключение на предыдущюю раскладку. То есть если у 
меня UA - то на RU, а если RU - то на US и ни как иначе"
 
Shvidkiy Andrew in sisyphus@
------- Comment #5 From 2004-10-15 19:16:16 -------
>Это не бага, а фича 
 
>"Если установлено три языка, то комбинация левого или правого(или левого) 
>Ctrl с  
>левым Shift даёт переключение на предыдущюю раскладку. То есть если у  
>меня UA - то на RU, а если RU - то на US и ни как иначе" 
  
Правильно! Тока делать он должен это циклически, т.е. после английского должен 
переключится на украинский, потом на русский и т.д. - по кругу (см. правый 
Ctrl-Shift) 
 
------- Comment #6 From 2004-10-16 10:23:29 -------
Потверждаю.
Левый ctrl_shift только переключает из любой раскладки в английскую.

Повторяется не только в альтовой сборке X.org, но и в XFree86 4.4 на FreeBSD.

Незадокумментированая фича в апстриме?
------- Comment #7 From 2005-09-06 16:54:51 -------
// using the group(ctrl_shift_toggle) map, pressing:  
//     Control_L+Shift_L locks the previous group  
//     Control_R+Shift_R locks the next group  
// If you have two groups and group wrap is enabled, the effect is  
// indistinguishable.  
partial modifier_keys  
xkb_symbols "ctrl_shift_toggle" {  
    key <LFSH> {  
        type="PC_BREAK",  
        symbols[Group1]= [ Shift_L,     ISO_Prev_Group ]  
    };  
    key <RTSH> {  
        type="PC_BREAK",  
        symbols[Group1]= [ Shift_R,     ISO_Next_Group ]  
    };  
    key <LCTL>  {       [       Control_L,      ISO_Prev_Group ]        };  
    key <RCTL>  {       [       Control_R,      ISO_Next_Group ]        };  
};  
 
тоже самое для alt_shift_toggle, ctrl_alt_toggle и т.п. 
------- Comment #8 From 2006-05-13 14:35:22 -------
Может быть это и не баг, а фича... Мало ли, может кому-нибудь нравится такое
поведение переключателей, а для тех, кому не нравится есть решение.
/etc/X11/xkb/compat/iso9995:

вот здесь

interpret ISO_Prev_Group {                                                  
    useModMapMods= level1;                                                  
    virtualModifier= AltGr;                                                 
    action= LockGroup(group=-1);

вместо group=-1 пишем group=+2 (для 3-х раскладок, +3 для 4-х и т. д.)