aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorumi <57262844+umi-umi@users.noreply.github.com>2020-09-05 13:53:19 +0900
committerGitHub <noreply@github.com>2020-09-05 13:53:19 +0900
commita8a714c46eba273fc64e3bac37e90338774a9d42 (patch)
tree60d470b2411e80a8900cee2a407c951830d017a1
parent6e32dd123ff0ff49768f43c97bbc10836ff8a629 (diff)
downloadqmk_firmware-a8a714c46eba273fc64e3bac37e90338774a9d42.tar.gz
qmk_firmware-a8a714c46eba273fc64e3bac37e90338774a9d42.zip
[Docs] Japanese translation of docs/reference_configurator_support.md (#9879)
* add reference_configurator_support.md translation * update based on comment * update based on comment * update based on comment * update based on comment
-rw-r--r--docs/ja/reference_configurator_support.md202
1 files changed, 202 insertions, 0 deletions
diff --git a/docs/ja/reference_configurator_support.md b/docs/ja/reference_configurator_support.md
new file mode 100644
index 000000000..0151731e9
--- /dev/null
+++ b/docs/ja/reference_configurator_support.md
@@ -0,0 +1,202 @@
1# QMK Configurator でのキーボードのサポート
2
3<!---
4 original document: 0.9.46:docs/reference_configurator_support.md
5 git diff 0.9.46 HEAD -- docs/reference_configurator_support.md | cat
6-->
7
8このページは [QMK Configurator](https://config.qmk.fm/) でキーボードを適切にサポートする方法について説明します。
9
10
11## Configurator がキーボードを理解する方法
12
13Configurator がキーボードをどのように理解するかを理解するには、最初にレイアウトマクロを理解する必要があります。この演習では、17キーのテンキー PCB を想定します。これを `numpad` と呼びます。
14
15```
16|---------------|
17|NLk| / | * | - |
18|---+---+---+---|
19|7 |8 |9 | + |
20|---+---+---| |
21|4 |5 |6 | |
22|---+---+---+---|
23|1 |2 |3 |Ent|
24|-------+---| |
25|0 | . | |
26|---------------|
27```
28
29?> レイアウトマクロの詳細については、[QMK の理解: マトリックススキャン](ja/understanding_qmk.md?id=matrix-scanning) と [QMK の理解: マトリックスから物理レイアウトへのマップ](ja/understanding_qmk.md?id=matrix-to-physical-layout-map) を見てください。
30
31Configurator の API はキーボードの `.h` ファイルを `qmk_firmware/keyboards/<keyboard>/<keyboard>.h` から読み取ります。numpad の場合、このファイルは `qmk_firmware/keyboards/numpad/numpad.h` です:
32
33```c
34#pragma once
35
36#define LAYOUT( \
37 k00, k01, k02, k03, \
38 k10, k11, k12, k13, \
39 k20, k21, k22, \
40 k30, k31, k32, k33, \
41 k40, k42 \
42 ) { \
43 { k00, k01, k02, k03 }, \
44 { k10, k11, k12, k13 }, \
45 { k20, k21, k22, KC_NO }, \
46 { k30, k31, k32, k33 }, \
47 { k40, KC_NO, k42, KC_NO } \
48}
49```
50
51QMK は `KC_NO` を使って、スイッチマトリックス内のスイッチがない場所を指定します。デバッグが必要な場合に、このセクションを読みやすくするために、`XXX`、`___`、`____` を略記として使うこともあります。通常は `.h` ファイルの先頭近くで定義されます:
52
53```c
54#pragma once
55
56#define XXX KC_NO
57
58#define LAYOUT( \
59 k00, k01, k02, k03, \
60 k10, k11, k12, k13, \
61 k20, k21, k22, \
62 k30, k31, k32, k33, \
63 k40, k42 \
64 ) { \
65 { k00, k01, k02, k03 }, \
66 { k10, k11, k12, k13 }, \
67 { k20, k21, k22, XXX }, \
68 { k30, k31, k32, k33 }, \
69 { k40, XXX, k42, XXX } \
70}
71```
72
73!> この使用方法はキーマップマクロと異なります。キーマップマクロはほとんど常に`KC_NO`については`XXXXXXX` (7つの大文字の X) を、`KC_TRNS` については `_______` (7つのアンダースコア)を使います。
74
75!> ユーザの混乱を防ぐために、`KC_NO` を使うことをお勧めします。
76
77レイアウトマクロは、キーボードに17個のキーがあり、4列それぞれが5行に配置されていることを Configurator に伝えます。スイッチの位置は、0から始まる `k<row><column>` という名前が付けられています。キーマップからキーコードを受け取る上部セクションと、マトリックス内の各キーの位置を指定する下部セクションとが一致する限り、名前自体は実際には問題ではありません。
78
79物理的なキーボードに似た形でキーボードを表示するには、それぞれのキーの物理的な位置とサイズをスイッチマトリックスに結びつけることを Configurator に伝える JSON ファイルを作成する必要があります。
80
81## JSON ファイルのビルド
82
83JSON ファイルをビルドする最も簡単な方法は、[Keyboard Layout Editor](http://www.keyboard-layout-editor.com/) ("KLE") でレイアウトを作成することです。この Raw Data を QMK tool に入れて、Configurator が読み出して使用する JSON ファイルに変換します。KLE は numpad レイアウトをデフォルトで開くため、Getting Started の説明を削除し、残りを使います。
84
85レイアウトが望み通りのものになったら、KLE の Raw Data タブに移動し、内容をコピーします:
86
87```
88["Num Lock","/","*","-"],
89["7\nHome","8\n↑","9\nPgUp",{h:2},"+"],
90["4\n←","5","6\n→"],
91["1\nEnd","2\n↓","3\nPgDn",{h:2},"Enter"],
92[{w:2},"0\nIns",".\nDel"]
93```
94
95このデータを JSON に変換するには、[QMK KLE-JSON Converter](https://qmk.fm/converter/) に移動し、Raw Data を Input フィールド に貼り付け、Convert ボタンをクリックします。しばらくすると、JSON データが Output フィールドに表示されます。内容を新しいテキストドキュメントにコピーし、ドキュメントに `info.json` という名前を付け、`numpad.h` を含む同じフォルダに保存します。
96
97`keyboard_name` オブジェクトを使ってキーボードの名前を設定します。説明のために、各キーのオブジェクトを各行に配置します。これはファイルを人間が読みやすいものにするためのもので、Configurator の機能には影響しません。
98
99```json
100{
101 "keyboard_name": "Numpad",
102 "url": "",
103 "maintainer": "qmk",
104 "tags": {
105 "form_factor": "numpad"
106 },
107 "width": 4,
108 "height": 5,
109 "layouts": {
110 "LAYOUT": {
111 "layout": [
112 {"label":"Num Lock", "x":0, "y":0},
113 {"label":"/", "x":1, "y":0},
114 {"label":"*", "x":2, "y":0},
115 {"label":"-", "x":3, "y":0},
116 {"label":"7", "x":0, "y":1},
117 {"label":"8", "x":1, "y":1},
118 {"label":"9", "x":2, "y":1},
119 {"label":"+", "x":3, "y":1, "h":2},
120 {"label":"4", "x":0, "y":2},
121 {"label":"5", "x":1, "y":2},
122 {"label":"6", "x":2, "y":2},
123 {"label":"1", "x":0, "y":3},
124 {"label":"2", "x":1, "y":3},
125 {"label":"3", "x":2, "y":3},
126 {"label":"Enter", "x":3, "y":3, "h":2},
127 {"label":"0", "x":0, "y":4, "w":2},
128 {"label":".", "x":2, "y":4}
129 ]
130 }
131 }
132}
133```
134
135`layouts` オブジェクトにはキーボードの物理レイアウトを表すデータが含まれます。このオブジェクトには `LAYOUT` という名前のオブジェクトがあり、このオブジェクト名は `numpad.h` のレイアウトマクロの名前と一致する必要があります。`LAYOUT` オブジェクト自体には `layout` という名前のオブジェクトがあります。このオブジェクトにはキーボードの物理キーごとに 1つの JSON オブジェクトが以下の形式で含まれています:
136
137```
138 キーの名前。Configurator では表示されません。
139 |
140 | キーボードの左端からのキー単位での
141 | | キーの X 軸の位置。
142 | |
143 | | キーボードの上端(奥側)からのキー単位での
144 | | | キーの Y 軸位置。
145 ↓ ↓ ↓
146{"label":"Num Lock", "x":0, "y":0},
147```
148
149一部のオブジェクトには、それぞれキーの幅と高さを表す `"w"` 属性キーと `"h"` 属性キーがあります。
150
151?> `info.json` ファイルの詳細については、[`info.json` 形式](ja/reference_info_json.md) を参照してください。
152
153
154## Configurator がキーをプログラムする方法
155
156Configurator の API は、指定されたレイアウトマクロと JSON ファイルを使って、特定のキーに関連付けられた各ビジュアルオブジェクトを順番に持つキーボードのビジュアル表現を作成します:
157
158| レイアウトマクロのキー | 使用される JSON オブジェクト |
159:---: | :----
160| k00 | {"label":"Num Lock", "x":0, "y":0} |
161| k01 | {"label":"/", "x":1, "y":0} |
162| k02 | {"label":"*", "x":2, "y":0} |
163| k03 | {"label":"-", "x":3, "y":0} |
164| k10 | {"label":"7", "x":0, "y":1} |
165| k11 | {"label":"8", "x":1, "y":1} |
166| k12 | {"label":"9", "x":2, "y":1} |
167| k13 | {"label":"+", "x":3, "y":1, "h":2} |
168| k20 | {"label":"4", "x":0, "y":2} |
169| k21 | {"label":"5", "x":1, "y":2} |
170| k22 | {"label":"6", "x":2, "y":2} |
171| k30 | {"label":"1", "x":0, "y":3} |
172| k31 | {"label":"2", "x":1, "y":3} |
173| k32 | {"label":"3", "x":2, "y":3} |
174| k33 | {"label":"Enter", "x":3, "y":3, "h":2} |
175| k40 | {"label":"0", "x":0, "y":4, "w":2} |
176| k42 | {"label":".", "x":2, "y":4} |
177
178ユーザが Configurator で左上のキーを選択し、Num Lock を割り当てると、Configurator は最初のキーとして `KC_NLCK` を持つキーマップを作成し、同様にキーマップが作成されます。`label` キーは使われません; それらは `info.json` ファイルをデバッグする時に特定のキーを識別するためのユーザの参照のためだけのものです。
179
180
181## 問題と危険
182
183現在のところ、Configurator はキーの回転または ISO Enter などの長方形ではないキーをサポートしません。さらに、"行"から垂直方向にずれているキー、&mdash; 顕著な例として [TKC1800](https://github.com/qmk/qmk_firmware/tree/4ac48a61a66206beaf2fdd5f2939d8bbedd0004c/keyboards/tkc1800/) のような1800レイアウト上の矢印キー &mdash; は、 `info.json` ファイルの提供者によって調整されていない場合は、KLE-to-JSON コンバータを混乱させます。
184
185### 回避策
186
187#### 長方形ではないキー
188
189ISO Enter キーについては、QMK custom は幅 1.25u、高さ 2u の長方形のキーとして表示し、右端が英数字キーブロックの右端に揃うように配置されます。
190
191![](https://i.imgur.com/JKngtTw.png)
192*QMK Configurator によって描画される標準 ISO レイアウトの60%キーボード。*
193
194#### 垂直方向にずれたキー
195
196垂直方向にずれたキーについては、ずれていないかのように KLE で配置し、変換された JSON ファイルで必要に応じて Y 値を編集します。
197
198![](https://i.imgur.com/fmDvDzR.png)
199*矢印キーに適用される垂直方向のずれのない、Keyboard Layout Editor で描画された1800レイアウトのキーボード。*
200
201![](https://i.imgur.com/8beYMBR.png)
202*キーボードの JSON ファイルで矢印キーを垂直方向にずらすために必要な変更を示す、Unix の diff ファイル。*