Выбрать главу

Правда, есть большие сомнения в том, что эта разумность стоит полного переучивания.

Нет напряга и с переключателями раскладок — они входят в число параметров, вызываемых, как ни странно, кнопкой Параметры:

Легко догадаться, что переключение настраивается в пункте Переключение на другую раскладку, и в нём можно найти переключатель на любой вкус:

Имеются и немодальные переключатели — это своего рода заменители корректоров ввода при «неправильной» раскладке, примером которых в Linux'е выступает программа X Neural Switcher (точнее, в Иксах, ибо работает также и в любых BSD-системах). Ибо из применителей может сказать, положа руку на сердце и поклявшись на своём Священном Писании, что он никогда, никогда, никогда... не забывал переключать раскладку клавиатуры с латиницы на кириллицу (или наоборот)?

Достоинства и недостатки XNeur обсуждались многократно, поэтому повторю только главный из последних: эта утилита принадлежит к тем, которые полагают себя умнее своих создателей (и, тем более, применителей), и потому часто автоматика его срабатывает прозвольным образом. Конечно, он имеет и «ручной» режим работы, но его использрвание очень узко: если вовремя заметить, что в «не той» раскладке набрано одно слово или его кусок, обычно проще и быстрей тут же перенабрать его, нежели выделять кусок текста и заказывать для него перекодирование.

Тем более, что «проблему забывчивости» применительно к переключению раскладок можно попытаться решить другим способом — я бы назвал его «кембриджским». Как известно, в Оксфордском университете, воспитывавшем английских джентльменов, учили мыть руки после туалета. А в более прагматичном Кембридже, давшем миру немало естествоиспытателей, учили не справлять малую нужду на руки. Первому алгоритму следует программа XNeur, второй же можно реализовать, сведя к минимуму вероятность забывчивости при наборе. Чему очень поспособствуют те самые немодальные (или нециклические) переключатели раскладок.

Суть немодальных переключателей в том, что они ничего не переключают, а включают. То есть одна определённая клавиша (или их комбинация) всегда включает английскую раскладку, а другая делает то же самое для раскладки русской. И в использовании их есть только одна проблема — привыкание. То есть нужно отучиться смотреть на индикаторы раскладки. Нужно забыть о том:

   • какая раскладка является текущей;

   • какая раскладка является умолчальной;

   • от кого наследуется раскладка нового окна — от корневого окна (то есть повторяет умолчальную) или от окна текущего.

А помнить нужно только одно: перед вводом любого кириллического текста нажать, скажем, комбинацию Shift+CapsLock, а переходя к вводу латиницы — клавишу CapsLock. Подобно тому, как при вводе прописной буквы мы автоматически нажимаем Shift, не задумываясь особо о причинах этого.

Немодальных переключателей предлагается довольно много:

Далее, чтобы побороть забывчивость при переключении раскладок, надо переключать их как можно реже. И на сей предмет придуманы временные переключатели, действующие, пока нажата определённая клавиша — в частности, они совершенно незаменимы при вводе типографских символов с использованием клавиши Compose, о чём я скажу чуть позже. Причём они не исключают использования любых постоянных переключателей, как модальных, так и немодальных.

Традиционно в качестве временного переключателя используется правая клавиша Control, но и тут выбор достаточно велик:

А вообще все возможные переключатели раскладок, модальные, немодальные и временные, можно посмотреть в файле /usr/share/X11/xkb/rules/evdev.lst — в секции ! option, где они перечислены в строках, начинающихся с grp:

! option

  grp                  Switching to another layout

  grp:switch           Right Alt (while pressed)

  grp:lswitch          Left Alt (while pressed)

  grp:lwin_switch      Left Win (while pressed)

  grp:rwin_switch      Right Win (while pressed)

  grp:win_switch       Any Win key (while pressed)

  grp:caps_switch      Caps Lock (while pressed), Alt+Caps Lock does the original capslock action

  grp:rctrl_switch     Right Ctrl (while pressed)

  grp:toggle           Right Alt

  grp:lalt_toggle      Left Alt

  grp:caps_toggle      Caps Lock

  grp:shift_caps_toggle Shift+Caps Lock

  grp:shift_caps_switch Caps Lock (to first layout), Shift+Caps Lock (to last layout)

  grp:win_menu_switch  Left Win (to first layout), Right Win/Menu (to last layout)

  grp:lctrl_rctrl_switch Left Ctrl (to first layout), Right Ctrl (to last layout)

  grp:alt_caps_toggle  Alt+Caps Lock

  grp:shifts_toggle    Both Shift keys together

  grp:alts_toggle      Both Alt keys together

  grp:ctrls_toggle     Both Ctrl keys together

  grp:ctrl_shift_toggle Ctrl+Shift

  grp:lctrl_lshift_toggle Left Ctrl+Left Shift

  grp:rctrl_rshift_toggle Right Ctrl+Right Shift