web-dev-qa-db-ja.com

OS Xでカスタムキーボードレイアウトを作成する方法

私は最近OS Xに移行しましたが、システムの "Russian Phonetic"レイアウトが不満足なものになっています(私が慣れ親しんでいるものではありません)。カスタムレイアウトを作成する方法

Ukelele について読んだことがありますが、作成してLibrary/Keyboard Layoutsにコピーしたレイアウトが[キーボード設定]に表示されません。

OS X 10.9 Mavericksを使用しています。私はインターネットで解決策を探しましたが、それらのほとんどは時代遅れでした。

59
mik01aj
  1. Ukeleleを開き、[ファイル] - [現在の入力ソースから新規作成]を選択します。 Ukeleleの新しいバージョンでは、キーボードレイアウトに新しいIDを自動的に割り当てます。
  2. キーボードレイアウトを編集します。
  3. キーボードレイアウトをデスクトップなどの一時的な場所に保存します。 (/Library/Keyboard Layouts/に直接保存すると、黙って失敗します。)2つの形式のどちらでも使用できます。キーを押したときに表示されるiOSスタイルのポップオーバーは、バンドル形式でのみ機能します。ただし、単一のXMLファイル(デフォルト)形式はより単純です。 XMLを使用するときは、ファイルが.keylayout拡張子で保存されていることを確認してください。
  4. キーボードレイアウトを/Library/Keyboard Layouts/に移動します。 ~/Library/Keyboard Layouts/のキーボードレイアウトは、パスワードダイアログやログインウィンドウでは選択できません。
  5. コンピュータを再起動してください。ログアウトして再度ログインするだけでは不十分です。
  6. システム環境設定から新しいキーボードレイアウトを有効にします。

キーボードレイアウトに変更を適用するには、Sudo touch /Library/Keyboard\ Layouts/を実行して再起動します。

詳細については http://osxnotes.net/keylayout-files-and-ukelele.html を参照してください。


更新(2015年10月):アプリ内からレイアウトをインストールするオプションを含むUkelele(3.0.0)の新しいバージョンがあります。私はまだそれをアクティブにするためにシステム設定に行く必要がありましたが、まったくコマンドラインを通る必要はありませんでした。

58
Lri

キーボードレイアウトファイルの作成

私も Ukelele を使ってキーボードレイアウトを作成しました。その後、.bundleまたは.keylayoutファイルをエクスポートして、それを/Library/Keyboard Layoutsにコピーできます。

Sudo cp KeyboardLayout.keylayout /Library/Keyboard\ Layouts/

キーボードのアイコンを1つのファイルにまとめたい場合、UkeleleはBundleへのエクスポートオプションを提供しています。そのため、この場合は代わりに.bundleファイルをコピーしてください。または、アイコンを別々にして、同じ名前で同じフォルダにコピーすることもできます。

Sudo cp KeyboardLayout.icns /Library/Keyboard\ Layouts/

再起動後、システム環境設定 - >キーボード - >入力ソースメニューで入力ソースを追加することができます。 Ukeleleのキーボードに言語を接続している場合は、[その他]または[言語]の下でおそらく使用可能です。

Input Source Menu

.icnsファイルを作成する方法

mkdir layout.iconset

次に、フォルダに次のPNGを追加します。

# All sizes necessary
icon_16x16.png
[email protected]
icon_32x32.png
[email protected]
icon_128x128.png
[email protected]
icon_256x256.png
[email protected]
icon_512x512.png
[email protected]

これらすべてが必要なわけではありませんが、これが公式のリストです。一部はピクセル数が重複していますが、密度を示しています。

iconutil --convert icns --output layout.icns layout.iconset/

GitHubのサンプルプロジェクト

GitHubの私の ウクライナ語 - ロシア語 プロジェクトは、現在Mavericks 10.9.5に取り組んでいるデモです。

12

Ukelele がうまくいくかもしれませんが、(ハードウェアレベルではなく)ソフトウェアレベルでキーを再バインドしているように思われるので注意してください。モディファイアや特別なキーの再バインドを認識しない、パスワードダイアログで使用できない、などの問題に遭遇し始めます。

もっと堅牢なソリューションを探しているなら、 Karabiner をチェックしてください。

4
Senseful