Типографская раскладка

Раз в мире существует UNICODE, то им надо пользоваться! Поэтому я однажды сел и написал небольшой файлик для конфигурации XKB, чтобы можно было вводить некоторые юникодные символы прямо с клавиатуры. Сначала это были символы для русских кавычек-лапок (« и ») и длинного тире (—). Через некоторое время я наткнулся в сети на заметку в блоге Ильи Бирмана о создании им специальной типографской раскладки для непосредственного ввода кучи юникодных символов.

Идея мне понравилась и я реализовал эту идею, но уже под линуксом.

Сразу хочу предупредить, что делал я это для личного употребления, поэтому кому-то может показаться неудобным сама раскладка, метод переключения или что-то ещё.

Итак, основные требования:

  1. в системе должны остаться две «главные» раскладки — русская (йцукен) и английская (qwerty), переключение между ними должно осуществляться циклически комбинацией RShift+LShift;
  2. переключение на дополнительную раскладку (типографскую) должно быть временным и осуществляться при помощи нажатия и удержания правой клавиши Alt.

На практике это выглядит так: двумя шифтами происходит переключение QWERTY и ЙЦУКЕН раскладок (ru → en → ru и т.д.), если необходимо ввести символ с третьей раскладки, нажимается и удерживается левая клавиша Alt и нажимается нужная клавиша. Чтобы стало совсем понятно, ниже приводится картинка раскладки из блога Ильи Бирмана.

Рисунок трёх раскладок.

Синим цветом отмечены символы, которые нужно вводить удерживая правый Alt, зелёным — с нажатыми правым Alt и любым шифтом.

Чтобы пользоваться этими раскладками, я написал файл для XKB с описанием этих раскладок. Используется он следующим образом:

  1. скачиваем сам файл и кладём его в домашний каталог;
  2. вставляем его в запущенный X-сервер командой
    /usr/bin/xkbcomp /path/to/your/home/dir/.xkb_config $DISPLAY

Если хотите автоматического подключения при каждом старте иксов, добавьте команду в инициализрующий скрипт иксов, обычно это ~/.Xsession.

Важные замечания

Данный конфиг полностью подменяет ваши настройки XKB. В частности это касается индикаторов (конфиг использует для индикации не-QWERTY раскладки индикатор CapsLock). Кроме того, он переназначает клавишу Caps Lock, которая теперь работает как левый Ctrl.

Конфиг протестирован и работает на Debian Etch, его работа на других операционных системах не гарантируется. Если у вас есть вопросы или предложения, можете оставить их в виде комментария к этой записи или в комментариях к соответствующей записи в моём блоге.

8 Comments »

  1. svu написал,

    Декабря 12, 2006 @ 18:56 \2\V\th\EST

    В принципе, я был бы не против запихать оную раскладку в xkeyboard-config, если б кто привел ее к более человеческому виду, как принято в symbols/ru

  2. admin написал,

    Декабря 12, 2006 @ 23:04 \2\V\th\EST

    Постараюсь допинать, надо будет только получше изучить XKB.

  3. Gluek написал,

    Мая 12, 2007 @ 0:11 \6\V\th\EDT

    А отдельно пару клавиш можно переназначить?

  4. admin написал,

    Мая 12, 2007 @ 0:26 \6\V\th\EDT

    > А отдельно пару клавиш можно переназначить?

    Можно, разрешаю :)

  5. test написал,

    Мая 29, 2007 @ 21:42 \2\V\th\EDT

    This is just test

  6. eXtractor написал,

    Сентября 8, 2007 @ 2:42 \6\V\th\EDT

    А как бы здесь так сделать, чтобы основные раскладки переключались по Caps Lock, а не по LShift+RShift?

  7. Хитрый Пряник написал,

    Января 31, 2008 @ 3:03 \4\V\st\EST

    Да, вот с типом переключения надо бы подумать. Shift+Shift — самое неудобное, что можно придумать ибо две руки надо задействовать. Капс тоже иногда нужен и должен выполнять свою функцию. Соответственно остаются комбинации одной рукой. Alt+Shift//Ctrl+shift/Ctrl+Alt/Shift+Caps…

  8. rootATlocalhost написал,

    Февраля 18, 2008 @ 4:49 \1\V\th\EST

    Можно использовать Win клавиши :)

RSS feed for comments on this post

Leave a Comment

You must be logged in to post a comment.