Редактирование раскладки в X

Недавно обнаружил что в иксах появилась башкирская раскладка клавиатуры. Сначала обрадовался что наконец в появилась поддержка башкирского языка (до этого приходилось использовать татарскую), но радость длилась не долго - оказалось что расположение доп. символов (ҮүӘәңҒғҘҙҺһӨөҫ) перенесено на цифровые (верхний ряд), что делает не возможным набор знаков препинаний. В WinXP я в свое время ставил расширенную кириллицу и там набор был другим, через правый ALT, например ҙ набиралось при помощи "Правый ALT" + "з". Хотелось бы переделать существующую раскладку иксов, чтоб набирать через правый ALT. Подскажите это возможно без изменения исходников? В какую сторону копать?

.

http://www.gossamer-threads.com/lists/gentoo/user/204780?page=last
http://linuxreviews.org/man/xmodmap/
http://www.go2linux.org/change-keyboard-layout-X-linux-gentoo
сам не пробовал.

Это подпись, которую невозможно истолковать неправильно

А ещё можно через XCompose

А ещё можно через XCompose

Säläm iptäş!

Привет! По работе часто приходится заниматься переводом на языки народов Поволжья. так что проблема твоя знакома. Рекомендую создать свою раскладку. Это делается довольно просто, вот подробный пример с расширенной русской раскладкой:
http://ruenhanced.dmitry.fi/

Также посмотри татарские раскладки http://www.gentoo.ru/node/2702 по дифам не плохо видно что к чему, и на всякий случай прилагаю рабочий вариант (могут быть варнинги, но на работу не влияют).

Здесь фишка в том, что есть временное переключение на группу оригинальных раскладок - us или ru по ralt, например.

/usr/share/X11/xkb/symbols/tt:

//
// Tatar standart keyboard
//
// Latin layout
// based on http://tugan-tel.noka.ru/belem/tatar_standart
//
// Cyrillic layout
// based on Russian standard keyboard. AEN <aen@logic.ru>, Leon Kanter <leon@blackcatlinux.com>,
// Valery Inozemtsev <shrek@altlinux.ru>.
//
// I do NOT like ru(tt) keyboard layout - the "Russia - Tatar" keyboard as defined by Microsoft
// doesn't fit my needs. In first, it is has misscomfortable positioned keys. In secondary,
// tatar language is NOT russian language, and tatar language dont included in slavonic
// languages. Tatar language only has same alphabeth forced by russian goverment.
//
// Latinic alphabet more fit for recording sounds of turkic languages.
// And it is more fit for me.
//
// This file distributed without any expressed or implied warranty
// GTlinuxman <gtlinuxman{at}gmail{dot}com>
//
// $XFree86: xc/programs/xkbcomp/symbols/tt,v 1.1 2007/12/22 13:40:33 $

default
partial alphanumeric_keys modifier_keys
xkb_symbols "basic" {
    include "us(alt-intl)"
    include "eurosign"
    name[Group1]= "Tatarstan";

    key <AE01> { [ 1, exclam, onesuperior, exclamdown ] };
    key <AE02> { [ 2, quotedbl, at, twosuperior ] };
    key <AE03> { [ 3, numerosign, numbersign, NoSymbol, threesuperior ] };
    key <AE04> { [ 4, semicolon, dollar, NoSymbol, onequarter ] };
    key <AE05> { [ 5, percent, sterling, NoSymbol, onehalf ] };
    key <AE06> { [ 6, colon, asciicircum, NoSymbol, threequarters ] };
    key <AE07> { [ 7, question, ampersand, bar ] };
    key <AE08> { [ 8, asterisk, trademark, asciitilde ] };
    key <AB10> { [ period, comma ] };
    key	<TLDE> { [ idotless, I, grave, asciitilde ] };
    key <BKSL> { [ ntilde, Ntilde, backslash, slash ] };
    key <AD08> { [ i, Iabovedot, idotless, I ] };
    key <AD11> { [ ccedilla, Ccedilla, bracketleft, braceleft ] };
    key <AD12> { [ scedilla, Scedilla, bracketright, braceright ] };
    key <AC10> { [ adiaeresis, Adiaeresis, semicolon, colon ] };
    key <AC11> { [ gbreve, Gbreve, apostrophe, quotedbl ] };
    key <AB08> { [ odiaeresis, Odiaeresis, less, horizconnector ] };
    key <AB09> { [ udiaeresis, Udiaeresis, greater, periodcentered ] };
    key	<AC01> { [ a, A, adiaeresis, Adiaeresis ] };
    key	<AC02> { [ s, S, scedilla, Scedilla ] };
    key	<AD07> { [ u, U, udiaeresis, Udiaeresis ] };
    key	<AD09> { [ o, O, odiaeresis, Odiaeresis ] };
    key	<AC05> { [ g, G, gbreve, Gbreve ] };
    key	<AB03> { [ c, C, ccedilla, Ccedilla ] };
    key	<AB06> { [ n, N, ntilde, Ntilde ] };

//    key.type[group1]="TWO_LEVEL";

    include "level3(ralt_switch)"
};

