ログイン画面の場合でも、カスタムキーボードレイアウトをシステムのデフォルトにします


37

私が作ることができ、カスタムキーボードレイアウトも、ログイン画面のために- (デフォルトでは、OS Xに付属していなかった1)システムのデフォルト?


(その間、あなたは答えを受け入れないかもしれません、それは読者が混乱するかもしれません)
o0 '。

1
@Lohoris:完了!
マティアス・バイネンズ

アップデートノートを削除bの質問を更新してください、最良の答えは、今だけでなく、最新のOSXのバージョンで動作します
バートGoethals

回答:


13

これは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/が、私の場合はより多くのエントリがあるため、安全に再生して既存のファイルを変更することにしました。


他の答えがうまくいかなかったので、今これを試してみてください。FWIW、com.apple.HIToolbox.plist変更後のファイルは次のようになります。gist.github.com
Mathias Bynens

完璧に働きました、ありがとう!申し訳ありませんが、これ以上報奨金をお渡しすることはできませんので、この答えに報いるためだけに新しいものを設定します。
マティアスバイネンズ

喜んでくれました。余分な賞金をありがとう!:-)
エリックJ.フランソワ

魅力のように働いた。素晴らしいヒント!
ƘɌỈSƬƠƑ

これは素晴らしいです。私はベルギーのキーボードのデフォルトが長いので動けなくなっています!複数の賛成票を投じることができればいいのに!
バートゲータルズ14年

12

この古い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のカスタムキーボードレイアウトについて私が知っていることはすべてここにあります


Mountain Lion 10.8の手順に従い、セットアップアシスタントを実行して、デフォルトのキーボードレイアウトをDvorakに設定し、ログインしようとしましたが、機能しませんでした。再起動時に、ログイン画面にまだqwertyを使用していました。
AMS

ええ、OS X 10.8以降は動作しないようです。:(
マティアス・バイネンズ

3

OS X 10.8.5のUkelele 作成されたカスタムキーボードレイアウトを使用しています。ログイン画面のキーボードレイアウトを次の手順で変更しました。

  1. オープンUsers & GroupsSystem Preferences
  2. Login Options左パネルの下部から選択します
  3. チェック Show Input menu in login window
  4. ログイン画面に移動
  5. Other input sources右上にある入力メニューから優先レイアウトを選択します
  6. 戻ってチェックを外すShow Input menu in login windowと、ログインレイアウトがさらに変更されなくなります。

この方法は、ランダム.plistファイルを編集してターミナルでコマンドを実行するよりもはるかに簡単であることがわかりました。

この方法では、下部のロックアイコンをクリックして上記の手順3.で右ペインのロックを解除する必要があるため、管理アクセスが必要になる場合があります。

更新:悲しいことに、これはOS X 10.9では動作しないようです。


これが最良の答えのように思えたので賞金を授与しましたが、実際には機能していないようです。常にデフォルトのUSキーボードレイアウトに戻ります。これをテストするために、1つのキーストロークで3つの記号を入力できるキーボードレイアウトを使用して、パスワード入力ボックスに表示されるマスク文字の数を確認しました。あなたが言及した手順を適用した後、私は一度に1つのシンボルしか入力できませんでした(USキーボードのように)。
マティアスバイネンズ

OS X 10.9で動作しないものを説明できますか?Workmanレイアウト(ここにあります:workman.deekayen.net)を使用する場合、これらの手順を実行できます(手順6は実行しませんでした)。私の問題は、そのレイアウトを選択してコンピューターをロックすると、入力メニューがログイン画面に表示されないことです。一方、DvorakまたはOS Xがネイティブにサポートしているものがある場合は問題ありません。必要に応じて米国に切り替えることができます)
ティモシーブーシェ

@TimothéeBoucher 以前のコメントでは、何が問題なのか、どのようにテストしたのかを説明しています。
マティアス・バイネンズ

2

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.

出力は、それが何かを修正すると主張していますが、実際には何もしませんでした。私はまだ自分でレイアウトを編集する必要があり、以前のように機能し始めました。


また、カスタムのものを変更しました。残念ながら、.plistファイルのIDを修正しても役に立たなかった。
パベルグルコフ16年

@PavelGurkovは後でフォルダでsudo touchコマンドを実行しましたか?OSがそれを考慮する必要がありました。
-jrobichaud

ええ、そうしましたが、まったく出力がありませんでした。私ができることはすべてチェックしましたが、それでも...エルキャピタンで完璧に働きました。シエラでは運がありませんでした。
パベルグルコフ16年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.