Настройка раскладок клавиатуры, немного отличных от русской

Материал из Mageia Russian Community Wiki
Перейти к навигацииПерейти к поиску
Версия для печати больше не поддерживается и может содержать ошибки обработки. Обновите закладки браузера и используйте вместо этого функцию печати браузера по умолчанию.

Башкирская раскладка

Раскладки клавиатуры в линуксе обычно хранятся в каталоге /usr/share/X11/xkb/symbols/, здесь содержатся текстовые файлы, название которых соответствует стране, использующей данный вид раскладки. Поскольку башкирский алфавит основан на русской кириллице, вносить изменения мы будем в файл "ru".

Открываем терминал, командой $ su root становимся суперпользователем, набираем команду # gedit /usr/share/X11/xkb/symbols/ru

Далее копируем и вставляем в конец файла "ru" строки:

// Bashkort language layout
// 2010/03/10 Aky`ulov Azamat <atamaza@mail.ru>
// RESPUBLIKA BASHKORTOSTAN
partial alphanumeric_keys
xkb_symbols "bsh" {
include "ru(winkeys)"
name[Group1]= "Russia - Bashkort";
key.type[group1]="FOUR_LEVEL_ALPHABETIC";
key <AD03> { [ Cyrillic_u, Cyrillic_U, 0x010004af, 0x010004ae ] };
key <AD04> { [ Cyrillic_ka, Cyrillic_KA, 0x010004a1, 0x010004a0 ] };
key <AD06> { [ Cyrillic_en, Cyrillic_EN, 0x010004a3, 0x010004a2 ] };
key <AD07> { [ Cyrillic_ghe, Cyrillic_GHE, 0x01000493, 0x01000492 ] };
key <AD10> { [ Cyrillic_ze, Cyrillic_ZE, 0x01000499, 0x01000498 ] };
key <AD11> { [ Cyrillic_ha, Cyrillic_HA, 0x010004bb, 0x010004ba ] };
key <AC04> { [ Cyrillic_a, Cyrillic_A, 0x010004d9, 0x010004d8 ] };
key <AC07> { [ Cyrillic_o, Cyrillic_O, 0x01000473, 0x01000472 ] };
key <AB03> { [ Cyrillic_es, Cyrillic_ES, 0x010004ab, 0x010004aa ] };
include "level3(ralt_switch)"
};

Сохраняем и закрываем файл "ru".

Далее нам необходимо, чтобы линукс "увидел" нашу раскладку, для этого необходимо кое-что добавить в файл "base.xml", открыв командой # gedit /usr/share/X11/xkb/rules/base.xml. Как правило в Linux уже бывает добавлена татарская раскладка, найдем её - она нам пригодится далее. Копируем всё что связано с татарской раскладкой, вставляем ниже и переделываем скопированные строки под башкирскую раскладку, как показано ниже:

      <variant>
        <configItem>
          <name>bsh</name>
          <description>Bashkort</description>
          <languageList><iso639Id>bsh</iso639Id></languageList>
        </configItem>
      </variant>


Далее редактируем файл "base.lst", открыв командой # gedit /usr/share/X11/xkb/rules/base.lst

находим строчку связанную с татарской раскладкой и после нее добавляем строчку:

bsh   ru: Bashkort

Далее редактируем файл "symbols.dir", открыв командой # gedit /usr/share/X11/xkb/symbols.dir

Опять же находим строчку связанную с татарской раскладкой и после нее добавляем строчку:

--p----- a------- ru(bsh)


Чтобы включить нашу раскладку нужно будет отредактировать файл /etc/X11/xorg.conf, опцию XkbLayout секции InputDevice нужно изменить следующим образом:

Section "InputDevice"
  Identifier "Keyboard1"
  Driver "kbd"
  Option "XkbModel" "pc105"
  Option "XkbLayout" "us,ru,ru(bsh)"
  Option "XkbOptions" "grp:lwin_toggle,grp_led:scroll,compose:rwin"
EndSection

За назначение клавиши переключения раскладок отвечает строчка Option "XkbOptions" "grp:lwin_toggle,grp_led:scroll,compose:rwin" так что каждый может назначить клавишу,или сочетание клавиш, которые ему по душе. В данном случае это клавиша "левый windows". Чтобы запретить автоматическое определение устройств ввода, надо добавить следующие строчку Option "AutoAddDevices" "False" в xorg.conf:

Section "ServerFlags"
  #DontZap # disable <Ctrl><Alt><BS> (server abort)
  #DontZoom # disable <Ctrl><Alt><KP_+>/<KP_-> (resolution switching)
  AllowMouseOpenFail # allows the server to start up even if the mouse does not work
Option "AutoAddDevices" "False" 
EndSection

Далее перезагружаемся и пользуемся. Таким образом, получилась тройная англо-русско-башкирская раскладка, переключаемая левой клавишей "windows".

Если неохота возиться с правкой файла /etc/X11/xorg.conf, то в LXDE можно воспользоваться программой, которая называется fsKbSetting. Запускаем прогу: в терминале вводим команду fskbsetting, далее настраиваем раскладку, выбираем американскую, русскую и башкирскую раскладки, выбираем клавиши переключения раскладок, жмем ОК:

Fskbsetting bash.jpg

Башкирская раскладка выглядит следующим образом:

Bash keyb.png

Прописные набираются путём нажатия правой Alt + башкирский символ, а заглавные набираются путем одновременного нажатия правого Alt+ левого Shift и + башкирский символ.

Удмуртская раскладка

