[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[locale] Q: Xkb problem



Hi!

Я тут пытаюсь собрать ru-yawerty для X11,
и тут наткнулся на проблему.

В нем я определяю строки подобные этим:
key <AE08> { [ 8, asterisk ]};
key <AE09> { [ 9, parenleft ]};
что бы восстановить после других раскладок.

В /etc/X11/XF86Config у меня только:
   XkbRules        "xfree86"
   XkbModel        "pc104"

И я устанавливаю: 'setxkbmap -layout ru-yawerty -option grp:ctrl_shift_toggle'

Запускаю 'xkbcomp bad.xkb -' и в результате получаю:

    key <AE08> {
        symbols[Group1]= [               8,        asterisk ],
        symbols[Group2]= [     bracketleft,       trademark ]
    };
    key <AE09> {
        symbols[Group1]= [               9,       parenleft ],
        symbols[Group2]= [    bracketright,       plusminus ]
    };

Теперь в русском языке нет некоторых цифр и знаков.
Откуда берется это?
Я ожидал что  "{ [ 8, asterisk ]};" будет для всех групп.
В принципе "key <AE08> { [ 8, asterisk ], [ 8, asterisk ]};"
помогает, но как-то все это странно.

И ещё, какой XkbLayout по default?

P.S. Я надеюсь что раскладка yawerty тоже будет включена в XFree86,
т.к. я обнаружил много людей которым она поможет писать по русски. 

By.
-- 

                      С наилучшими пожеланиями, Евгений Бырганов.
                      Best regards, Eugene Byrganov.

  mailto:E.B.Byrganov@inp.nsk.su
  work - http://www.inp.nsk.su/

xkb_symbols "basic" {

    name[group1]="US/ASCII";
    name[group2]="Russian";

    key <AE01> {         [               1,          exclam ] };
    key <AE02> {         [               2,              at ] };
    key <AE03> {
        symbols[Group1]= [               3,      numbersign ],
        symbols[Group2]= [               3, Cyrillic_hardsign ]
    };                                                                         
    key <AE04> {
        symbols[Group1]= [               4,          dollar ],
        symbols[Group2]= [               4, Cyrillic_HARDSIGN ]
    };
    key <AE05> {
        symbols[Group1]= [               5,         percent ],
        symbols[Group2]= [               5,     Cyrillic_io ]
    };
    key <AE06> {
        symbols[Group1]= [               6,     asciicircum ],
        symbols[Group2]= [               6,     Cyrillic_IO ]
    };
// Restore after jcuken
    key <AE07> {         [               7,       ampersand ] };
    key <AE08> {         [               8,        asterisk ] };
    key <AE09> {	 [               9,       parenleft ] };
    key <AE10> {	 [               0,      parenright ] };
    key <AE11> {	 [           minus,      underscore ] };
    key <AE12> {
        symbols[Group1]= [           equal,            plus ],
        symbols[Group2]= [      Cyrillic_e,      Cyrillic_E ]
    };
    key <AD01> {
        symbols[Group1]= [               q,               Q ],
        symbols[Group2]= [     Cyrillic_ya,     Cyrillic_YA ]
    };
    key <AD02> {
        symbols[Group1]= [               w,               W ],
        symbols[Group2]= [    Cyrillic_zhe,    Cyrillic_ZHE ]
    };
    key <AD03> {
        symbols[Group1]= [               e,               E ],
        symbols[Group2]= [     Cyrillic_ie,     Cyrillic_IE ]
    };
    key <AD04> {
        symbols[Group1]= [               r,               R ],
        symbols[Group2]= [     Cyrillic_er,     Cyrillic_ER ]
    };
    key <AD05> {
        symbols[Group1]= [               t,               T ],
        symbols[Group2]= [     Cyrillic_te,     Cyrillic_TE ]
    };
    key <AD06> {
        symbols[Group1]= [               y,               Y ],
        symbols[Group2]= [   Cyrillic_yeru,   Cyrillic_YERU ]
    };
    key <AD07> {
        symbols[Group1]= [               u,               U ],
        symbols[Group2]= [      Cyrillic_u,      Cyrillic_U ]
    };
    key <AD08> {
        symbols[Group1]= [               i,               I ],
        symbols[Group2]= [      Cyrillic_i,      Cyrillic_I ]
    };
    key <AD09> {
        symbols[Group1]= [               o,               O ],
        symbols[Group2]= [      Cyrillic_o,      Cyrillic_O ]
    };
    key <AD10> {
        symbols[Group1]= [               p,               P ],
        symbols[Group2]= [     Cyrillic_pe,     Cyrillic_PE ]
    };
    key <AD11> {
        symbols[Group1]= [     bracketleft,       braceleft ],
        symbols[Group2]= [    Cyrillic_sha,    Cyrillic_SHA ]
    };
    key <AD12> {
        symbols[Group1]= [    bracketright,      braceright ],
        symbols[Group2]= [  Cyrillic_shcha,  Cyrillic_SHCHA ]
    };
    key <AC01> {
        symbols[Group1]= [               a,               A ],
        symbols[Group2]= [      Cyrillic_a,      Cyrillic_A ]
    };
    key <AC02> {
        symbols[Group1]= [               s,               S ],
        symbols[Group2]= [     Cyrillic_es,     Cyrillic_ES ]
    };
    key <AC03> {
        symbols[Group1]= [               d,               D ],
        symbols[Group2]= [     Cyrillic_de,     Cyrillic_DE ]
    };
    key <AC04> {
        symbols[Group1]= [               f,               F ],
        symbols[Group2]= [     Cyrillic_ef,     Cyrillic_EF ]
    };
    key <AC05> {
        symbols[Group1]= [               g,               G ],
        symbols[Group2]= [    Cyrillic_ghe,    Cyrillic_GHE ]
    };
    key <AC06> {
        symbols[Group1]= [               h,               H ],
        symbols[Group2]= [     Cyrillic_ha,     Cyrillic_HA ]
    };
    key <AC07> {
        symbols[Group1]= [               j,               J ],
        symbols[Group2]= [ Cyrillic_shorti, Cyrillic_SHORTI ]
    };
    key <AC08> {
        symbols[Group1]= [               k,               K ],
        symbols[Group2]= [     Cyrillic_ka,     Cyrillic_KA ]
    };
    key <AC09> {
        symbols[Group1]= [               l,               L ],
        symbols[Group2]= [     Cyrillic_el,     Cyrillic_EL ]
    };
    key <AC10> {         [       semicolon,           colon ] };
    key <AC11> {         [      apostrophe,        quotedbl ] };
    key <TLDE> {
        symbols[Group1]= [           grave,      asciitilde ],
        symbols[Group2]= [    Cyrillic_che,    Cyrillic_CHE ]
    };
    key <BKSL> {
        symbols[Group1]= [       backslash,             bar ],
        symbols[Group2]= [     Cyrillic_yu,     Cyrillic_YU ]
    };
    key <AB01> {
        symbols[Group1]= [               z,               Z ],
        symbols[Group2]= [     Cyrillic_ze,     Cyrillic_ZE ]
    };
    key <AB02> {
        symbols[Group1]= [               x,               X ],
        symbols[Group2]= [ Cyrillic_softsign, Cyrillic_SOFTSIGN ]
    };
    key <AB03> {
        symbols[Group1]= [               c,               C ],
        symbols[Group2]= [    Cyrillic_tse,    Cyrillic_TSE ]
    };
    key <AB04> {
        symbols[Group1]= [               v,               V ],
        symbols[Group2]= [     Cyrillic_ve,     Cyrillic_VE ]
    };
    key <AB05> {
        symbols[Group1]= [               b,               B ],
        symbols[Group2]= [     Cyrillic_be,     Cyrillic_BE ]
    };
    key <AB06> {
        symbols[Group1]= [               n,               N ],
        symbols[Group2]= [     Cyrillic_en,     Cyrillic_EN ]
    };
    key <AB07> {
        symbols[Group1]= [               m,               M ],
        symbols[Group2]= [     Cyrillic_em,     Cyrillic_EM ]
    };
    key <AB08> {         [           comma,            less ] };
    key <AB09> {         [          period,         greater ] };
    key <AB10> {	 [           slash,        question ] };

// Restore after old "ru"
    key <CAPS> {         [       Caps_Lock ] };


    key <LSGT> {
        symbols[Group1]= [            less,         greater ],
        symbols[Group2]= [             bar,       brokenbar ]
    };

//    key <LALT> {         [           Alt_L ] };
//    key <SPCE> {         [           space ] };
//    key <RTRN> {         [          Return ] };
//    key <LCTL> {         [       Control_L,  ISO_Prev_Group ] };
//    key <BKSP> {         [       BackSpace ] };
//    key  <TAB> {         [             Tab,    ISO_Left_Tab ] };
//    key <RALT> {         [     Mode_switch ] };
//    key <LWIN> {         [          Meta_L ] };
//    key <RWIN> {         [       Multi_key ] };
//    key <MENU> {         [            Menu ] };

//    modifier_map Control { <LCTL> };
//    modifier_map Shift { <LFSH> };
//    modifier_map Shift { <RTSH> };
//    modifier_map Mod1 { <LALT> };
//    modifier_map Lock { <CAPS> };
//    modifier_map Mod2 { <NMLK> };
//    modifier_map Mod5 { <SCLK> };
//    modifier_map Control { <RCTL> };
//    modifier_map Mod3 { <RALT> };
//    modifier_map Mod4 { <LWIN> };
    modifier_map Shift  { Shift_L };
    modifier_map Lock   { Caps_Lock, ISO_Lock };
    modifier_map Control{ Control_L };
    modifier_map Mod3   { Mode_switch };

};