私が作ることができ、カスタムキーボードレイアウトも、ログイン画面のために- (デフォルトでは、OS Xに付属していなかった1)システムのデフォルト?
私が作ることができ、カスタムキーボードレイアウトも、ログイン画面のために- (デフォルトでは、OS Xに付属していなかった1)システムのデフォルト?
回答:
これはOSX 10.9 Mavericksで機能し、ウクレレで作成したキーボードレイアウトを使用します。システムにすでにレイアウトがインストールされていると仮定して、アカウントにログインし、カスタムキーボードレイアウトをアクティブにします。
ターミナルを開き、次のコマンドを実行します。
cp /Library/Preferences/com.apple.HIToolbox.plist /tmp/
XCode(専用のグラフィカルplistエディターを使用)の代わりにテキストエディター(TextWranglerなど)を使用してこの変更を行う場合は、次も実行します。
plutil -convert xml1 /tmp/com.apple.HIToolbox.plist
次に、/tmp/com.apple.HIToolbox.plist
テキストエディタまたはXCodeで開きます。
ファイル全体で、KeyboardLayout ID
キーの後に整数がKeyboardLayout Name
続き、文字列が続くという言及がいくつかあります。これらの文字列をカスタムキーボードレイアウトの名前に変更し、id整数をレイアウトのIDに変更します(正しい値を見つける最も簡単な方法は、ファイルにあるユーザー設定と比較することです~/Library/Preferences/com.apple.HIToolbox.plist
。
また、キーの値AppleCurrentKeyboardLayoutInputSourceID
もそれに応じて変更する必要があります(おそらくのようなものにorg.unknown.keylayout.NameOfYourLayout
)。繰り返しますが、この値はローカル設定ファイルで見つけることができます。
これらの変更が完了したら、ファイルを保存してターミナルに戻ります。安全にプレイするために、com.apple.HIToolbox.plist
エラーが発生してロールバックする必要がある場合に備えて、元のファイルのコピーを作成できます。たとえば、ドキュメントフォルダーにコピーを保存するには:
sudo cp /Library/Preferences/com.apple.HIToolbox.plist ~/Documents
次に、次を使用して変更をインストールします。
sudo sh -c 'cat /tmp/com.apple.HIToolbox.plist > /Library/Preferences/com.apple.HIToolbox.plist'
(以前にファイルを変換した場合、ファイルをテキスト形式に戻す必要はありませんplutil
。)
ターミナルを終了し、コンピューターを再起動します(ログアウトでは不十分です。ファイルは再読み込みされません)。再起動後、ログイン画面にキーボードレイアウトが表示されます。
注:com.apple.HIToolbox.plist
から~/Library/Preferences/
にファイルをコピーするだけで十分だった可能性があります/Library/Preferences/
が、私の場合はより多くのエントリがあるため、安全に再生して既存のファイルを変更することにしました。
com.apple.HIToolbox.plist
変更後のファイルは次のようになります。gist.github.com
この古いMacWorldのヒントを見つけました。セットアップアシスタントを再度実行することをお勧めします。
sudo /System/Library/CoreServices/Setup Assistant.app\
/Contents/MacOS/Setup Assistant
最初は、このコマンドを実行しても効果がないように思えたため、これはLionではもうサポートされていないと思いました。この質問を投稿して初めて、コマンドにタイプミスがあることに気付きました。スペース文字を適切にエスケープするか、バイナリの場所を引用符で囲む必要があります。このため、リンク先のヒントは機能しません。
正しいコマンドは次のとおりです。
sudo "/System/Library/CoreServices/Setup Assistant.app/Contents/MacOS/Setup Assistant"
あるいは、これも同様に機能します:
sudo /System/Library/CoreServices/Setup\ Assistant.app/Contents/MacOS/Setup\ Assistant
私がリンクしたページに記載されていない別の落とし穴:カスタムキーボードレイアウトは、セットアップアシスタントのキーボードレイアウト選択画面に表示されるため、ではなく/Library/Keyboard Layouts/
(つまりcd /Library/Keyboard\ Layouts
)にインストールする必要があり~/Library/Keyboard Layouts
ます。
更新: OS X 10.8では、追加のコマンドを実行する必要があります(つまり、最初にファイルを削除します)。
sudo rm /var/db/.AppleSetupDone; sudo "/System/Library/CoreServices/Setup Assistant.app/Contents/MacOS/Setup Assistant"
また、セットアップアシスタントを完了するには、新しいユーザーアカウントを作成する必要がありますが、心配しないで、後で新しいアカウントを削除できます。
このトリックは、最近のOS X 10.8バージョンではもう機能しません。
OS X 10.8.5のUkelele で作成されたカスタムキーボードレイアウトを使用しています。ログイン画面のキーボードレイアウトを次の手順で変更しました。
Users & Groups
でSystem Preferences
Login Options
左パネルの下部から選択しますShow Input menu in login window
Other input sources
右上にある入力メニューから優先レイアウトを選択しますShow Input menu in login window
と、ログインレイアウトがさらに変更されなくなります。この方法は、ランダム.plist
ファイルを編集してターミナルでコマンドを実行するよりもはるかに簡単であることがわかりました。
この方法では、下部のロックアイコンをクリックして上記の手順3.で右ペインのロックを解除する必要があるため、管理アクセスが必要になる場合があります。
更新:悲しいことに、これはOS X 10.9では動作しないようです。
macOS Sierraをインストールした後、アカウントにログインするたびに、カスタムレイアウトが再初期化されてデフォルトに戻りました。
Appleは新しいキーボードを追加しましたが、IDは私が使用していたキーボードと競合していました。
この問題があるかどうかを検証するには:
sudo touch / Library / Keyboard \ Layouts /
出力:
Keyboard Layouts: duplicate keyboard layout identifier 5000.
Keyboard Layouts: keyboard layout identifier 5000 has been replaced with 16383.
出力は、それが何かを修正すると主張していますが、実際には何もしませんでした。私はまだ自分でレイアウトを編集する必要があり、以前のように機能し始めました。