LINUX.ORG.RU
решено ФорумMobile

[Nokia N900] [Maemo] После изменения раскладки клавиатуры не работает выделение текста по shift+стрелка


0

1

Собственно, сабж. Причина известна. Дефолтная раскладка клавиатуры была очень неудобна, поэтому руководствуясь инструкцией http://habrahabr.ru/blogs/nokia/89651/ , ми ее изменила, сделав себе 4 клавиши курсора вместо двух (функцию «влево» выполняет клавиша б, «вверх» - э), и еще добавила некоторые нужные символы, потому что лень лазить каждый раз в таблицу дополнительных символов. И теперь при нажатии шифта одновременно с клавишей курсора текст выделяться не хочет. В файле с раскладкой имеется предупреждение, что «normal 2nd level must not be enumerated to allow text selection with Shift». Но собссно, второй уровень и не был изменен. И еще на новоявленных клавишах курсора обосновались буквы б,э,ю,ъ, вызываемые с помощью Fn. Заглавные буквы должны печататься при нажатии Fn+Shift+клавиша, но работает это только в двух-трех прогах, в остальных приходится включать режим Caps Lock. Измененное мной содержимое /usr/share/X11/xkb/symbols/nokia_vndr/rx-51 : секция, отвечающая за русскую раскладку:

partial alphanumeric_keys
xkb_symbols "ru" {
    include "nokia_vndr/rx-51(english_base)"
    include "nokia_vndr/rx-51(arrows_rules)"

    name[Group1] = "Russian";

    key.type[Group1] = "EIGHT_LEVEL_SEMIALPHABETIC";

    // 1. row
    key <AD01>    { [    q,        Q,        1,            1,            Cyrillic_shorti,    Cyrillic_SHORTI,    1,            1            ] };
    key <AD02>    { [    w,        W,        2,            2,            Cyrillic_tse,        Cyrillic_TSE,        2,            2            ] };
    key <AD03>    { [    e,        E,        3,            3,            Cyrillic_u,        Cyrillic_U,        3,            3            ] };
    key <AD04>    { [    r,        R,        4,            4,            Cyrillic_ka,        Cyrillic_KA,        4,            4            ] };
    key <AD05>    { [    t,        T,        5,            5,            Cyrillic_ie,        Cyrillic_IE,        5,            5            ] };
    key <AD06>    { [    y,        Y,        6,            6,            Cyrillic_en,        Cyrillic_EN,        6,            6            ] };
    key <AD07>    { [    u,        U,        7,            7,            Cyrillic_ghe,        Cyrillic_GHE,        7,            7            ] };
    key <AD08>    { [    i,        I,        8,            8,            Cyrillic_sha,        Cyrillic_SHA,        8,            8            ] };
    key <AD09>    { [    o,        O,        9,            9,            Cyrillic_shcha,        Cyrillic_SHCHA,        9,            9            ] };
    key <AD10>    { [    p,        P,        0,            0,            Cyrillic_ze,        Cyrillic_ZE,        0,            0            ] };
    key <AB08>  { [    dollar,        EuroSign,    equal,            plus,            Cyrillic_ha,        Cyrillic_HA,        equal,            plus            ] };

    // 2. row
    key <AC01>    { [    a,        A,        asterisk,        numbersign,        Cyrillic_ef,        Cyrillic_EF,        asterisk,        numbersign        ] };
    key <AC02>    { [    s,        S,        less,            bracketleft,        Cyrillic_yeru,        Cyrillic_YERU,        less,            bracketleft        ] };
    key <AC03>    { [    d,        D,        greater,        bracketright,        Cyrillic_ve,        Cyrillic_VE,        greater,        bracketright        ] };
    key <AC04>    { [    f,        F,        minus,            minus,            Cyrillic_a,        Cyrillic_A,        minus,            minus            ] };
    key <AC05>    { [    g,        G,        underscore,        underscore,        Cyrillic_pe,        Cyrillic_PE,        underscore,        underscore        ] };
    key <AC06>    { [    h,        H,        exclam,            exclam,            Cyrillic_er,        Cyrillic_ER,        exclam,            exclam            ] };
    key <AC07>    { [    j,        J,        question,        question,        Cyrillic_o,        Cyrillic_O,        question,        question        ] };
    key <AC08>    { [    k,        K,        semicolon,        semicolon,        Cyrillic_el,        Cyrillic_EL,        semicolon,        semicolon        ] };
    key <AC09>    { [    l,        L,        colon,            colon,            Cyrillic_de,        Cyrillic_DE,        colon,            colon            ] };
    key <AB09>    { [    asciitilde,    asciitilde,    bar,            bar,            Cyrillic_zhe,        Cyrillic_ZHE,        bar,            bar            ] };

    // 3. row
    key <AB01>    { [    z,        Z,        period,            ampersand,        Cyrillic_ya,        Cyrillic_YA,        period,            ampersand        ] };
    key <AB02>    { [    x,        X,        comma,            percent,        Cyrillic_che,        Cyrillic_CHE,        comma,            percent            ] };
    key <AB03>    { [    c,        C,        slash,            backslash,        Cyrillic_es,        Cyrillic_ES,        slash,            backslash        ] };
    key <AB04>    { [    v,        V,        parenleft,        braceleft,        Cyrillic_em,        Cyrillic_EM,        parenleft,        braceleft        ] };
    key <AB05>    { [    b,        B,        parenright,        braceright,        Cyrillic_i,        Cyrillic_I,        parenright,        braceright        ] };
    key <AB06>    { [    n,        N,        quotedbl,        dead_circumflex,    Cyrillic_te,        Cyrillic_TE,        quotedbl,        dead_circumflex        ] };
    key <AB07>    { [    m,        M,        apostrophe,        dead_grave,        Cyrillic_softsign,    Cyrillic_SOFTSIGN,    apostrophe,        dead_grave        ] };
};
секция, отвечающая за клавиши курсора:
partial hidden alphanumeric_keys
xkb_symbols "arrows_rules" {
    // standard arrows mapping
    // normal 2nd level must not be enumerated to allow text selection with Shift
    key <UP>    { type[Group1] = "EIGHT_LEVEL_SEMIALPHABETIC", symbols[Group1] = [    Up,    Up,    Cyrillic_e,     Cyrillic_E,    Up,    Up,    Cyrillic_e,    Cyrillic_E    ] };
    key <LEFT>    { type[Group1] = "EIGHT_LEVEL_SEMIALPHABETIC", symbols[Group1] = [    Left,    Left,    Cyrillic_be,    Cyrillic_BE,    Left,    Left,    Cyrillic_be,    Cyrillic_BE    ] };
    key <DOWN>    { type[Group1] = "EIGHT_LEVEL_SEMIALPHABETIC", symbols[Group1] = [    Down,    Down,    Cyrillic_yu,    Cyrillic_YU,    Down,    Down,    Cyrillic_yu,    Cyrillic_YU    ] };
    key <RGHT>    { type[Group1] = "EIGHT_LEVEL_SEMIALPHABETIC", symbols[Group1] = [    Right,    Right,    Cyrillic_hardsign,    Cyrillic_HARDSIGN,    Right,    Right,    Cyrillic_hardsign,    Cyrillic_HARDSIGN    ] };
};

