MacOS добавляет и активирует раскладку клавиатуры с помощью оболочки / скрипта - PullRequest
0 голосов
/ 13 февраля 2020

Фон

Поскольку мы используем компьютеры Mac с sh клавиатурой на работе (отличная раскладка для программирования), но часто пишем текст на немецком языке (дополнительные буквы Ä, Ö, Ü , ß).

Я создал раскладку клавиатуры, которая отображает эти пропущенные буквы, например, в опции + A для Ä. Установка и использование раскладки клавиатуры с использованием GUI для системных настроек работает хорошо.

Цель

Для настройки системы мы используем сценарии, которые устанавливают все программное обеспечение по умолчанию быть использованным. Было бы замечательно установить и заменить раскладку клавиатуры как часть этого процесса установки.

Проблема

Сценарий bash копирует раскладку клавиатуры в папку "/ Библиотека / Раскладки клавиатуры" и активирует значок меню ввода в строке меню. Таким образом, все раскладки клавиатуры, установленные в качестве источника ввода, могут быть выбраны пользователем.

Однако я не знаю, как добавить новую раскладку клавиатуры в качестве источника ввода с помощью сценария bash.

Что я пробовал

Я распечатал системные значения по умолчанию в файл, добавил источник входного сигнала вручную, используя GUI, и снова установил системные значения по умолчанию. Я вижу, что к значениям по умолчанию добавлен дополнительный источник ввода / раскладка клавиатуры:

    "com.apple.HIToolbox" =     {
        [...]
        AppleEnabledInputSources =         (
                [...]
                        {
                InputSourceKind = "Keyboard Layout";
                "KeyboardLayout ID" = 5008;
                "KeyboardLayout Name" = GermanUmlautOnEngKeyboard;
            }
        );
        [...]
    };

При изменении раскладки изменилось следующее:

"com.apple.HIToolbox" =     {
    AppleCurrentKeyboardLayoutInputSourceID = "org.unknown.keylayout.GermanUmlautOnEngKeyboard";
    [...]
    AppleSelectedInputSources =         (
                        {
                "Bundle ID" = "com.apple.inputmethod.EmojiFunctionRowItem";
                InputSourceKind = "Non Keyboard Input Method";
            },
                        {
                InputSourceKind = "Keyboard Layout";
                "KeyboardLayout ID" = 5008;
                "KeyboardLayout Name" = GermanUmlautOnEngKeyboard;
            }
        );

Вопросы

Все вопросы, касающиеся использования сценария bash, кроме более эффективных способов:

  1. Пытается ли добавить раскладки клавиатуры для использования по умолчанию действительного подхода?
  2. Как добавить макет ввода к значениям по умолчанию?
  3. Как изменить текущий активный макет?
...