Раскладки на Ukelele

Для знающих маководов не секрет, что в Mac OS X есть возможность визуально создавать собственные раскладки на свой вкус и цвет с помощью замечательной программы Ukelele. Об этой программе уже много где писалось, но не на MacSpoon. Давайте исправим это упущение.

Ukelele этим летом обновилась до версии 1.8 и теперь распространяется как Universal Binary, что подразумевает возможность запуска этой утилиты на Mac OS X 10.5 Leopard. Все необходимое, включая набор готовых раскладок и саму программу, включено в .dmg-образ, скачиваемый с официального сайта.

Клавиши горячие и не очень

Давайте разберём с вами несколько основных приёмов, как работать с Ukelele. При создании новой раскладки (а это то, что вам нужно) вам предложат создать абсолютно пустую, либо основанную на системной или готовой. Надёжнее выбрать третий вариант и нажав «ОК» найти среди полученный с программой раскладок русскую (Cyrillic/Russian.keylayout). Перед вами появится готовая раскладка, которую можно изменять на наше усмотрение.

Установка каждой клавиши проходит после двойного щелчка по ней. Как видно, клавиша «ё» находится не совсем в привычном месте для пользователя с историей дружбы с Windows. Мы её перенесём туда, где почти на всех PC-клавиатурах располагается кнопка «тильда», знакомая геймерам по привычному бинду на игровую консоль. Двойной щелчок вызовет незатейливое окошко с одним полем ввода, куда, собственно и нужно буквально ввести или вставить нужный символ (в данном случае, букву «ё»).


После смены символа мы ещё не закончили. Далее можно зажать Shift и — не отпуская его — повторно сделать двойной щелчок по «тильде». После чего мы вводим заглавную «Ё».

Как можно было догадаться, смена символов, получаемых с клавиш в комбинации с контрольными (Shift, Ctrl, Alt) можно установить элементарно зажимая эти клавиши и, после двойного щелчка по нужной кнопке, устанавливая нужное значение. Таким же образом можно зажать Alt и настроить клавишу «минус» на длинное тире, использующееся в русской типографике. Вопрос только — где его взять? Ясное дело, где. Идём в настройки раскладок (System Preferences → International → Input Menu) и ставим галочку в «Character Palette» (в самом верху списка) и «Show input menu in menu bar».

Теперь этот инструмент будет доступен из меню, вызываемом щелчком по индикатору раскладки.


В палитре символов по-умолчанию всё разделено по группам и не так трудно найти нужное.

Клавиши умерли, да здравствуют клавиши!

Ещё одним важным и интересным моментом, который можно реализовать в вашей раскладке, являются мёртвые клавиши (они же dead keys). Пошли они ещё с пишущих машинок и сами по себе ничего не вводят, зато влияют на следующий введённый после них символ. С таким приёмом можно сделать, например, транслитерируемую раскладку, где «y» является мёртвой клавишей, а нажатые после неё «a», «e», «o» и «u» дают «я», «е», «ё» и «ю», соответственно. Хотя, очевидным было бы применять их для расстановки акцентов на буквы (например, «ā», «á», «ǎ», «à»).

Для установки мёртвой клавиши в Ukelele нужно выбрать в меню Keyboard → Edit Dead Key… или нажать Cmd-E. В открывшемся окошке создаём новую или редактируем существующую нажатием соответствующей кнопки. Если вы выберете «New», то нужно будет одним щелчком указать, какую клавишу вы хотите сделать «мёртвой». После этого перед вами откроется новая раскладка — вы в режиме редактирования указанной мёртвой клавиши. Здесь отдельные нажатия и комбинации вводятся привычным способом — по двойному щелчку. Выберите Keyboard → Finish Dead Key в меню, чтобы сохранить настройки мёртвой клавиши и выйти из режима редактирования назад к обычной раскладке.

При двойном щелчке по уже существующей мёртвой клавише (они будут выделяться белой рамкой) показывается окно, в котором можно удалить или отредактировать клавишу, либо указать её терминатор. Терминатор — это символ, который введётся в случае, если при активной мёртвой клавише была нажата друга, на которую не было назначено никакого символа. То есть, если у нас есть всё та же мёртвая «y», через которую можно ввести только символы на «a», «e», «o» и «u», то последовательное нажатие «y» и «x» либо приведёт к вводу символа-терминатора, либо ни к чему вообще не приведёт (если терминатор не установлен).

