Типографская раскладка
Раз в мире существует UNICODE, то им надо пользоваться! Поэтому я однажды сел и написал небольшой файлик для конфигурации XKB, чтобы можно было вводить некоторые юникодные символы прямо с клавиатуры. Сначала это были символы для русских кавычек-лапок (« и ») и длинного тире (—). Через некоторое время я наткнулся в сети на заметку в блоге Ильи Бирмана о создании им специальной типографской раскладки для непосредственного ввода кучи юникодных символов.
Идея мне понравилась и я реализовал эту идею, но уже под линуксом.
Сразу хочу предупредить, что делал я это для личного употребления, поэтому кому-то может показаться неудобным сама раскладка, метод переключения или что-то ещё.
Итак, основные требования:
- в системе должны остаться две «главные» раскладки — русская (йцукен) и английская (qwerty), переключение между ними должно осуществляться циклически комбинацией RShift+LShift;
- переключение на дополнительную раскладку (типографскую) должно быть временным и осуществляться при помощи нажатия и удержания правой клавиши Alt.
На практике это выглядит так: двумя шифтами происходит переключение QWERTY и ЙЦУКЕН раскладок (ru → en → ru и т.д.), если необходимо ввести символ с третьей раскладки, нажимается и удерживается левая клавиша Alt и нажимается нужная клавиша. Чтобы стало совсем понятно, ниже приводится картинка раскладки из блога Ильи Бирмана.

Синим цветом отмечены символы, которые нужно вводить удерживая правый Alt, зелёным — с нажатыми правым Alt и любым шифтом.
Чтобы пользоваться этими раскладками, я написал файл для XKB с описанием этих раскладок. Используется он следующим образом:
- скачиваем сам файл и кладём его в домашний каталог;
- вставляем его в запущенный X-сервер командой
/usr/bin/xkbcomp /path/to/your/home/dir/.xkb_config $DISPLAY
Если хотите автоматического подключения при каждом старте иксов, добавьте команду в инициализрующий скрипт иксов, обычно это ~/.Xsession.
Важные замечания
Данный конфиг полностью подменяет ваши настройки XKB. В частности это касается индикаторов (конфиг использует для индикации не-QWERTY раскладки индикатор CapsLock). Кроме того, он переназначает клавишу Caps Lock, которая теперь работает как левый Ctrl.
Конфиг протестирован и работает на Debian Etch, его работа на других операционных системах не гарантируется. Если у вас есть вопросы или предложения, можете оставить их в виде комментария к этой записи или в комментариях к соответствующей записи в моём блоге.
svu написал,
Декабря 12, 2006 @ 18:56 \2\V\th\EST
В принципе, я был бы не против запихать оную раскладку в xkeyboard-config, если б кто привел ее к более человеческому виду, как принято в symbols/ru
admin написал,
Декабря 12, 2006 @ 23:04 \2\V\th\EST
Постараюсь допинать, надо будет только получше изучить XKB.
Gluek написал,
Мая 12, 2007 @ 0:11 \6\V\th\EDT
А отдельно пару клавиш можно переназначить?
admin написал,
Мая 12, 2007 @ 0:26 \6\V\th\EDT
> А отдельно пару клавиш можно переназначить?
Можно, разрешаю
test написал,
Мая 29, 2007 @ 21:42 \2\V\th\EDT
This is just test
eXtractor написал,
Сентября 8, 2007 @ 2:42 \6\V\th\EDT
А как бы здесь так сделать, чтобы основные раскладки переключались по Caps Lock, а не по LShift+RShift?
Хитрый Пряник написал,
Января 31, 2008 @ 3:03 \4\V\st\EST
Да, вот с типом переключения надо бы подумать. Shift+Shift — самое неудобное, что можно придумать ибо две руки надо задействовать. Капс тоже иногда нужен и должен выполнять свою функцию. Соответственно остаются комбинации одной рукой. Alt+Shift//Ctrl+shift/Ctrl+Alt/Shift+Caps…
rootATlocalhost написал,
Февраля 18, 2008 @ 4:49 \1\V\th\EST
Можно использовать Win клавиши