Як зробити власну розкладку клавіатури в OS X?


66

Нещодавно я перейшов на OS X і вважаю, що макет системи "Російська фонетична" незадовільний (це не той, до якого я звик). Як я можу створити спеціальний макет?

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

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


Який макет ви використовували перед MacOS? Павла Городянського? Ви б не хотіли поділитися своїм макетом Ukelele?
davidair



10.9 і пізніших версій, здається, використовується інший тип файлу розкладки клавіатури; Ukelele зламав і мене з цим оновленням. Я втратив му налаштовану клавіатуру OCS - OCS використовує незвичайні символи кирилиці в непарних місцях.
араміс

Відповіді:


63
  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), яка включає можливість встановлення макета з додатка. Мені ще потрібно було перейти до системних налаштувань, щоб активувати його, але зовсім не потрібно було проходити командний рядок.


1
Дякую! Однак у мене є одна важлива примітка: XML-файли, збережені Ukelele, повинні мати .keylayoutрозширення. Так працювало :)
mik01aj

Використання формату пакету дозволяє помістити файл ікон .icns всередині пакета (те саме місце, що і .keylayout), а піктограма вибору може з’явитися поруч із джерелом введення. (Ukelele може додати значок до пакета через меню. Вам потрібні .icns).
ebukva

1
Ви також можете додати піктограму для файлу розміщення ключів XML, наприклад, зберігаючи файл icns як /Library/Keyboard Layouts/My Keyboard Layout.icns.
Лрі

замість того, щоб зберегти його десь і перемістити вручну, ви можете запустити ukelele як root, щоб він міг безпосередньо зберігати в / бібліотеку / розкладку клавіатури
Rayjax

Я також повинен був редагувати .keylayout файл безпосередньо, щоб змінити nameатрибут у рядку 5. До цього він не відображатиметься в системних налаштуваннях, ймовірно, тому, що він мав те саме ім'я, що і в існуючому макеті. Ніхто більше не стикався з цим? o_O
frnhr

12

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

Я теж використовував Ukelele для створення розкладки клавіатури. Потім ви можете експортувати .bundleабо .keylayoutфайл і скопіювати його /Library/Keyboard Layouts.

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

Якщо ви хочете, щоб піктограма клавіатури була зв'язана в одному файлі, Ukelele пропонує опцію експорту в пакет. Тому в цьому випадку скопіюйте .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 може працювати для вас, просто попередити, що, здається, відбувається перезавантаження ключів на програмному рівні (а не на апаратному рівні), тому ви, мабуть, почнете стикатися з такими проблемами, як деякі додатки, які не розпізнають модифікатор або спеціальні переключення клавіш, не матимуть можливості використовувати його в діалогах паролів тощо.

Якщо ви шукаєте більш надійне рішення, перегляньте Karabiner .


Карабінієр також кращий, оскільки вам не потрібно копіювати конфігураційний файл, він безпосередньо працює. І ви можете ввімкнути це при запуску в конфігурації misc / system за замовчуванням
bormat

-1

Використовуйте старіший стабільний Ukelele версії 1.8.4 ... Перезапуск не потрібен

У мене ОС X 10.10.5 (Yosemite). Поточна версія Ukelele не працює навіть після того, як я спробував кілька інших пропозицій. Нарешті я видалив поточну версію та встановив стару стабільну версію (1.8.4). Після цього це спрацювало чудово. Перезапуск не потрібен. Просто збережіть новий макет у бібліотеці / клавіатурі. Потім відкрийте налаштування клавіатури, джерела введення. Додайте, натиснувши кнопку +, і ви побачите новий макет у розділі "Інші".

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.