Ukele: создаем собственную раскладку

17

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

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

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

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

Ukelele 1.8b6

200804271441.jpg

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

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

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

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

Снимок экрана 1.png

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

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

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

200804280045.jpg

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

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

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

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

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


Снимок экрана 2.png

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

Снимок экрана 4.png

Поделиться
Сохранить
  • Бесценный пост – пять баллов!Слепым набором не владею:( Давно хотел раскладку "под себя" – подрехтовать русскую фонетическую, сделать украинскую фонетическую.  Одним местом чувствовал, что это возможно сделать, теперь конкретно понятно как.Хотел спросить ещё: а можно повесить словосочетание на кнопку или несколько слов? Например, вставку html-тэгов или просто нескольких слов?

  • P.S. Блин, да что ж такое с моими комментами:(

  • я был несколько удивлен нестандартностью кириллических раскладок на нем

    Простите чайника, а в чем заключается нестандартность кириллической раскладки на Маке?

  • 1. Текст и теги вешать – это вообще сказка! :)2. Каждый раз смотрю на html-коммент – всё нормально, такое чувство, что отфильтровывается, когда постится.3. Шпунтик, ко мне плиз исключительно "на ты" – я ещё молод и положения в обществе не достиг :)

  • Там еще было написано (по сравнению с ПК).
    :)

    Я имел ввиду, что кириллические раскладки на ПК и на Маке отличаются. Например, точка и запятая вынесены на кнопки 6 и 7 (с шифтом активируются), а в украинском языке буквы «и» и «і» поменяны местами.
    Так как подавляющее большинство пользователей привыкло к ПК-шной раскладке (да и клавиатур с соответствующей гравировкой такой же процент), то я позволил себе назвать маковские кириллические раскладки нестандартными. Хотя согласен, что термин «нестандартность» формально здесь неверный, так как о существовании стандарта, как такового, я не знаю. Но лучшего слова я подобрать не смог.

  • Да я не с целью докапаться :) Понял, что какие-то клавиши не совпадают. Вот и выясняю какие именно. :)

  • :)
    ок, сделаю пост с рисунками.

  • Незнайка

    Да, Шахиджанян не одного несчастного заставил назубок запомнить свои фамилию-имя-отчество… :)))

  • Это точно :D

  • Да в том то и беда, что и я не задумываюсь. А мне приходится работать за маком и за ПК. Во время таких пересадок возникают ошибки. Поэтому я решил не мучать свой мозговой центр, отвечащий за механическую память и навыки, и работать с одинаковыми раскладками. Выбрал ПК-шную, так как, во-первых, привык, а во-вторых, ее легко сделать на маке (как на ПК реализовать маковскую раскладку понятия не имею).

  • А ты все, Шпунтик, насилуешь эту клавиатуру?:) Я пишу вот, и даже не задумываюсь о том, где какая кнопка. 

  • Tiholap

    Огромнейшее спасибо за пост!!!!

  • Варкан Зайц

    дык… с удовольствием нашёл ещё один ресурс "синк диферент"… :-)

  • Винтище и Шпунтище, будьте плз внимательнее с тегами, почему этого поста нет в "Советах"? Я вот, оттуда начал искать…

  • Шпунтик, а у меня по умолчанию в системе есть раскладка Русская (ПК). Могу скриншот прислать.

  • Верю. У меня тоже есть. Я украинскую создавал. И французскую адаптировал под себя.

  • Taras

    А если пропали все сочитания, типа скопироавть (Альт-С) и т.д. Что делать?