'us: 2' mod na configuração do XKB

0

Esta é a minha configuração do XKB:

$ setxkbmap -print
xkb_keymap {
    xkb_keycodes  { include "evdev+aliases(qwerty)" };
    xkb_types     { include "complete"  };
    xkb_compat    { include "complete"  };
    xkb_symbols   { include "pc+gb(custom)+us:2+inet(evdev)"    };
    xkb_geometry  { include "pc(pc105)" };
};

Qual é o significado de us:2 ?

    
por Elena 27.10.2018 / 21:37

1 resposta

1

Isso significa que você definiu dois layouts, gb com seu custom variant e us com o padrão (isto é, o primeiro definido no arquivo /usr/share/X11/xkb/symbols/us ).

O primeiro layout não está marcado com :1 , apenas o segundo com :2 , o terceiro com :3 e assim por diante.

Sua configuração não define nenhuma chave para alternar entre os layouts, então eles provavelmente só podem ser alternados via GUI.

Por exemplo, você pode definir três layouts (EUA / básico, alemão e russo / fonético), comutáveis por meio da tecla do Menu :

$ setxkbmap -layout us,de,ru -variant basic,,phonetic -option grp:menu_toggle
$ setxkbmap -print
xkb_keymap {
        xkb_keycodes  { include "evdev+aliases(qwerty)" };
        xkb_types     { include "complete"      };
        xkb_compat    { include "complete"      };
        xkb_symbols   { include "pc+us(basic)+de:2+ru(phonetic):3+inet(evdev)+group(menu_toggle)+ctrl(nocaps)"  };
        xkb_geometry  { include "pc(pc105)"     };
};

Se você quiser ver a configuração completa do xkb expandido, você pode fazê-lo com:

xkbcomp $DISPLAY - | less

Isso mostrará os três layouts à medida que foram mesclados, por exemplo. para a chave \ :

xkb_symbols "pc+us(basic)+de:2+ru(phonetic):3+inet(evdev)+group(menu_toggle)+ctrl(nocaps)" {

    name[group1]="English (US)";
    name[group2]="German";
    name[group3]="Russian (phonetic)";
...
    key <BKSL> {
        type[group2]= "FOUR_LEVEL",
        type[group3]= "ALPHABETIC",
        symbols[Group1]= [       backslash,             bar ],
        symbols[Group2]= [      numbersign,      apostrophe, rightsinglequotemark,      dead_breve ],
        symbols[Group3]= [      Cyrillic_e,      Cyrillic_E ]
    };

A mesma ferramenta xkbcomp pode ser usada para carregar uma configuração personalizada sem precisar ser root e mexer com arquivos e diretórios do sistema dentro de /usr/share :

xkbcomp $DISPLAY ~/.xkb_conf
# modify ~/.xkb_conf
# then load it:
xkbcomp ~/.xkb_conf $DISPLAY

A adição da última linha a ~/.xsession pode ou não funcionar com ambientes de área de trabalho "modernos", que forçam o carregamento das configurações de teclado fixas com o equivalente C de setxkbmap e não são facilmente convencidos a ficar fora do maneira.

    
por 28.10.2018 / 01:22

Tags