Причем возникает такое чувство, что шифт просто не воспринимается при нажатии этих несчастных стрелок. Ми кажется что ему не нравится то, что у клавиш курсора тип EIGHT_LEVEL_SEMIALPHABETIC... В английской раскладке наблюдается то же самое. Но. Если выбрать язык, отличный от русского, в раскладке которого используется не дописанная мной секция со стрелками, а одна из стандвртных - выделение работает. В стандартных тип ONE_LEVEL либо PC_FN_LEVEL2. У других с таким же конфигом все вроде работает... PS: вернуть все обратно не проблема, но не хочется, поскольку неудобно... хочется настроить систему под себя =)

>5:59:49
бедный девочка, вот до чего линукс доводит, по ночам не спит, думает как бы исправить раскладку

пользуюсь дефолтной раскладкой и sshd

dimon555 ★★★★★ ()
Ответ на: комментарий от dimon555

>>5:59:49

бедный девочка, вот до чего линукс доводит, по ночам не спит, думает как бы исправить раскладку

До этого доводит не линукс а бессонница + скука...

пользуюсь дефолтной раскладкой и sshd

Ну я за вас рада, что я еще могу сказать. Хотелось бы что-нить по сабжу услышать...

Alianna ()
Ответ на: комментарий от Alianna

Походу тут дело в различной реализации ввода в различных приложениях. Заметила что в стандартном браузере в полях ввода текста выделение работает! но уже в адресной строке нет. И немного странно что оно перестало работать там где раньше работало. Значит конфиг все-таки рабочий, но не все проги его понимают... хм...

Alianna ()
Ответ на: комментарий от Alianna

Нашла решение.

Случайно. Экспериментировала с типами. Чтобы не засорять моск читающим своими рассуждениями - просто выложу секцию, отвечающую за стрелки. Кому надо - пусть рассуждает сам... тем более что впринципе все понятно, имхо.

partial hidden alphanumeric_keys
xkb_symbols "arrows_rules" {
    // standard arrows mapping
    // normal 2nd level must not be enumerated to allow text selection with Shift
    key <UP>	{ type[Group1] = "PC_FN_LEVEL2", symbols[Group1] = [	Up,	Cyrillic_e	] };
    key <LEFT>	{ type[Group1] = "PC_FN_LEVEL2", symbols[Group1] = [	Left,	Cyrillic_be	] };
    key <DOWN>	{ type[Group1] = "PC_FN_LEVEL2", symbols[Group1] = [	Down,	Cyrillic_yu	] };
    key <RGHT>	{ type[Group1] = "PC_FN_LEVEL2", symbols[Group1] = [	Right,	Cyrillic_hardsign	] };
};

Alianna ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.