Как сделать собственную раскладку клавиатуры в OS X?

67

Я недавно перешел на OS X и считаю системную «русскую фонетическую» раскладку неудовлетворительной (это не та, к которой я привык). Как я могу создать собственный макет?

Я читал об Ukelele , но макет, который я создал и скопировал Library/Keyboard Layouts, не отображается в настройках клавиатуры.

Я использую OS X 10.9 Mavericks. Я искал решения в интернете, но большинство из них устарели.

mik01aj
источник
Какой макет вы использовали до MacOS? Павла Городянского? Не могли бы вы поделиться своим макетом Ukelele?
davidair
10.9 и более поздние версии, похоже, используют другой тип файла раскладки клавиатуры; Ukelele сломался для меня с этим обновлением также. Я потерял настроенную клавиатуру OCS - OCS использует некоторые странные символы кириллицы в нечетных местах.
Арамис

Ответы:

64
  1. Откройте Ukelele и выберите «Файл»> «Создать из текущего источника». В новых версиях Ukelele он также автоматически присваивает новый идентификатор раскладке клавиатуры.
  2. Отредактируйте раскладку клавиатуры.
  3. Сохраните раскладку клавиатуры во временное расположение, например на рабочем столе. (Сохранение непосредственно в /Library/Keyboard Layouts/сбой происходит автоматически.) Вы можете использовать любой из двух форматов. Всплывающие окна в стиле iOS, отображаемые при удерживании клавиш, работают только с форматом пакета. Формат одного файла XML (по умолчанию) проще. При использовании XML убедитесь, что файл сохранен с .keylayoutрасширением.
  4. Переместите раскладку клавиатуры в /Library/Keyboard Layouts/. Раскладки клавиатуры ~/Library/Keyboard Layouts/не могут быть выбраны в диалоговых окнах ввода пароля или в окне входа в систему.
  5. Перезагрузите компьютер. Выйти и вернуться недостаточно.
  6. Включите новую раскладку клавиатуры в Системных настройках.

Чтобы применить изменения к раскладке клавиатуры, запустите sudo touch /Library/Keyboard\ Layouts/и перезапустите.

См. Https://web.archive.org/web/20151030180252/http://osxnotes.net/keylayout-files-and-ukelele.html для получения дополнительной информации.


Обновление (октябрь 2015 г.): есть новая версия Ukelele (3.0.0), которая включает возможность установки макета из приложения. Мне все еще нужно было перейти в системные настройки, чтобы активировать его, но мне не нужно было вообще проходить через командную строку.

LRI
источник
1
Спасибо! У меня есть одно важное замечание: XML-файлы, сохраняемые Ukelele, должны иметь .keylayoutрасширение. Таким образом, это работало :)
mik01aj
Использование формата пакета позволяет поместить файл значков .icns внутри пакета (в том же месте, что и .keylayout), и рядом с источником входного сигнала может появиться значок выбора. (Ukelele может добавить значок к комплекту через меню. Вам нужен .icns).
ebukva
1
Вы также можете добавить значок для файла раскладки XML, например, сохранив файл icns как /Library/Keyboard Layouts/My Keyboard Layout.icns.
Lri
вместо того, чтобы сохранить его где-нибудь и переместить вручную, вы можете запустить ukelele от имени пользователя root, чтобы он мог напрямую сохранять в / library / раскладки клавиатуры
Rayjax
Мне также пришлось редактировать .keylayout файл напрямую, чтобы изменить nameатрибут в строке 5. До этого он не отображался в Системных настройках, возможно потому, что он имел то же имя, что и существующий макет. Никто другой не сталкивался с этим? о_О
frnhr
12

Создание файла раскладки клавиатуры

Я тоже использовал Ukelele для создания раскладки клавиатуры. Затем вы можете экспортировать файл .bundleили .keylayoutскопировать его в /Library/Keyboard Layouts.

sudo cp KeyboardLayout.keylayout /Library/Keyboard\ Layouts/

Если вы хотите, чтобы значок клавиатуры был в одном файле, Ukelele предлагает вариант экспорта в Bundle. Так что в этом случае скопируйте .bundleфайл. Кроме того, вы можете хранить значки отдельно и копировать их с одинаковыми именами в одну и ту же папку.

sudo cp KeyboardLayout.icns /Library/Keyboard\ Layouts/

После перезагрузки вы можете добавить источник входного сигнала в Системные настройки-> Клавиатура-> Входные источники. Возможно, доступно в разделе «Другие» или «Язык», если вы подключили язык к клавиатуре в Ukelele.

Меню источника входного сигнала

Как создать файл .icns

mkdir layout.iconset

Затем добавьте следующие PNG в папку:

# All sizes necessary
icon_16x16.png
icon_16x16@2x.png
icon_32x32.png
icon_32x32@2x.png
icon_128x128.png
icon_128x128@2x.png
icon_256x256.png
icon_256x256@2x.png
icon_512x512.png
icon_512x512@2x.png

Вам не нужно все это, но это официальный список. Некоторые избыточны в количестве пикселей, но указывают на плотность.

iconutil --convert icns --output layout.icns layout.iconset/

Пример проекта на GitHub

Мой украинско-русский проект на GitHub - это демо, которое в настоящее время работает над Mavericks 10.9.5.

Кэмерон Лоуэлл Палмер
источник
2
+1 за украино-российский проект по ссылке. Поделиться этим с некоторыми друзьями сейчас. Спасибо чувак!
Морское побережье Тибета
Всегда пожалуйста!
Кэмерон Лоуэлл Палмер
1
Очень много +1 за украино-российский проект по ссылке. Мы поддерживаем вас, @CameronLowellPalmer (и другие)!
За Лундберг
5

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

Если вы ищете более надежное решение, посмотрите Карабинер .

Senseful
источник
Karabinier также лучше, потому что вам не нужно копировать файл конфигурации, он работает напрямую. И вы можете включить его при запуске в конфигурации по умолчанию для системы misc / system
bormat
-1

Используйте более старую стабильную версию Ukelele 1.8.4 ... Перезагрузка не требуется

У меня OS X 10.10.5 (Yosemite). Текущая версия Ukelele не работает даже после того, как я попробовал несколько других предложений. Наконец, я удалил текущую версию и установил более старую стабильную версию (1.8.4). После этого все заработало. Перезапуск не был необходим. Просто сохраните новый макет в библиотеке / раскладки клавиатуры. Затем откройте настройки клавиатуры, источники ввода. Добавьте, нажав +, и вы должны увидеть новый макет в «Другие».

Nilotpal
источник