Для перемикання розкладки є декілька способів:

  • Перемикання правим ALT (мій улюблений метод, так само як і в консолі). Цей метод називається toggle.
  • Перемикання за допомогою Ctrl-Shift (як у M$ Windows), називається він ctrl_shift_toggle.
  • Перемикання за допомогою двох Shift (як у KeyRus) - shift_toggle.
  • Перемикання за допомогою Ctrl-Alt - ctrl_alt_toggle.
  • Перемикання за допомогою Shift-Alt - shift_alt_toggle.
  • Перемикання за допомогою клавіші Menu - menu_toggle.

Виставляється спосіб перемикання в конфіґурації X-ів (як правило це каталог /etc/X11) Для 4-их X-ів там має бути таке:

Section "InputDevice" 
       Identifier  "Keyboard0" 
       Driver      "keyboard" 
       Option      "XkbModel"    "pc105" 
       Option      "XkbLayout"   "ua(winkeys)+inet(btc9000)" 
       Option      "XkbOptions"  "grp:toggle,grp_led:scroll" 
EndSection 

Перечислю ці параметри з відповідними коментарями:

  • XkbModel - це модель клавіятури (105-ти клавішна для PC).
  • XkbLayout - розкладка (українська, схожа на віндузячу, з підтримкою мультимедійних клавіш для клавіятури BTC9000).
  • XkbOptions - це параметри, які вказують:

    • grp: - спосіб перемикання (дивись вище);
    • grp_led: - який індикатор на клавіятурі (NumLock, CapsLock, ScrollLock) використовувати для індикації режиму розкладки - основна чи українська (коли я натискаю на Alt, в мене вибирається українська розкладка і засвічується світлодіод ScrollLock на клавіятурі);

З перемиканням розкладок ми розібралися, а от як змінювати клавіятурні розкладки на льоту ще ні.

Найбільш типовим випадком (нажаль) на Україні, є необхідність час від часу вводити текст на українській і російській мовах, тому нам потірбен спосіб для перемикання між українською і російською розкладками. Деякі джерела рекомендують використовувати для цього спеціяльно створені комбіновані 2-ох чи 3-ьох варіянтні розкладки з хитромудрими способами перемикання між ними, я ж рекомендую використати зовнішню утиліту, яка входить у склад дистрибуту X-ів - setxkbmap.

Зміна розкладки виконується за допомогою (у моєму випадку) команди setxkbmap "ua(winkesy)+inet(btc9000)" . Перемикання на російську відповідно - setxkbmap "ru(winkesy)+inet(btc9000)" . Типи перемикання і індикації ми вже виставляли раніше у конфіґурації X-ів, тому змінювати його немає потреби, але якщо це потрібно (наприклад у вас немає доступу на запис до конфіґурації X-ів), то це можна зробити командою setxkbmap "ua(winkeys)" -option grp:toggle,grp_led:scroll. Зауважте, що ця команда не завжди спрацьовує так як ви думаєте - декілька її викликів з різними опціями призводять до кумулятивного ефекту - якщо у вас вже увімкнено перемикання за допомогою правого ALT (grp:toggle), то ввімкнення перемикання за допомогою Ctrl-Shift не вимкне попередньої опції - перемикатися можна буде за допомогою обох комбінацій. А декілька різних опцій grp_led призведуть до того, що у вас при перемиканні розкладки світитиметься відразу цілий ряд індикаторів. Повернутися до типових налаштувань, вказаних у кофіґурації ваших X-ів, можна за допомогою команди setxkbmap без параметрів.

Тепер ми знаємо як змінювати розкладку на льоту, але кожний раз набирати команду незручно. Найкраще всього скористатися послугами вашого керівника вікон (Sawfish) чи якоїсь зовнішньої утиліти(bbkeys) і зв'язати певні клавіатурні комбінації з відповідними командами. Наприклад Win-1 чи Win-U - українська розкладка, Win-2 чи Win-R - російська, і т. ін.

Якщо ліньки розбиратися з налаштуваннями, або хочеться змінювати розкладку просто клацнувши мишкою, то можна кинути на панельку чи на стільницю дві іконки: клацання по одній з українським прапором запускає команду setxkbmap з опціями для української розкладки клавіятури, клацання по іншій запускає setxkbmap з опціями для іншої розкладки.

Володимир М. Лісівка, 2002


Я колись уважно прочитав сторінки Івана Паскаля - документацію до налаштування Xkb. Дуже нескладно зробити собі "свій власний" файл ua (див. документацію), у якому вже є всі потрібні мови (до чотирьох, здається?). Тоді описаний Лісівкою спосіб перемикання працює циклічно для всіх мов.

Крім того, дуже зручно для перемикання клавіатури користуватися програмою Xxkb того ж Паскаля. Індикація та незалежне перемикання для кожного вікна, порядок перемикання мов, зручне "прикручування" до улюблених віконних менеджерів, можна вказувати, на яких вікнах потрібна індикація, а на яких - ні.

Для кожного дистрибутива роблю ту саму операцію - дуже задоволений.

--Dmytro O. Redchuk