partial alphanumeric_keys
xkb_symbols "yanalif2" {
    include "tt(basic)"
    name[Group1]= "Tatarstan - Yanalif2";

    key <BKSL> { [ eng, ENG, backslash,	slash		]       };
    key <AC10> { [ schwa, SCHWA, semicolon,	colon		]	};
    key <AB08> { [ obarred, Obarred, less,		horizconnector	]	};

    key	<AC01> { [ a, A, schwa, SCHWA ]	};
    key	<AC07> { [ o, O, obarred, Obarred ]	};
    key	<AB06> { [ n, N, eng, ENG ]	};

};

partial alphanumeric_keys
xkb_symbols "cyrillic" {
    include "ru_mod(basic)"
    name[Group1]= "Tatarstan - Cyrillic";

    key	<TLDE> {	[ Cyrillic_shha, Cyrillic_SHHA, Cyrillic_io, Cyrillic_IO ] };
    key	<AD02> {	[ Cyrillic_o_bar, Cyrillic_O_bar, Cyrillic_tse, Cyrillic_TSE ] };
    key	<AD03> {	[ Cyrillic_u, Cyrillic_U, Cyrillic_u_straight, Cyrillic_U_straight ] };
    key	<AD06> {	[ Cyrillic_en, Cyrillic_EN, Cyrillic_en_descender, Cyrillic_EN_descender ] };
    key	<AD09> {	[ Cyrillic_schwa, Cyrillic_SCHWA, Cyrillic_shcha, Cyrillic_SHCHA ] };
    key	<AD11> {	[ Cyrillic_ha,     Cyrillic_HA, Cyrillic_shha, Cyrillic_SHHA ] };
    key	<AD12> {	[ Cyrillic_u_straight, Cyrillic_U_straight, Cyrillic_hardsign, Cyrillic_HARDSIGN	]	};
    key	<AC04> {	[ Cyrillic_a,	Cyrillic_A, Cyrillic_schwa, Cyrillic_SCHWA ] };
    key	<AC07> {	[ Cyrillic_o,	Cyrillic_O, Cyrillic_o_bar, Cyrillic_O_bar ] };
    key	<AC10> {	[ Cyrillic_en_descender, Cyrillic_EN_descender, Cyrillic_zhe, Cyrillic_ZHE ] };
    key	<AB07> {	[ Cyrillic_zhe_descender, Cyrillic_ZHE_descender, Cyrillic_softsign,Cyrillic_SOFTSIGN	]	};

//    key.type[group1]="TWO_LEVEL";

    include "level3(ralt_switch)"
};

partial alphanumeric_keys
xkb_symbols "winkeys" {
    include "tt(cyrillic)"
    name[Group1]= "Tatarstan - Winkeys";
    key <AE03> {        [               3,      numerosign      ]       };
    key <AE04> {        [               4,       semicolon      ]       };
    key <AE05> {        [               5,         percent      ]       };
    key <AE06> {        [               6,           colon      ]       };
    key <AE07> {        [               7,        question      ]       };
    key <AE08> {        [               8,        asterisk      ]       };
    key <AB10> {        [          period,           comma,	slash,   question      ]       };
    key <BKSL> {        [       backslash,           slash      ]       };
};

partial alphanumeric_keys
xkb_symbols "modified" {
    include "tt(winkeys)"
    name[Group1]= "Tatarstan - Cyrillic Modified";

    key	<AC10> {	[ Cyrillic_zhe_descender, Cyrillic_ZHE_descender, Cyrillic_zhe, Cyrillic_ZHE ]	};
    key	<AB07> {	[ Cyrillic_en_descender, Cyrillic_EN_descender, Cyrillic_softsign, Cyrillic_SOFTSIGN	]	};
};

PS чувакам с корректорами: это не временный конфиг, или лог, да ;)
PPS топикстартеру: если возникли трудности, можем обсудить их вместе.

:)

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".