Ubuntu 11.10
awesome wm
Редактирую раскладку в /usr/share/X11/xkb/symbols (файл ua). После рестарта иксов ничего не происходит. Пытаюсь проверить, та ли раскладка подключена, которую я редактирую, но не знаю где проверять. В /etc/X11/xorg.conf нету секции, посвященной раскладкам (там вообще одна только секция). Вобщем, где нынче в Ubuntu прописывается раскладка?
[Решено] Редактирование и подключение раскладки
Модератор: Модераторы разделов
-
Moses
- Сообщения: 93
- ОС: Ubuntu
Re: [Решено] Редактирование и подключение раскладки
В общем, я нашел файл в котором прописаны раскладки клавиатуры в Ubuntu. Это /etc/defaults/keyboard. Не знал. Проблема оказалась в самом файле раскладки (/usr/share/X11/xkb/symbols/ua). Вернее в том, что система использует не его. Чтобы удостовериться в этом я переименовывал данный файл, но раскладки работали как и прежде. А где тот файл, который надо — понять не могу.
-
sash-kan
- Администратор
- Сообщения: 13939
- Статус: oel ngati kameie
- ОС: GNU
Re: [Решено] Редактирование и подключение раскладки
выложите получившийся файл /tmp/file.gz:
$ xkbcomp $DISPLAY - | gzip > /tmp/file.gz
$ xkbcomp $DISPLAY - | gzip > /tmp/file.gz
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
при сбоях форума см.блог
Спасибо сказали:
-
liaonau
- Сообщения: 390
- ОС: gentoo
Re: [Решено] Редактирование и подключение раскладки
Почти независимо от дистрибутива вы можете проделать следующее:
Поместите свои изменения в файл, допустим, ${HOME}/.xkb/symbols/moses примерно такого содержания:
Напишите свой ${HOME}/.Xkbcomp, примерно такого содержания:
При старте в инит скрипт X сессии (здесь вот есть зависимость от дистрибутива, и, возможно, DE) внесите
Поместите свои изменения в файл, допустим, ${HOME}/.xkb/symbols/moses примерно такого содержания:
Код: Выделить всё
partial alphanumeric_keys
xkb_symbols "acer_5230" {
key <FK23> { [ XF86Reload ] };
//…
};
partial alphanumeric_keys
xkb_symbols "remap" {
replace key <CAPS> { [ Escape ] };
replace key <ESC> { [ ISO_Next_Group ] };
replace key <LCTL> { [ Alt_L ] };
replace key <LALT> { [ Control_L ] };
replace key <RALT> { [ Control_R ] };
key <NMLK> { [ ] };
replace key <MENU> { type[Group1]="TWO LEVEL", [ Multi_key, Multi_key ] };
replace key <RCTL> { [ Hyper_L ] };
modifier_map Mod3 { Hyper_L };
};
// vim:ft=xkbНапишите свой ${HOME}/.Xkbcomp, примерно такого содержания:
Код: Выделить всё
xkb_keymap {
xkb_keycodes { include "evdev+aliases(qwerty)" };
xkb_types { include "complete" };
xkb_compat { include "complete+ledcaps(group_lock)" };
xkb_symbols { include "pc+us+ru(winkeys):2+inet(evdev)" replace moses(remap)+moses(acer_5230)" include "group(alts_toggle)" };
xkb_geometry { include "pc(pc104)" };
};
// vim: ft=xkbПри старте в инит скрипт X сессии (здесь вот есть зависимость от дистрибутива, и, возможно, DE) внесите
Код: Выделить всё
xkbcomp -I${HOME}/.xkb ${HOME}/.Xkbmap 2>/dev/nullСпасибо сказали:
-
Moses
- Сообщения: 93
- ОС: Ubuntu
Re: [Решено] Редактирование и подключение раскладки
Вот содержимое файла «file» (та часть, что касается раскладки, остальное в приложении):
Код: Выделить всё
xkb_symbols "pc+us+ua:2+inet(evdev)+group(alt_shift_toggle)" {
name[group1]="English (US)";
name[group2]="Ukrainian";
key <ESC> { [ Escape ] };
key <AE01> { [ 1, exclam ] };
key <AE02> {
type[group2]= "FOUR_LEVEL",
symbols[Group1]= [ 2, at ],
symbols[Group2]= [ 2, quotedbl, twosuperior, NoSymbol ]
};
key <AE03> {
type[group2]= "FOUR_LEVEL",
symbols[Group1]= [ 3, numbersign ],
symbols[Group2]= [ 3, numerosign, section, U20B4 ]
};
key <AE04> {
type[group2]= "FOUR_LEVEL",
symbols[Group1]= [ 4, dollar ],
symbols[Group2]= [ 4, semicolon, dollar, EuroSign ]
};
key <AE05> {
type[group2]= "FOUR_LEVEL",
symbols[Group1]= [ 5, percent ],
symbols[Group2]= [ 5, percent, degree, NoSymbol ]
};
key <AE06> {
type[group2]= "FOUR_LEVEL",
symbols[Group1]= [ 6, asciicircum ],
symbols[Group2]= [ 6, colon, less, NoSymbol ]
};
key <AE07> {
type[group2]= "FOUR_LEVEL",
symbols[Group1]= [ 7, ampersand ],
symbols[Group2]= [ 7, question, greater, NoSymbol ]
};
key <AE08> {
type[group2]= "FOUR_LEVEL",
symbols[Group1]= [ 8, asterisk ],
symbols[Group2]= [ 8, asterisk, enfilledcircbullet, NoSymbol ]
};
key <AE09> {
type[group2]= "FOUR_LEVEL",
symbols[Group1]= [ 9, parenleft ],
symbols[Group2]= [ 9, parenleft, bracketleft, braceleft ]
};
key <AE10> {
type[group2]= "FOUR_LEVEL",
symbols[Group1]= [ 0, parenright ],
symbols[Group2]= [ 0, parenright, bracketright, braceright ]
};
key <AE11> {
type[group2]= "FOUR_LEVEL",
symbols[Group1]= [ minus, underscore ],
symbols[Group2]= [ minus, underscore, emdash, endash ]
};
key <AE12> {
type[group2]= "FOUR_LEVEL",
symbols[Group1]= [ equal, plus ],
symbols[Group2]= [ equal, plus, notequal, plusminus ]
};
key <BKSP> { [ BackSpace ] };
key <TAB> { [ Tab, ISO_Left_Tab ] };
key <AD01> {
type= "ALPHABETIC",
symbols[Group1]= [ q, Q ],
symbols[Group2]= [ Cyrillic_shorti, Cyrillic_SHORTI ]
};
key <AD02> {
type= "ALPHABETIC",
symbols[Group1]= [ w, W ],
symbols[Group2]= [ Cyrillic_tse, Cyrillic_TSE ]
};
key <AD03> {
type[group1]= "ALPHABETIC",
type[group2]= "FOUR_LEVEL_ALPHABETIC",
symbols[Group1]= [ e, E ],
symbols[Group2]= [ Cyrillic_u, Cyrillic_U, Byelorussian_shortu, Byelorussian_SHORTU ]
};
key <AD04> {
type[group1]= "ALPHABETIC",
type[group2]= "FOUR_LEVEL_SEMIALPHABETIC",
symbols[Group1]= [ r, R ],
symbols[Group2]= [ Cyrillic_ka, Cyrillic_KA, registered, NoSymbol ]
};
key <AD05> {
type[group1]= "ALPHABETIC",
type[group2]= "FOUR_LEVEL_ALPHABETIC",
symbols[Group1]= [ t, T ],
symbols[Group2]= [ Cyrillic_ie, Cyrillic_IE, Cyrillic_io, Cyrillic_IO ]
};
key <AD06> {
type= "ALPHABETIC",
symbols[Group1]= [ y, Y ],
symbols[Group2]= [ Cyrillic_en, Cyrillic_EN ]
};
key <AD07> {
type= "ALPHABETIC",
symbols[Group1]= [ u, U ],
symbols[Group2]= [ Cyrillic_ghe, Cyrillic_GHE ]
};
key <AD08> {
type= "ALPHABETIC",
symbols[Group1]= [ i, I ],
symbols[Group2]= [ Cyrillic_sha, Cyrillic_SHA ]
};
key <AD09> {
type= "ALPHABETIC",
symbols[Group1]= [ o, O ],
symbols[Group2]= [ Cyrillic_shcha, Cyrillic_SHCHA ]
};
key <AD10> {
type= "ALPHABETIC",
symbols[Group1]= [ p, P ],
symbols[Group2]= [ Cyrillic_ze, Cyrillic_ZE ]
};
key <AD11> {
type[group2]= "ALPHABETIC",
symbols[Group1]= [ bracketleft, braceleft ],
symbols[Group2]= [ Cyrillic_ha, Cyrillic_HA ]
};
key <AD12> {
type[group2]= "FOUR_LEVEL_ALPHABETIC",
symbols[Group1]= [ bracketright, braceright ],
symbols[Group2]= [ Ukrainian_yi, Ukrainian_YI, Cyrillic_hardsign, Cyrillic_HARDSIGN ]
};
key <RTRN> { [ Return ] };
key <LCTL> { [ Control_L ] };
key <AC01> {
type= "ALPHABETIC",
symbols[Group1]= [ a, A ],
symbols[Group2]= [ Cyrillic_ef, Cyrillic_EF ]
};
key <AC02> {
type[group1]= "ALPHABETIC",
type[group2]= "FOUR_LEVEL_ALPHABETIC",
symbols[Group1]= [ s, S ],
symbols[Group2]= [ Ukrainian_i, Ukrainian_I, Cyrillic_yeru, Cyrillic_YERU ]
};
key <AC03> {
type= "ALPHABETIC",
symbols[Group1]= [ d, D ],
symbols[Group2]= [ Cyrillic_ve, Cyrillic_VE ]
};
key <AC04> {
type= "ALPHABETIC",
symbols[Group1]= [ f, F ],
symbols[Group2]= [ Cyrillic_a, Cyrillic_A ]
};
key <AC05> {
type= "ALPHABETIC",
symbols[Group1]= [ g, G ],
symbols[Group2]= [ Cyrillic_pe, Cyrillic_PE ]
};
key <AC06> {
type= "ALPHABETIC",
symbols[Group1]= [ h, H ],
symbols[Group2]= [ Cyrillic_er, Cyrillic_ER ]
};
key <AC07> {
type= "ALPHABETIC",
symbols[Group1]= [ j, J ],
symbols[Group2]= [ Cyrillic_o, Cyrillic_O ]
};
key <AC08> {
type= "ALPHABETIC",
symbols[Group1]= [ k, K ],
symbols[Group2]= [ Cyrillic_el, Cyrillic_EL ]
};
key <AC09> {
type= "ALPHABETIC",
symbols[Group1]= [ l, L ],
symbols[Group2]= [ Cyrillic_de, Cyrillic_DE ]
};
key <AC10> {
type[group2]= "ALPHABETIC",
symbols[Group1]= [ semicolon, colon ],
symbols[Group2]= [ Cyrillic_zhe, Cyrillic_ZHE ]
};
key <AC11> {
type[group2]= "FOUR_LEVEL_ALPHABETIC",
symbols[Group1]= [ apostrophe, quotedbl ],
symbols[Group2]= [ Ukrainian_ie, Ukrainian_IE, Cyrillic_e, Cyrillic_E ]
};
key <TLDE> {
type[group2]= "FOUR_LEVEL",
symbols[Group1]= [ grave, asciitilde ],
symbols[Group2]= [ U2019, apostrophe, U0301, asciitilde ]
};
key <LFSH> {
type= "PC_ALT_LEVEL2",
symbols[Group1]= [ Shift_L, ISO_Prev_Group ]
};
key <BKSL> {
type[group2]= "FOUR_LEVEL_SEMIALPHABETIC",
symbols[Group1]= [ backslash, bar ],
symbols[Group2]= [ Ukrainian_ghe_with_upturn, Ukrainian_GHE_WITH_UPTURN, backslash, bar ]
};
key <AB01> {
type= "ALPHABETIC",
symbols[Group1]= [ z, Z ],
symbols[Group2]= [ Cyrillic_ya, Cyrillic_YA ]
};
key <AB02> {
type= "ALPHABETIC",
symbols[Group1]= [ x, X ],
symbols[Group2]= [ Cyrillic_che, Cyrillic_CHE ]
};
key <AB03> {
type[group1]= "ALPHABETIC",
type[group2]= "FOUR_LEVEL_SEMIALPHABETIC",
symbols[Group1]= [ c, C ],
symbols[Group2]= [ Cyrillic_es, Cyrillic_ES, copyright, NoSymbol ]
};
key <AB04> {
type= "ALPHABETIC",
symbols[Group1]= [ v, V ],
symbols[Group2]= [ Cyrillic_em, Cyrillic_EM ]
};
key <AB05> {
type= "ALPHABETIC",
symbols[Group1]= [ b, B ],
symbols[Group2]= [ Cyrillic_i, Cyrillic_I ]
};
key <AB06> {
type[group1]= "ALPHABETIC",
type[group2]= "FOUR_LEVEL_SEMIALPHABETIC",
symbols[Group1]= [ n, N ],
symbols[Group2]= [ Cyrillic_te, Cyrillic_TE, trademark, NoSymbol ]
};
key <AB07> {
type= "ALPHABETIC",
symbols[Group1]= [ m, M ],
symbols[Group2]= [ Cyrillic_softsign, Cyrillic_SOFTSIGN ]
};
key <AB08> {
type[group2]= "FOUR_LEVEL_SEMIALPHABETIC",
symbols[Group1]= [ comma, less ],
symbols[Group2]= [ Cyrillic_be, Cyrillic_BE, guillemotleft, doublelowquotemark ]
};
key <AB09> {
type[group2]= "FOUR_LEVEL_SEMIALPHABETIC",
symbols[Group1]= [ period, greater ],
symbols[Group2]= [ Cyrillic_yu, Cyrillic_YU, guillemotright, leftdoublequotemark ]
};
key <AB10> {
type[group2]= "FOUR_LEVEL",
symbols[Group1]= [ slash, question ],
symbols[Group2]= [ period, comma, slash, ellipsis ]
...Я собирался заменить порядок ввода украинских и русских символов. На примере клавиши <AD12>: при простом нажатии должен вводиться твердый знак, при нажатии с правым альтом — «ї».
В /tmp/file.gz все наоборот:
Код: Выделить всё
key <AD12> {
type[group2]= "FOUR_LEVEL_ALPHABETIC",
symbols[Group1]= [ bracketright, braceright ],
symbols[Group2]= [ Ukrainian_yi, Ukrainian_YI, Cyrillic_hardsign, Cyrillic_HARDSIGN ]
};Как я уже писал, файл /usr/share/X11/xkb/symbols/ua системой не используется, поскольку даже его удаление ничего не меняет. Поэтому мне непонятно где теперь редактировать раскладку.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
Moses
- Сообщения: 93
- ОС: Ubuntu
Re: [Решено] Редактирование и подключение раскладки
Проблема решена.
1) В /usr/share/X11/xkb/rules/xorg.xml в разделе раскладки «Ukrainian» не был прописан мой вариант раскладки «unicode». Прописал.
2) В /etc/default/keyboard прописал строчку
Может сработало только одно из двух действий, уже силы нет еще раз перегружать компьютер (да, я каждый раз перезагружал компьютер).
1) В /usr/share/X11/xkb/rules/xorg.xml в разделе раскладки «Ukrainian» не был прописан мой вариант раскладки «unicode». Прописал.
2) В /etc/default/keyboard прописал строчку
Код: Выделить всё
XKBVARIANT=", unicode"Может сработало только одно из двух действий, уже силы нет еще раз перегружать компьютер (да, я каждый раз перезагружал компьютер).