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.

296 lines
8.2 KiB

  1. # QMK CLI コマンド
  2. <!---
  3. original document: 0.9.19:docs/cli_command.md
  4. git diff 0.9.19 HEAD -- docs/cli_command.md | cat
  5. -->
  6. # ユーザー用コマンド
  7. ## `qmk compile`
  8. このコマンドにより、任意のディレクトリからファームウェアをコンパイルすることができます。<https://config.qmk.fm> からエクスポートした JSON をコンパイルするか、リポジトリ内でキーマップをコンパイルするか、現在の作業ディレクトリでキーボードをコンパイルすることができます。
  9. このコマンドはディレクトリを認識します。キーボードやキーマップのディレクトリにいる場合、自動的に KEYBOARD や KEYMAP を入力します。
  10. **Configurator Exports での使い方**:
  11. ```
  12. qmk compile <configuratorExport.json>
  13. ```
  14. **キーマップでの使い方**:
  15. ```
  16. qmk compile -kb <keyboard_name> -km <keymap_name>
  17. ```
  18. **キーボードディレクトリでの使い方**:
  19. default キーマップのあるキーボードディレクトリ、キーボードのキーマップディレクトリ、`--keymap <keymap_name>` で与えられるキーマップディレクトリにいなければなりません。
  20. ```
  21. qmk compile
  22. ```
  23. **指定したキーマップをサポートする全てのキーボードをビルドする場合の使い方**:
  24. ```
  25. qmk compile -kb all -km <keymap_name>
  26. ```
  27. **例**:
  28. ```
  29. $ qmk config compile.keymap=default
  30. $ cd ~/qmk_firmware/keyboards/planck/rev6
  31. $ qmk compile
  32. Ψ Compiling keymap with make planck/rev6:default
  33. ...
  34. ```
  35. あるいはオプションのキーマップ引数を指定して
  36. ```
  37. $ cd ~/qmk_firmware/keyboards/clueboard/66/rev4
  38. $ qmk compile -km 66_iso
  39. Ψ Compiling keymap with make clueboard/66/rev4:66_iso
  40. ...
  41. ```
  42. あるいはキーマップディレクトリで
  43. ```
  44. $ cd ~/qmk_firmware/keyboards/gh60/satan/keymaps/colemak
  45. $ qmk compile
  46. Ψ Compiling keymap with make make gh60/satan:colemak
  47. ...
  48. ```
  49. **レイアウトディレクトリでの使い方**:
  50. `qmk_firmware/layouts/` 以下のキーマップディレクトリにいなければなりません。
  51. ```
  52. qmk compile -kb <keyboard_name>
  53. ```
  54. **例**:
  55. ```
  56. $ cd ~/qmk_firmware/layouts/community/60_ansi/mechmerlin-ansi
  57. $ qmk compile -kb dz60
  58. Ψ Compiling keymap with make dz60:mechmerlin-ansi
  59. ...
  60. ```
  61. ## `qmk flash`
  62. このコマンドは `qmk compile` に似ていますが、ブートローダを対象にすることもできます。ブートローダはオプションで、デフォルトでは `:flash` に設定されています。
  63. 違うブートローダを指定するには、`-bl <bootloader>` を使ってください。利用可能なブートローダの詳細については、[ファームウェアを書き込む](ja/flashing.md)を見てください。
  64. このコマンドはディレクトリを認識します。キーボードやキーマップのディレクトリにいる場合、自動的に KEYBOARD や KEYMAP を入力します。
  65. **Configurator Exports での使い方**:
  66. ```
  67. qmk flash <configuratorExport.json> -bl <bootloader>
  68. ```
  69. **キーマップでの使い方**:
  70. ```
  71. qmk flash -kb <keyboard_name> -km <keymap_name> -bl <bootloader>
  72. ```
  73. **ブートローダの列挙**
  74. ```
  75. qmk flash -b
  76. ```
  77. ## `qmk config`
  78. このコマンドにより QMK の挙動を設定することができます。完全な `qmk config` のドキュメントについては、[CLI 設定](ja/cli_configuration.md)を見てください。
  79. **使用法**:
  80. ```
  81. qmk config [-ro] [config_token1] [config_token2] [...] [config_tokenN]
  82. ```
  83. ## `qmk doctor`
  84. このコマンドは環境を調査し、潜在的なビルドあるいは書き込みの問題について警告します。必要に応じてそれらの多くを修正できます。
  85. **使用法**:
  86. ```
  87. qmk doctor [-y] [-n]
  88. ```
  89. **例**:
  90. 環境に問題がないか確認し、それらを修正するよう促します:
  91. qmk doctor
  92. 環境を確認し、見つかった問題を自動的に修正します:
  93. qmk doctor -y
  94. 環境を確認し、問題のみをレポートします:
  95. qmk doctor -n
  96. ## `qmk info`
  97. QMK のキーボードやキーマップに関する情報を表示します。キーボードに関する情報を取得したり、レイアウトを表示したり、基礎となるキーマトリックスを表示したり、JSON キーマップをきれいに印刷したりするのに使用できます。
  98. **使用法**:
  99. ```
  100. qmk info [-f FORMAT] [-m] [-l] [-km KEYMAP] [-kb KEYBOARD]
  101. ```
  102. このコマンドはディレクトリを認識します。キーボードやキーマップのディレクトリにいる場合、自動的に KEYBOARD や KEYMAP を入力します。
  103. **例**:
  104. キーボードの基本情報を表示する:
  105. qmk info -kb planck/rev5
  106. キーボードのマトリクスを表示する:
  107. qmk info -kb ergodox_ez -m
  108. キーボードの JSON キーマップを表示する:
  109. qmk info -kb clueboard/california -km default
  110. ## `qmk json2c`
  111. QMK Configurator からエクスポートしたものから keymap.c を生成します。
  112. **使用法**:
  113. ```
  114. qmk json2c [-o OUTPUT] filename
  115. ```
  116. ## `qmk list-keyboards`
  117. このコマンドは現在 `qmk_firmware` で定義されている全てのキーボードを列挙します。
  118. **使用法**:
  119. ```
  120. qmk list-keyboards
  121. ```
  122. ## `qmk list-keymaps`
  123. このコマンドは指定されたキーボード(とリビジョン)の全てのキーマップを列挙します。
  124. このコマンドはディレクトリを認識します。キーボードのディレクトリにいる場合、自動的に KEYBOARD を入力します。
  125. **使用法**:
  126. ```
  127. qmk list-keymaps -kb planck/ez
  128. ```
  129. ## `qmk new-keymap`
  130. このコマンドは、キーボードの既存のデフォルトのキーマップに基づいて新しいキーマップを作成します。
  131. このコマンドはディレクトリを認識します。キーボードやキーマップのディレクトリにいる場合、自動的に KEYBOARD や KEYMAP を入力します。
  132. **使用法**:
  133. ```
  134. qmk new-keymap [-kb KEYBOARD] [-km KEYMAP]
  135. ```
  136. ---
  137. # 開発者用コマンド
  138. ## `qmk format-c`
  139. このコマンドは clang-format を使って C コードを整形します。
  140. 引数無しで実行すると、変更された全てのコアコードを整形します。デフォルトでは `git diff``origin/master` をチェックし、ブランチは `-b <branch_name>` を使って変更できます。
  141. `-a` で全てのコアコードを整形するか、コマンドラインでファイル名を渡して特定のファイルに対して実行します。
  142. **指定したファイルに対する使い方**:
  143. ```
  144. qmk format-c [file1] [file2] [...] [fileN]
  145. ```
  146. **全てのコアファイルに対する使い方**:
  147. ```
  148. qmk format-c -a
  149. ```
  150. **origin/master で変更されたファイルのみに対する使い方**:
  151. ```
  152. qmk format-c
  153. ```
  154. **branch_name で変更されたファイルのみに対する使い方**:
  155. ```
  156. qmk format-c -b branch_name
  157. ```
  158. ## `qmk docs`
  159. このコマンドは、ドキュメントを参照または改善するために使うことができるローカル HTTP サーバを起動します。デフォルトのポートは 8936 です。
  160. **使用法**:
  161. ```
  162. qmk docs [-p PORT]
  163. ```
  164. ## `qmk kle2json`
  165. このコマンドにより、生の KLE データから QMK Configurator の JSON へ変換することができます。絶対パスあるいは現在のディレクトリ内のファイル名のいずれかを受け取ります。デフォルトでは、`info.json` が既に存在している場合は上書きしません。上書きするには、`-f` あるいは `--force` フラグを使ってください。
  166. **使用法**:
  167. ```
  168. qmk kle2json [-f] <filename>
  169. ```
  170. **例**:
  171. ```
  172. $ qmk kle2json kle.txt
  173. ☒ File info.json already exists, use -f or --force to overwrite.
  174. ```
  175. ```
  176. $ qmk kle2json -f kle.txt -f
  177. Ψ Wrote out to info.json
  178. ```
  179. ## `qmk format-py`
  180. このコマンドは `qmk_firmware` 内の python コードを整形します。
  181. **使用法**:
  182. ```
  183. qmk format-py
  184. ```
  185. ## `qmk pytest`
  186. このコマンドは python のテストスィートを実行します。python コードに変更を加えた場合、これの実行が成功することを確認する必要があります。
  187. **使用法**:
  188. ```
  189. qmk pytest
  190. ```