방금 도움이 될만한 것을 발견했습니다. 간다 :
$ defaults read /Library/Preferences/com.apple.HIToolbox.plist
{
AppleCurrentKeyboardLayoutInputSourceID = "com.apple.keylayout.Dutch";
AppleDefaultAsciiInputSource = {
InputSourceKind = "Keyboard Layout";
"KeyboardLayout ID" = 1337;
"KeyboardLayout Name" = QWERTY;
};
AppleEnabledInputSources = (
{
InputSourceKind = "Keyboard Layout";
"KeyboardLayout ID" = 26;
"KeyboardLayout Name" = Dutch;
}
);
AppleInputSourceHistory = (
{
InputSourceKind = "Keyboard Layout";
"KeyboardLayout ID" = 26;
"KeyboardLayout Name" = Dutch;
}
);
AppleSelectedInputSources = (
{
InputSourceKind = "Keyboard Layout";
"KeyboardLayout ID" = 26;
"KeyboardLayout Name" = Dutch;
}
);
}
이것은 내 시스템에 있으며 사용자 정의 키보드 레이아웃 ( "QWERTY")이 기본값입니다. 참고 것을 KeyboardLayout Name
및 KeyboardLayout ID
속성은 시작시 ID와 이름을 참조 .keylayout
파일.
보다시피, defaults read /Library/Preferences/com.apple.HIToolbox.plist AppleCurrentKeyboardLayoutInputSourceID
여전히 문자열을 반환합니다 "com.apple.keylayout.Dutch"
. 사용 가능한 com.apple.keylayout
값 의 목록이 있습니까? 사용자 정의 키보드 레이아웃에 대한 값을 얻을 수 있습니까? 이 경우 단순히 속성을 무시할 수 있습니다.
또한 AppleEnabledInputSources
, AppleInputSourceHistory
및 AppleSelectedInputSources
특성 모두 그 값이 설정 도우미를 실행할 때 나는 원래 선택한 기본 OS X 키보드 레이아웃에 해당로서, 사용자 정의 키보드 레이아웃을 무시하는 것 같다.
또 다른 업데이트 : Aha! plist
설정을 복사 할 수있는 다른 파일이있는 것 같습니다 .
$ defaults read ~/Library/Preferences/ByHost/com.apple.HIToolbox.*.plist
{
AppleCurrentKeyboardLayoutInputSourceID = "org.unknown.keylayout.QWERTY";
AppleDateResID = {
smRoman = 2;
};
AppleEnabledInputSources = (
{
InputSourceKind = "Keyboard Layout";
"KeyboardLayout ID" = 26;
"KeyboardLayout Name" = Dutch;
},
{
InputSourceKind = "Keyboard Layout";
"KeyboardLayout ID" = 1337;
"KeyboardLayout Name" = QWERTY;
},
{
"Bundle ID" = "com.apple.CharacterPaletteIM";
InputSourceKind = "Non Keyboard Input Method";
},
{
"Bundle ID" = "com.apple.KeyboardViewer";
InputSourceKind = "Non Keyboard Input Method";
},
{
"Bundle ID" = "com.apple.inputmethod.ironwood";
InputSourceKind = "Non Keyboard Input Method";
}
);
AppleGlobalTextInputProperties = {
TextInputGlobalPropertyPerContextInput = 0;
};
AppleInputSourceHistory = (
{
InputSourceKind = "Keyboard Layout";
"KeyboardLayout ID" = 1337;
"KeyboardLayout Name" = QWERTY;
},
{
InputSourceKind = "Keyboard Layout";
"KeyboardLayout ID" = 26;
"KeyboardLayout Name" = Dutch;
}
);
AppleNumberResID = {
smRoman = 2;
};
AppleSelectedInputSources = (
{
InputSourceKind = "Keyboard Layout";
"KeyboardLayout ID" = 1337;
"KeyboardLayout Name" = QWERTY;
},
{
"Bundle ID" = "com.apple.inputmethod.ironwood";
InputSourceKind = "Non Keyboard Input Method";
}
);
AppleTimeResID = {
smRoman = 2;
};
}
( AppleCurrentKeyboardLayoutInputSourceID
)에서 볼 수 있듯이 사용자 정의 키보드 레이아웃은 키보드 레이아웃 의 이름이 "org.unknown.keylayout.FOO"
어디에 있는지 FOO
( .keylayout
파일에 지정된) 값을 얻습니다 .
모든 값을 사용자 정의 키보드 레이아웃으로 설정해 보겠습니다. QWERTY
과 ID 1337
( .keylayout
파일에 지정됨)로 .
sudo defaults write /Library/Preferences/ByHost/com.apple.HIToolbox.plist AppleCurrentKeyboardLayoutInputSourceID -string "org.unknown.keylayout.QWERTY"
슬프게도 이것은 작동하지 않는 것 같습니다.
업데이트 : @Lri는 신뢰할만한 방법을 찾았습니다. 그의 대답을보십시오.