1

Разработчик Ukelele (Джон Брауни) на сайте:

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

Есть еще один вменяемый метод?


Так что, скорее всего, нет. Вот способ частично автоматизировать его с помощью Applescript:


do shell script "touch '/Library/Keyboard Layouts/'"
tell application "System Events"
    try
        tell process "Ukelele"
            click menu bar 1's menu bar item "File"'s menu 1's menu item "Save"
        end tell
    end try
    log out
end tell

1 ответ1

0

Извините, но не намного лучше, чем можно сделать. Раскладки клавиатуры сканируются только при входе в систему, и если вы не перезапустите компьютер, система оптимизирует процесс, проверяя только папки, которые изменились с момента последнего входа в систему, проверяя дату изменения папки.

О единственном другом способе автоматизации, который я могу придумать, - это иметь скрипт, который изменяет дату модификации соответствующей папки - подойдет скрипт оболочки, вызывающий «touch» (см. Ниже). Тогда вы могли бы иметь более простой способ внесения изменений (вместо перетаскивания файлов внутрь и назад), но вам все равно придется выйти и войти. Я не знаю ярлыка для выхода из системы, кроме нажатия option-shift-command-Q. Я не видел способ написать это.

Скрипт для изменения даты модификации папки раскладок клавиатуры в папке библиотеки:

#!/bin/sh
touch /Library/Keyboard\ Layouts

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .