Рубрики Обзоры

Создаем собственную клавиатурную раскладку в Mac OS

Опубликовал

Два года назад, впервые сев за макинтош, я был несколько удивлен нестандартностью кириллических раскладок на нем (по сравнению с ПК). Так как я владею слепым десятипальцевым методом набора (спасибо Владимиру Шахиджаняну), то гравировка клавиш не помогала избежать дискомфорта и ошибок при печати. Ситуация усугублялась тем, что дома у меня был только ПК, а на работе — Macintosh. К счастью, в офисе пользоваться русской раскладкой приходилось нечасто.

Но вот теперь, с появлением собственного MacBook, я решил все же не менять своих привычек и адаптировать методы ввода под себя.

В Леопарде уже присутствует русская раскладка для пользоватлей ПК, но я работаю также с украинским и французским языками, а для них адаптированные методы ввода не предусмотрены в стандартной поставке.

Сначала я пытался найти уже готовые файлы *.keylayout, но, к сожалению, не нашел. В конце концов, я вышел на достаточно интересную утилитку, которая позволяет создать собственную раскладку. Имя этому продукту — Ukele.

Ukelele 1.8b6

Разработчик: SIL International
Сайт: https://scripts.sil.org/ukelele
Способ распространения: freeware
Размер дистрибутива: 4,6 MB

О том как с ней работать и пойдет речь далее.

 

Система Mac OS X позволяет задавать метод ввода XML файлом с определенной структурой. Суть работы Ukelele состоит в том, чтобы позволить пользователю создать (отредактировать) такой файл путем простых манипуляций через графический интерфейс.

Итак, запускаем программу. Мы можем создать абсолютно новую раскладку или же копию уже существующей. Раньше можно было создать раскладку на основе одной из системных, но из-за изменения размещения ресурсов системы в новых версиях Mac OS, системные раскладки зашиты в бинарные файлы и не могут быть распознаны приложением. К счастью, в состав дистрибютива Ukelele входит целый набор файлов .keylayout, которые можно скопировать и модифицировать нужным образом.

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

Фишкой Ukelele по праву можно считать возможность создания так называемых "Dead Keys". Под этим понятием имеется ввиду сочетание клавиш, после нажатия на которые, состоится переход в особенный режим. В этом режиме мы можем задать клавишам новые символы.

Например, при написании дипломной работы я вынужден часто набирать греческие буквы. Вызывать меню выбора символов — неэффективно. Я задаю "Dead Key" для русской раскладки (пускай это будет ⌥-⌘-Й). Передо мною появляется пустая раскладка и я задаю нужные символы на конкретные клавиши.

Теперь мне достаточно нажать указанную комбинацию клавиш и я могу ввести нужные символы. Если я нажму на клавишу, на которую не задан символ, то раскладка перейдет в свое начальное состояние.

Кроме этого, можно задать так называемый "терминатор", то есть символ, после ввода такого режим "Dead Key" форсированно завершиться. Это удобно, если мы точно знаем, что после ввода определенного символа нам нужно возвратится к нормальному способу ввода.

Также имейте ввиду, что "Dead Keys" можно задавать и для уже созданного режима. Например, я могу для созданного режима ввода греческих символов задать новое сочетание, которое позволит мне вводить специфичные математические символы. Очень удобно.

После задания значений для всех клавиш и всех режимов, мы сохраняем раскладку в файл .keylayout и размещаем его в папке Library/Keyboard Layouts. Причем, если вы хотите сделать ваше творение доступным для всех пользователей компьютера, то положите его в папку Library, которая расположена в корневом каталоге системного диска.

Чтобы созданная вами раскладка имела иконку, необходимо расположить рядом с файлом .keylayout файл иконки с тем же именем.


И не забудьте перезагрузить систему! Лишь после этого в меню выбора метода ввода появится ваше творение.

Источник: Mac OS от Винтика и Шпунтика