Pull to refresh

Раскладки для Mac OS X на Ukelele

Reading time 4 min
Views 32K
В ответ на топик, решающий проблему отсутствия русской типографской раскладки для Mac OS X, решил написать свой вариант решения (такая вот тавтология). Может быть, в чём-то более универсальный.

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

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

Так что же можно сотворить в Ukelele?

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


Давайте разберём с вами несколько основных приёмов, как работать с 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 Layout — раскладка будет работать для всех пользователей на данном компьютере;
~/Library/Keyboard Layouts — раскладка будет работать только для вас;
/Network/Library/Keyboard Layouts — раскладка будет доступна в локальной сети.

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

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

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

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

Эта статья публиковалась и на MacSpoon.ru.
Tags:
Hubs:
+8
Comments 4
Comments Comments 4

Articles