1 сентября 2008 г.

О раскладках клавиатуры — 2

Рассказывая о раскладках клавиатуры в прошлый раз, я забыл упомянуть о типографской раскладке Ильи Бирмана. Исправляю это упущение. Особенностью этой раскладки является наличие ещё одного регистра клавиатурной раскладки: по клавише AltGr, или «правому Alt», мы получаем возможность использовать некоторые особенно полезные в блоггерском деле символы Unicode, например кавычки-«ёлочки» или кавычки-„лапки“, или, очень важный, но часто игнорируемый символ, — длинное тире, знак «ударе́ния» и знак §параграфа. Полный список символов можно обнаружить на сайте Ильи. Однако, он предлагает решение для Windows. Внимательный читатель найдёт в самом низу страницы с описанием типографской раскладки ссылку на некую «версию для Линукс».

«Поймав волну», я закатал рукава и принялся за правку конфига, предложенного Сергеем Столяровым, особенностями его решения были раскладка Winkeys для кириллицы (я хотел использовать виндовую машинопись) и переключение между кириллицей и латиницей комбинацией Shift_L+Shift_R (что мне кажется довольно неудобным). Обрадовавшись возможности, я решил убить сразу двух зайцев. Напомню, что Linux — очень гибкая штука, поэтому, взяв в руки напильник и разложив в поле пару граблей, я занялся правкой конфига. В итоге получилось вот это. Раскладки переключаются клавишей Caps_Lock (при этом индикатор работает в стандартном режиме: нажали — загорелся, нажали ещё раз — погас, если случайно переключите с помощью Shift+Caps Lock, рекомендую также переключать обратно, так как индикатор в этом случае менять состояние не будет, а раскладка переключится, кроме того, я оставил рабочей комбинацию Shift_L+Shift_R), пока зажат AltGr («правый Alt») можно вводить типографские символы.

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

$ xkbcomp ~/.xkb_config_tl $DISPLAY

Готово. Теперь до конца текущей сессии вы будете наслаждаться комбинацией из раскладок Ильи Бирмана, машинописи Windows и стандартной QWERTY. Стоит ли говорить о том, что этот конфиг можно легко подогнать под себя, например, поменять QWERTY на Dvorak?

Для того, чтобы отныне и всегда ваш новый конфиг запускался вместе с вашей сессией, придётся поплясать с бубном. Ковыряние ~/.xsession не дало результатов, хотя, возможно, я просто не смог с ним разобраться. Я воспользовался встроенным в Xfce4 менеджером автозагрузки, при чём назначил исполнение вышеозначенной команды в xterm:

$ xterm -e "xkbcomp ~/.xkb_config_tl $DISPLAY"

Думаю, любой из моих читателей сможет воспользоваться встроенными в рабочую среду средствами автозагрузки, или, если кто-нибудь из Вас знает, каким макаром прикрутить к этому великолепию ~/.xsession, поделитесь, пожалуйста, опытом — я думаю, он будет полезен не только мне, но и многим моим читателям.

Если вы хотите воспользоваться winkeys-вариантом, просто сравните оригинал и мою версию: Caps Lock настраивается в самом низу скрипта.

12 комментариев:

LXj комментирует...

Вообще-то в Xorg есть ещё один механизм ввода специальных символов, позволяющий, например, кавычки-«ёлочки» вводить как (специальная клавиша)-<-<, а длинное тире -- как (специальная клавиша)-тире-тире-тире

http://kaktyc.wordpress.com/2007/02/05/using-exotic-unicode-symbols-in-xorg/

Von_old комментирует...

Спасибо за ссылку. Оно работает и в кириллической раскладке? Или необходимо переназначать клавиши?

Unknown комментирует...

Если назначить Compose key на AltGr то можно сделать точно такую же типографическую раскладку

Анонимный комментирует...

Для сочетаний с буквами или < > в кирилической раскладке не работает, а для тире-тире-тире — работает

Von_old комментирует...

Для сочетаний с буквами или < > в кирилической раскладке не работает, а для тире-тире-тире — работает
К сожалению, это главный недостаток, ибо я, да и многие читатели, пользуемся в основном кириллицей, и для постановки кавычек переключать раскладку — не comme il faut.

Анонимный комментирует...

Тема не сильно меня интересует, но замечу, что мне показалось, что qwerty продуманна куда удобнее, чем йцуке

Von_old комментирует...

qwerty продуманна куда удобнее, чем йцуке
С точки зрения эргономики?

Анонимный комментирует...

Очень полезная статейка… Попробовал дворака — переучиваться дико сложно, забил. Не так уж много приходиться печатать английский текст. Русскую типографскую раскладку начал использовать, переучиваться толком не надо, изредка путаешься, но всё равно удобнее. Цифры в верхнем регистре понравились ещё со времен французской раскладки.

Одна проблема, у меня линукс, использую раскладку из этой статьи (виндовая typewriter удобнее линуксовой), нету «номера», единица выдаёт знак «#», а в русском языке он не используется. Исправил это путём замены «numbersign» в блоке «AE01» на «numerosign», теперь печатает «№»

Насчёт .xsession — где-то читал, что он работает только для xdm… В гноме автозапуск вообще не нашёл, но искал плохо.

denger, jabber: denger@sibnsk.net

Анонимный комментирует...

Сегодня обновил убунту до 8.10, раскладки стояли в автозагрузке... Перестали работать некоторые клавиши (стрелки, блок над стрелками правые альт и контрол)

Von_old комментирует...

Видимо, особенности новой версии xkb. Я пока не обновлялся, поэтому вряд ли смогу помочь.

Анонимный комментирует...

виндовая машинопись в убунту 8.10.

Анонимный комментирует...

После обновления убунты до 8.04 перестали печататься с каких положено кнопок - точка, запятая, номер,двоеточие и тд. Объясните доступно как исправить. Я пока новичек. Заранее благодарен.

Отправить комментарий