Раскладки клавиатуры в линуксе обычно хранятся в каталоге /usr/share/X11/xkb/symbols/, здесь содержатся текстовые файлы, название которых соответствует стране, использующей данный вид раскладки. Поскольку удмуртский алфавит основан на русской кириллице, вносить изменения мы будем в файл "ru".

Открываем терминал, командой $ su root становимся суперпользователем, набираем команду # gedit /usr/share/X11/xkb/symbols/ru

Далее копируем и вставляем в конец файла "ru" строки:

partial alphanumeric_keys
xkb_symbols "udm" {
   include "ru(winkeys)"
   name[Group1]= "Russia - Udmurt";
   key.type[group1]="FOUR_LEVEL";
     key	<AE01> {	[	 question,	    exclam,    1,       1 	]	};
     key	<AE02> {	[	parenleft,        quotedbl,    2,       2	]	};
     key	<AE03> {	[      parenright,      numbersign,    3,       3	]	};
     key	<AE04> {	[	    colon,       semicolon,    4,       4	]	};
     key	<AE05> {	[	 asterisk,	   percent,    5,       5	]	};
     key	<AE06> {	[      0x010004dd,	0x010004dc,    6,       6	]	};
     key	<AE07> {	[      0x010004e7,	0x010004e6,    7,       7	]	};
     key	<AE08> {	[      0x010004f5,	0x010004f4,    8,       8	]	};
     key	<AE09> {	[      0x010004e5,	0x010004e4,    9,       9	]	};
     key	<AE10> {	[      0x010004df,	0x010004de,    0,       0	]	};
   include "level3(ralt_switch)"
};

Сохраняем и закрываем файл "ru". Далее нам необходимо, чтобы линукс "увидел" нашу раскладку, для этого необходимо кое-что добавить в файл "base.xml", открыв командой # gedit /usr/share/X11/xkb/rules/base.xml. Как правило в Linux уже бывает добавлена татарская раскладка, найдем её - она нам пригодится далее. Копируем всё что связано с татарской раскладкой, вставляем ниже и переделываем скопированные строки под удмуртскую раскладку, как показано ниже:

       <variant>
         <configItem>
           <name>udm</name>
           <description>Udmurt</description>
           <languageList><iso639Id>udm</iso639Id></languageList>
         </configItem>
       </variant>

Сохраняемся. Далее редактируем файл "base.lst", открыв командой # gedit /usr/share/X11/xkb/rules/base.lst

находим строчку связанную с татарской раскладкой и после нее добавляем строчку:

 udm      ru: Udmurt

Далее редактируем файл "symbols.dir", открыв командой # gedit /usr/share/X11/xkb/symbols.dir

Опять же находим строчку связанную с татарской раскладкой и после нее добавляем строчку:

--p----- a------- ru(udm)

Чтобы включить нашу раскладку нужно будет отредактировать файл /etc/X11/xorg.conf, опцию XkbLayout секции InputDevice нужно изменить следующим образом:

Section "InputDevice"
   Identifier "Keyboard1"
   Driver "kbd"
   Option "XkbModel" "pc105"
   Option "XkbLayout" "us,ru,ru(udm)"
   Option "XkbOptions" "grp:lwin_toggle,grp_led:scroll,compose:rwin"
EndSection

За назначение клавиши переключения раскладок отвечает строчка Option "XkbOptions" "grp:lwin_toggle,grp_led:scroll,compose:rwin" так что каждый может назначить клавишу,или сочетание клавиш, которые ему по душе. В данном случае это левая клавиша "windows". Чтобы запретить автоматическое определение устройств ввода, надо добавить следующие строчку Option "AutoAddDevices" "False" в xorg.conf:

Section "ServerFlags"
   #DontZap # disable <Ctrl><Alt><BS> (server abort)
   #DontZoom # disable <Ctrl><Alt><KP_+>/<KP_-> (resolution switching)
   AllowMouseOpenFail # allows the server to start up even if the mouse does not work
Option "AutoAddDevices" "False" 
EndSection

Далее перезагружаемся и пользуемся.

Таким образом, получилась тройная англо-русско-удмуртская раскладка, переключаемая левой клавишей "windows".

Вот так выглядит удмуртская раскладка клавиатуры:

Udm raskladka.jpg

Вид удмуртской раскладки клавиатуры, при нажатой клавише Shift:

Udm raskladka shift.jpg

Вид удмуртской раскладки,при нажатой клавише AltGr:

Udm raskladka AltGr.jpg

Во многих дистрибутивах линукс, в данный момент, хотя удмуртская раскладка и прописана, но она все равно не отображается при выборе раскладок через "Настройка компьютера"->"Оборудование"->"Настройка раскладки клавиатуры", поэтому для включения раскладки все равно придется править файл /etc/X11/xorg.conf.

Если неохота возиться с правкой файла /etc/X11/xorg.conf, то в LXDE можно воспользоваться программой, которая называется fsKbSetting. Возможности программы:

  • выбор модели клавиатуры;
  • выбор одной или нескольких раскладок;
  • выбор вариантов раскладок;
  • выбор комбинации клавиш для смены раскладки;
  • различные настройки для каждого пользователя;
  • сохранение параметров после перезагрузки системы для выбранной сессии;;
  • не требует привилегий суперпользователя;
  • изменения вступают в силу без перезагрузки.

Запускаем прогу: в терминале вводим команду fskbsetting, далее настраиваем раскладку, выбираем американскую, русскую и удмуртскую раскладки, выбираем клавиши переключения раскладок, жмем ОК.

Fskbsetting.jpg

Кроме удмуртской раскладки существуют и другие раскладки: осетинская, чувашская, якутская, калмыкская, башкирская, раскладка коми. Эти раскладки можно настроить аналогичным способом.