4.6 KiB
		
	
	
	
	
	
	
	
			
		
		
	
	info.json
このファイルは QMK API によって使われます。このファイルは QMK Configurator がキーボードの画像を表示するために必要な情報を含んでいます。ここにメタデータを設定することもできます。
このメタデータを指定するために、qmk_firmware/keyboards/<name> の下の全てのレベルで info.json を作成することができます。これらのファイルは結合され、より具体的なファイルがそうではないファイルのキーを上書きします。つまり、メタデータ情報を複製する必要はありません。例えば、qmk_firmware/keyboards/clueboard/info.json は manufacturer および maintainer を指定し、qmk_firmware/keyboards/clueboard/66/info.json は Clueboard 66% についてのより具体的な情報を指定します。
info.json の形式
info.json ファイルは設定可能な以下のキーを持つ JSON 形式の辞書です。全てを設定する必要はなく、キーボードに適用するキーだけを設定します。
- keyboard_name- キーボードを説明する自由形式のテキスト文字列。
- 例: Clueboard 66%
 
- url- キーボードの製品ページ、QMK.fm/keyboards のページ、あるいはキーボードに関する情報を説明する他のページの URL。
 
- maintainer- メンテナの GitHub のユーザ名、あるいはコミュニティが管理するキーボードの場合は qmk
 
- メンテナの GitHub のユーザ名、あるいはコミュニティが管理するキーボードの場合は 
- layouts- 物理的なレイアウト表現。詳細は以下のセクションを見てください。
 
レイアウトの形式
info.json ファイル内の辞書の layouts 部分は、幾つかの入れ子になった辞書を含みます。外側のレイヤーは QMK レイアウトマクロで構成されます。例えば、LAYOUT_ansi あるいは LAYOUT_iso。
- layout- 物理レイアウトを説明するキー辞書のリスト。詳細は次のセクションを見てください。
 
キー辞書形式
レイアウトの各キー辞書は、キーの物理プロパティを記述します。https://keyboard-layout-editor.com の Raw Code に精通している場合、多くの概念が同じであることが分かります。可能な限り同じキー名とレイアウトの選択を再利用しますが、keyboard-layout-editor とは異なって各キーはステートレスで、前のキーからプロパティを継承しません。
全てのキーの位置と回転は、キーボードの左上と、各キーの左上を基準にして指定されます。
- x- 必須: 水平軸でのキーの絶対位置(キー単位)。
 
- y- 必須: 垂直軸でのキーの絶対位置(キー単位)。
 
- w- キー単位でのキーの幅。ksが指定された場合は無視されます。デフォルト:1
 
- キー単位でのキーの幅。
- h- キー単位でのキーの高さ。ksが指定された場合は無視されます。デフォルト:1
 
- キー単位でのキーの高さ。
- r- キーを回転させる時計回りの角度。
 
- rx- キーを回転させる点の水平軸における絶対位置。デフォルト: x
 
- キーを回転させる点の水平軸における絶対位置。デフォルト: 
- ry- キーを回転させる点の垂直軸における絶対位置。デフォルト: y
 
- キーを回転させる点の垂直軸における絶対位置。デフォルト: 
- ks- キー形状: キー単位で頂点を列挙することでポリゴンを定義します。
- 重要: これらはキーの左上からの相対位置で、絶対位置ではありません。
- ISO Enter の例: [ [0,0], [1.5,0], [1.5,2], [0.25,2], [0.25,1], [0,1], [0,0] ]
 
- label- マトリックス内のこの位置につける名前。
- これは通常 PCB 上でこの位置にシルクスクリーン印刷されるものと同じ名前でなければなりません。
 
メタデータはどのように公開されますか?
このメタデータは主に2つの方法で使われます:
- Web ベースの configurator が動的に UI を生成できるようにする。
- 新しい make keyboard:keymap:qmkターゲットをサポートする。これは、このメタデータをファームウェアにバンドルして QMK Toolbox をよりスマートにします。
Configurator の作成者は、JSON API の使用に関する詳細について、QMK Compiler ドキュメントを参照することができます。