Тест-драйв

Для того, чтобы готовую раскладку «увидела» система, её необходимо разметить в одной из трёх папок:
/Library/Keyboard Layouts — раскладка будет работать для всех пользователей на данном компьютере;
~/Library/Keyboard Layouts — раскладка будет работать только для вас;
/Network/Library/Keyboard Layouts — раскладка будет доступна в локальной сети.

Поменять раскладки можно, как обычно, в System Preferences → International → Input Menu. Там же, кстати, можно поставить галочку в «Keyboard Viewer», после чего при щелчке по индикатору раскладки в правом верхнем углу можно будет открыть его точно так же, как мы открывали «Character Palette», и потестировать всю свою раскладку, последовательно нажимая различные комбинации клавиш.

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

Заметка для технически-подкованных: файл раскладки — это обычный XML, который в полевых условиях вполне можно открыть и подредактировать в любом текстовом редакторе.

Ну а чтобы завершить тему типографской раскладки, делюсь с вами собственной. Я её делал как копию раскладки Бирмана для Windows, немного расширив набор спец-символов. Плюс, может кому-то пригодится мой вариант раскладки с транслитерацией (правда, там балтийский подход к этому делу — «я», к примеру, получается из «ja», а не из «ya», но это исправимо).

  • Ну наконец-то!) Ура!)Давно-давно мне обещал эту статью: и вот она) ураа!)
    Спасибо большое за твою собственную раскладку: сразу поставил просто её)
    Наконец-то теперь эти запятые там, где они должны были быть!) и никаких выкручиваний пальцев!)
    Теперь бы ещё перерисовать на самой клавиатуре) ну это ж надо было додуматься… запятые так высоко, да ещё и с шифтом!)
    Слава технике-науке)

  • а где найти дефолтные раскладки? те что были по умочанию? Всмысле где найти эти файлы прям, чтобы их посмотреть?
    А то в твоей русской раскладке не работает command+backspace — удаление файла например.. в английской — работает, в русской оригинальной — тоже.

  • Забавно, потому что у меня проблем с Cmd-Backspace (впрочем, как и с любыми другими клавишами в сочетании с Cmd) на этих раскладках нет. Вы перезапускались? :)

    А обычные раскладки прилагаются с Ukelele.

  • я про те раскладки: которые были в компе изначально, они же где-то лежат)
    До появления Ukelele ведь были же раскладки? где они лежат?)

    вопрос всёравно интересный, хоть и перезагрузка мне помогла) спасибо)

  • Я тоже как-то писал про эту замечательную программу. В качестве бонуса от себя подкину нормальную украинскую раскладку. Она полностью соответствует Russian-PC только с буквами і ї є на нужных местах.

  • Андрей

    Дмитрий огромное спасибо за информацию!!!Всё получилось. Но новая запрограмированная раскладка работает только в WORD и EXCEL и т.д., А вот в MAIL, Adium и если печатать на сайтах- все равно все по прежнему остается старая,неудобная раскладка. Можете что-нибудь посоветовать…???? Заранее благодарен…

  • Андрей, обычно проблемы с переключением решаются после перезагрузки. А остаётся именно та старая, которой уже нет в списке включенных?

  • Андрей

    Дмитрий, ок после трёх перезагрузок везде работает уже новая, мною запрограмированная раскладка. Теперь у меня не получается обозначить клавишу Delete, т.е. когда я програмирую комбинацию: fn+backspace — на моём «MacBook Pro» именно таким сочетанием клавиш делается Delete во всех текстовых редакторах, то все равно програмка «Ukelle» такое сочетание не воспринимает.

  • alxxl

    А как струю русскую раскладку удалить? А то я снимаю галочку а после перезагрузки он опять стоит, вот и получается, что в системе у меня "русский, сша и русский мой",

    • alex

      нашел как? меня тоже бесит