5 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 のユーザ名、あるいはコミュニティが管理するキーボードの場合は
width- キー単位でのキーボードの幅
height- キー単位でのキーボードの高さ
layouts- 物理的なレイアウト表現。詳細は以下のセクションを見てください。
レイアウトの形式
info.json ファイル内の辞書の layouts 部分は、幾つかの入れ子になった辞書を含みます。外側のレイヤーは QMK レイアウトマクロで構成されます。例えば、LAYOUT_ansi あるいは LAYOUT_iso。各レイアウトマクロ内には、width、 height、key_count のキーがあります。これらは自明でなければなりません。
width- オプション: キー単位でのレイアウトの幅
height- オプション: キー単位でのレイアウトの高さ
key_count- オプション: このレイアウトのキーの数
layout- 物理レイアウトを説明するキー辞書のリスト。詳細は次のセクションを見てください。
キー辞書形式
レイアウトの各キー辞書は、キーの物理プロパティを記述します。http://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 ドキュメントを参照することができます。