Создание собственной раскладки клавиатуры под KDE и GNOME.
Не всегда, предложенная разработчиками раскладка, полностью устраивает. К примеру, вы хотели бы свободно печатать по немецки и русски не прибегая к таким ухищрениям, как, наклейка русских букв поверх латиницы, или приобретением уже готовых клавиатур-гибридов, всевозможных посторонних программ. Немецкая клавиатура за исключением 7 букв (ж,ч,я,ь,ъ,ш,щ) довольно хорошо подходит под русский. Создание своей собственной раскладки, займёт не более 20 минут. Она создается всего лишь один раз. При переинсталлации или обновлении системы, достаточно будет заменить системный файл ранее вами созданным, и перезапустить KDE или GNOME .
Пожалуйста зарегистрируйся для просмотра данного изображения.
Подобная раскладка называется фонетической (транслитерационной). Письмо при помощи тиких условных знаков называется фонетической транскрипцией. Предложенная разработчиками фонетическая раскладка к сожалению рассчитана на американскую клавиатуру, и не совсем подходит под немецкую. Это ужасно, но, к счастью, легко поправимо.
Приступим.
Для начала, отыщем в системе файл с русской раскладкой. Его местонахождение зависит от используемого вами дистрибутива. Например его местонахождение в openSuSE 10.2 для KDE: /usr/share/X11/xkb/symbols/ru, для GNOME: /opt/gnome/share/xmodmap/xmodmap.ru_yawerty
проще всего, найти его при помощи команды:
для KDE:
для GNOME:
Редактирование файла с раскладкой, думаю, само себя объясняет. Так, к примеру, выглядит у меня раздел фонетический раскладки.
для KDE:
partial alphanumeric_keys
xkb_symbols "phonetic" {
name[Group1]= "Russia - Phonetic";
key <TLDE> { [ Cyrillic_zhe, Cyrillic_ZHE ] };
key <AE01> { [ 1, exclam, onesuperior ] };
key <AE02> { [ 2, quotedbl, twosuperior ] };
key <AE03> { [ 3, section, threesuperior ] };
key <AE04> { [ 4, dollar, bar ] };
key <AE05> { [ 5, percent, bar ] };
key <AE06> { [ 6, ampersand, brokenbar ] };
key <AE07> { [ 7, slash, braceleft ] };
key <AE08> { [ 8, parenleft, bracketleft ] };
key <AE09> { [ 9, parenright, bracketright ] };
key <AE10> { [ 0, equal, braceright ] };
key <AE11> { [ backslash, question ] };
key <AE12> { [ Cyrillic_che, Cyrillic_CHE ] };
key <LatQ> { [ Cyrillic_shcha, Cyrillic_SHCHA ] };
key <LatW> { [ Cyrillic_sha, Cyrillic_SHA ] };
key <LatE> { [ Cyrillic_ie, Cyrillic_IE ] };
key <LatR> { [ Cyrillic_er, Cyrillic_ER ] };
key <LatT> { [ Cyrillic_te, Cyrillic_TE ] };
key <LatY> { [ Cyrillic_ze, Cyrillic_ZE ] };
key <LatU> { [ Cyrillic_u, Cyrillic_U ] };
key <LatI> { [ Cyrillic_i, Cyrillic_I ] };
key <LatO> { [ Cyrillic_o, Cyrillic_O ] };
key <LatP> { [ Cyrillic_pe, Cyrillic_PE ] };
key <AD11> { [ Cyrillic_yu, Cyrillic_YU ] };
key <AD12> { [ Cyrillic_ya, Cyrillic_YA ] };
key <LatA> { [ Cyrillic_a, Cyrillic_A ] };
key <LatS> { [ Cyrillic_es, Cyrillic_ES ] };
key <LatD> { [ Cyrillic_de, Cyrillic_DE ] };
key <LatF> { [ Cyrillic_ef, Cyrillic_EF ] };
key <LatG> { [ Cyrillic_ghe, Cyrillic_GHE ] };
key <LatH> { [ Cyrillic_ha, Cyrillic_HA ] };
key <LatJ> { [ Cyrillic_shorti, Cyrillic_SHORTI ] };
key <LatK> { [ Cyrillic_ka, Cyrillic_KA ] };
key <LatL> { [ Cyrillic_el, Cyrillic_EL ] };
key <AC10> { [ Cyrillic_io, Cyrillic_IO ] };
key <AC11> { [ Cyrillic_e, Cyrillic_E ] };
key <BKSL> { [Cyrillic_hardsign,Cyrillic_softsign ] };
key <LSGT> { [ less, greater, bar ] };
key <LatZ> { [ Cyrillic_yeru, Cyrillic_YERU ] };
key <LatX> { [ Cyrillic_ha, Cyrillic_HA ] };
key <LatC> { [ Cyrillic_tse, Cyrillic_TSE ] };
key <LatV> { [ Cyrillic_ve, Cyrillic_VE ] };
key <LatB> { [ Cyrillic_be, Cyrillic_BE ] };
key <LatN> { [ Cyrillic_en, Cyrillic_EN ] };
key <LatM> { [ Cyrillic_em, Cyrillic_EM ] };
key <AB08> { [ comma, semicolon ] };
key <AB09> { [ period, colon ] };
key <AB10> { [ minus, underscore ] };
};
Показать весь код
Включаем раскладку при помощи команды:
Пожалуйста зарегистрируйся для просмотра данного изображения.
Переключаем при помощи комбинации клавиш: Alt+Strg+K
Пожалуйста зарегистрируйся для просмотра данного изображения.
для GNOME:
! Converted keytable file to xmodmap file
! with mk_modmap by root@chanae.alphanet.ch vie nov 27 02:11:58 CET 1998
clear Mod1
clear Mod2
clear Lock
clear Control
! Bulgarian Cyrillic keyboard.map. "Cyrillic" mode is toggled by
! Right_Ctrl key and shifted by AltGr key. Eugene Crosser's `ru.map'
! was used as a template. Note that this is a "phonetic" keyboard,
! not a `BDS' one! --L.Georgiev
!
! Changed from hexa values to keysysms -- Pablo Saratxaga
keycode 9 = Escape Escape
keycode 10 = 1 exclam
keycode 11 = 2 quotedbl twosuperior
keycode 12 = 3 section threesuperior
keycode 13 = 4 dollar dollar
keycode 14 = 5 percent
keycode 15 = 6 ampersand
keycode 16 = 7 slash braceleft
keycode 17 = 8 parenleft bracketleft
keycode 18 = 9 parenright bracketright
keycode 19 = 0 equal braceright
keycode 20 = ssharp question backslash
keycode 21 = equal plus Cyrillic_che Cyrillic_CHE
keycode 22 = BackSpace Delete BackSpace Delete
keycode 23 = Tab Tab Tab Tab
keycode 24 = q Q at Cyrillic_shcha Cyrillic_SHCHA at
keycode 25 = w W Cyrillic_sha Cyrillic_SHA
keycode 26 = e E currency Cyrillic_ie Cyrillic_IE currency
keycode 27 = r R Cyrillic_er Cyrillic_ER
keycode 28 = t T Cyrillic_te Cyrillic_TE
keycode 29 = y Y Cyrillic_ze Cyrillic_ZE
keycode 30 = u U Cyrillic_u Cyrillic_U
keycode 31 = i I Cyrillic_i Cyrillic_I
keycode 32 = o O Cyrillic_o Cyrillic_O
keycode 33 = p P Cyrillic_pe Cyrillic_PE
keycode 34 = bracketleft braceleft Cyrillic_yu Cyrillic_YU
keycode 35 = bracketright braceright Cyrillic_ya Cyrillic_YA
keycode 36 = Return
keycode 37 = Control_L
keycode 38 = a A Cyrillic_a Cyrillic_A
keycode 39 = s S Cyrillic_es Cyrillic_ES
keycode 40 = d D Cyrillic_de Cyrillic_DE
keycode 41 = f F Cyrillic_ef Cyrillic_EF
keycode 42 = g G Cyrillic_ghe Cyrillic_GHE
keycode 43 = h H Cyrillic_ha Cyrillic_HA
keycode 44 = j J Cyrillic_shorti Cyrillic_SHORTI
keycode 45 = k K Cyrillic_ka Cyrillic_KA
keycode 46 = l L Cyrillic_el Cyrillic_EL
keycode 47 = semicolon colon Cyrillic_io Cyrillic_IO
keycode 48 = apostrophe quotedbl Cyrillic_e Cyrillic_E
keycode 49 = grave asciitilde Cyrillic_hardsign Cyrillic_softsign
keycode 50 = Shift_L
keycode 51 = backslash bar less greater
keycode 52 = z Z Cyrillic_yeru, Cyrillic_YERU
keycode 53 = x X Cyrillic_ha Cyrillic_HA
keycode 54 = c C Cyrillic_tse Cyrillic_TSE
keycode 55 = v V Cyrillic_ve Cyrillic_VE
keycode 56 = b B Cyrillic_be Cyrillic_BE
keycode 57 = n N Cyrillic_en Cyrillic_EN
keycode 58 = m M Cyrillic_em Cyrillic_EM
keycode 59 = comma semicolon
keycode 60 = period colon Multi_key
keycode 61 = minus underscore
keycode 62 = Shift_R
keycode 63 = KP_Multiply
keycode 64 = Alt_L Meta_L
keycode 65 = space space space space
keycode 66 = Caps_Lock
keycode 67 = F1 F11 F1 F11
keycode 68 = F2 F12 F2 F12
keycode 69 = F3 F13 F3 F13
keycode 70 = F4 F14 F4 F14
keycode 71 = F5 F15 F5 F15
keycode 72 = F6 F16 F6 F16
keycode 73 = F7 F17 F7 F17
keycode 74 = F8 F18 F8 F18
keycode 75 = F9 F19 F9 F19
keycode 76 = F10 F20 F10 F20
keycode 77 = Num_Lock
keycode 78 = Scroll_Lock
keycode 79 = KP_7
keycode 80 = KP_8
keycode 81 = KP_9
keycode 82 = KP_Subtract
keycode 83 = KP_4
keycode 84 = KP_5
keycode 85 = KP_6
keycode 86 = KP_Add
keycode 87 = KP_1
keycode 88 = KP_2
keycode 89 = KP_3
keycode 90 = KP_0
keycode 94 = less greater
keycode 95 = F11 F11 F11 F11
keycode 96 = F12 F12 F12 F12
keycode 108 = KP_Enter
keycode 112 = KP_Divide
keycode 113 = Mode_switch
keycode 114 = Break
keycode 110 = Find
keycode 98 = Up
keycode 99 = Prior
keycode 100 = Left
keycode 102 = Right
keycode 115 = Select
keycode 104 = Down
keycode 105 = Next
keycode 106 = Insert
! right windows-logo key
! in "windows" keyboards the postion of the key is annoying, is where AltGr
! usually resides, so go definie it as AltGr
keycode 116 = Mode_switch
! right windows-menu key, redefined as Compose key
keycode 117 = Multi_key
add Mod1 = Alt_L
add Mod2 = Mode_switch Control_R
add Lock = Control_R
add Control = Control_L
Показать весь код
Включаем раскладку при помощи команды:
Пожалуйста зарегистрируйся для просмотра данного изображения.
Выбераем
Пожалуйста зарегистрируйся для просмотра данного изображения.
Настраиваем «layout switcher» на комбинацию клавиш: Alt+Shift
Пожалуйста зарегистрируйся для просмотра данного изображения.
Актуальную раскладку всегда можно проверить:
Записать в текстовой файл
Если возникла необходимость, поправить:
И заново загрузить: