You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

68 lines
4.6 KiB

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