aboutsummaryrefslogtreecommitdiff
path: root/docs/ja/feature_split_keyboard.md
diff options
context:
space:
mode:
Diffstat (limited to 'docs/ja/feature_split_keyboard.md')
-rw-r--r--docs/ja/feature_split_keyboard.md251
1 files changed, 251 insertions, 0 deletions
diff --git a/docs/ja/feature_split_keyboard.md b/docs/ja/feature_split_keyboard.md
new file mode 100644
index 000000000..3bdf96d1c
--- /dev/null
+++ b/docs/ja/feature_split_keyboard.md
@@ -0,0 +1,251 @@
1# 分割キーボード
2
3<!---
4 original document:0.10.8:docs/feature_split_keyboard.md
5 git diff 0.10.8 HEAD -- docs/feature_split_keyboard.md | cat
6-->
7
8QMK ファームウェアリポジトリの多くのキーボードは、"分割"キーボードです。それらは2つのコントローラを使います — 1つは USB に接続し、もう1つは TRRS または同様のケーブルを介してシリアルまたは I<sup>2</sup>C 接続で接続します。
9
10分割キーボードには多くの利点がありますが、有効にするには追加の作業が必要です。
11
12QMK ファームウェアには、任意のキーボードで使用可能な一般的な実装と、多くのキーボード固有の実装があります。
13
14このため、主に Let's Split とその他のキーボードで使われる一般的な実装について説明します。
15
16!> ARM はまだ完全には分割キーボードをサポートしておらず、様々な制限があります。進捗はしていますが、機能の100%にはまだ達していません。
17
18
19## 互換性の概要
20
21| Transport | AVR | ARM |
22|------------------------------|--------------------|--------------------|
23| ['serial'](ja/serial_driver.md) | :heavy_check_mark: | :white_check_mark: <sup>1</sup> |
24| I2C | :heavy_check_mark: | |
25
26注意:
27
281. ハードウェアとソフトウェアの両方の制限は、[ドライバーのドキュメント](ja/serial_driver.md)の中で説明されます。
29
30## ハードウェア設定
31
322つの Pro Micro 互換のコントローラを使っており、キーボードの左右を接続するために TRRS ジャックを使っていることを前提とします。
33
34### ハードウェア要件
35
36左右それぞれのキーボードマトリックスのためのダイオードとスイッチとは別に、2個の TRRS ソケットと 1本の TRRS ケーブルが必要です。
37
38あるいは、少なくとも3本のワイヤがあるケーブルとソケットを使うことができます。
39
40キーボードの左右間で通信するために I<sup>2</sup>C を使いたい場合は、少なくとも4本のワイヤを備えたケーブルと 2個の 4.7kΩ プルアップ抵抗が必要です。
41
42#### 考慮事項
43
44最も一般的に使われる接続は、TRRS ケーブルとジャックです。これらは4本のワイヤを提供し、分割キーボードに非常に有用で、簡単に見つけることができます。
45
46ただし、ワイヤのうちの1本が Vcc を供給するため、キーボードはホットプラグ不可能です。TRRS ケーブルを抜き差しする前に、必ずキーボードのUSB接続をはずす必要があります。そうしなければ、コントローラを短絡させたり、もっと悪いことが起こるかもしれません。
47
48別のオプションは電話ケーブルを使うことです (例えば、旧式の RJ-11/RJ-14 ケーブル)。実際に4本のワイヤ/レーンをサポートするものを使うようにしてください。
49
50ただし、USB ケーブル、SATA ケーブル、そして単に4本の電線でもコントローラ間の通信に使用できることがわかっています。
51
52!> コントローラ間の通信に USB ケーブルを使っても問題ありませんが、コネクタは通常の USB 接続と間違えられるかもしれず、配線方法によってはキーボードが短絡する可能性があります。このため、分割キーボードの接続のためにはお勧めできません。
53
54### シリアル配線
55
562つの Pro Micro 間で GND、Vcc、D0/D1/D2/D3 (別名 PD0/PD1/PD2/PD3) を TRS/TRRS ケーブルの3本のワイヤで接続します。
57
58?> ここで使われるピンは実際には以下の `SOFT_SERIAL_PIN` によって設定されることに注意してください。
59
60<img alt="sk-pd0-connection-mono" src="https://user-images.githubusercontent.com/2170248/92296488-28e9ad80-ef70-11ea-98be-c40cb48a0319.JPG" width="48%"/>
61<img alt="sk-pd2-connection-mono" src="https://user-images.githubusercontent.com/2170248/92296490-2d15cb00-ef70-11ea-801f-5ace313013e6.JPG" width="48%"/>
62
63### I<sup>2</sup>C 配線
64
652つの Pro Micro 間で GND、Vcc、さらに SCL と SDA (それぞれ 別名 PD0/ピン3 および PD1/ピン2) を TRRS ケーブルの4本のワイヤで接続します。
66
67プルアップ抵抗はキーボードの左右どちら側にも配置することができます。もし各側を単独で使いたい場合は、4つの抵抗を使い、両側にプルアップ抵抗を配置することもできます。
68
69<img alt="sk-i2c-connection-mono" src="https://user-images.githubusercontent.com/2170248/92297182-92b98580-ef77-11ea-9d7d-d6033914af43.JPG" width="50%"/>
70
71## ファームウェア設定
72
73分割キーボード機能を有効にするには、以下を `rules.mk` に追加してください:
74
75```make
76SPLIT_KEYBOARD = yes
77```
78
79カスタムトランスポート (通信メソッド)を使っている場合は、以下を追加する必要もあります:
80
81```make
82SPLIT_TRANSPORT = custom
83```
84
85### 左右の設定
86
87デフォルトでは、ファームウェアはどちら側がどちらであるかを認識しません; 決定するには幾つかの助けが必要です。これを行うには幾つかの方法があり、以下に優先順に列挙します。
88
89#### ピンによる左右の設定
90
91左右を決定するためにコントローラ上のピンを読むようにファームウェアを設定することができます。これを行うには、以下を `config.h` ファイルに追加します:
92
93```c
94#define SPLIT_HAND_PIN B7
95```
96
97これは指定されたピンを読み込みます。high の場合、コントローラはそれを左側だと仮定し、low の場合、それは右側であると仮定します。
98
99#### マトリックスピンによる左右の設定
100
101左右を決定するためにコントローラのキーマトリックスピンを読むようにファームウェアを設定することができます。これを行うには、以下を `config.h` ファイルに追加します:
102
103```c
104#define SPLIT_HAND_MATRIX_GRID D0, F1
105```
106
107最初のピンは出力ピンで、2つ目は入力ピンです。
108
109キーマトリックスに未使用の交点があるキーボードがあります。この設定は、左右の決定にこれらの未使用の交点の1つを使用します。
110
111通常、ダイオードが交点に接続されている場合、左側と判断されます。次の定義を追加すると、右側と判断されます。
112
113```c
114#define SPLIT_HAND_MATRIX_GRID_LOW_IS_RIGHT
115```
116
117#### EEPROM による左右の設定
118
119このメソッドは永続ストレージ(`EEPROM`)のフラグを設定することで、キーボードの左右を設定します。これはコントローラが最初に起動する時にチェックされ、キーボードのどちら側であるかとキーボードのレイアウトの向きを決定します。
120
121
122このメソッドを有効にするには、以下を `config.h` ファイルに追加します:
123
124```c
125#define EE_HANDS
126```
127
128ただし、各コントローラに正しい側の EEPROM ファイルを書き込む必要があります。これを手動で行うこともできますが、ファームウェアを書き込む時にこれを行う avrdude および dfu のターゲットが存在します。
129
130* `:avrdude-split-left`
131* `:avrdude-split-right`
132* `:dfu-split-left`
133* `:dfu-split-right`
134* `:dfu-util-split-left`
135* `:dfu-util-split-right`
136
137この設定は、`EEP_RST` キーや `eeconfig_init()` 関数を使って EEPROM を再初期化する時には変更されません。ただし、ファームウェアの組み込みオプション以外で EEPROM をリセット([QMK Toolbox]() の "Reset EEPROM" ボタンの動作のように、`EEPROM` を上書きするファイルを書きこむなど)した場合、`EEPROM` ファイルを再書き込みする必要があります。
138
139`EEPROM` ファイルは、QMK ファームウェアのリポジトリ内の[ここ](https://github.com/qmk/qmk_firmware/tree/master/quantum/split_common)にあります。
140
141#### `#define` による左右の設定
142
143コンパイル時に左右を設定することができます。これは以下を `config.h` ファイルに追加することで行うことができます:
144
145```c
146#define MASTER_RIGHT
147```
148
149あるいは
150
151```c
152#define MASTER_LEFT
153```
154
155どちらも定義されていない場合、左右のデフォルトは `MASTER_LEFT` になります。
156
157
158### 通信オプション
159
160全ての分割キーボードが同一であるとは限らないため、`config.h` ファイル内で設定することができる多くの追加のオプションがあります。
161
162```c
163#define USE_I2C
164```
165
166これは分割キーボードの I<sup>2</sup>C サポートを有効にします。これは厳密には通信用ではありませんが、OLED あるいは I<sup>2</sup>C ベースのデバイスに使うことができます。
167
168```c
169#define SOFT_SERIAL_PIN D0
170```
171
172これはシリアル通信用に使われるピンを設定します。シリアルを使っていない場合は、これを定義する必要はありません。
173
174ただし、キーボード上でシリアルおよび I<sup>2</sup>C を使っている場合は、これを設定し、D0 および D1 以外の値に設定する必要があります (これらは I<sup>2</sup>C 通信のために使われます)。
175
176```c
177#define SELECT_SOFT_SERIAL_SPEED {#}`
178```
179
180シリアル通信に問題がある場合は、この値を変更して、シリアル用の通信速度を制御することができます。デフォルトは1で、可能な値は以下の通りです:
181
182* **`0`**: 約189kbps (実験用途専用)
183* **`1`**: 約137kbps (デフォルト)
184* **`2`**: 約75kbps
185* **`3`**: 約39kbps
186* **`4`**: 約26kbps
187* **`5`**: 約20kbps
188
189### ハードウェア設定オプション
190
191ハードウェアのセットアップ方法に基づいて、設定する必要のある設定が幾つかあります。
192
193```c
194#define MATRIX_ROW_PINS_RIGHT { <row pins> }
195#define MATRIX_COL_PINS_RIGHT { <col pins> }
196```
197
198これにより、右側のマトリックスに異なるピンのセットを指定することができます。これは、左右の形が違うキーボード (Keebio の Quefrency など)で、左右で別の構成が必要な場合に便利です。
199
200```c
201#define DIRECT_PINS_RIGHT { { F1, F0, B0, C7 }, { F4, F5, F6, F7 } }
202```
203
204これにより右側のための異なる直接ピンのセットを指定することができます。
205
206```c
207#define ENCODERS_PAD_A_RIGHT { encoder1a, encoder2a }
208#define ENCODERS_PAD_B_RIGHT { encoder1b, encoder2b }
209```
210
211これにより右側のための異なるエンコーダピンのセットを指定することができます。
212
213```c
214#define RGBLIGHT_SPLIT
215```
216
217このオプションは、分割キーボードのコントローラ間で RGB ライトモードの同期を有効にします。これはコントローラに直接配線されている RGB LED を持つキーボード用です (つまり、それらは TRRS ケーブルで "追加データ"オプションを使っていません)。
218
219```c
220#define RGBLED_SPLIT { 6, 6 }
221```
222
223これは各コントローラに直接接続されている LED の数を設定します。最初の数は左側、2番目の数は右側です。
224
225?> この設定は `RGBLIGHT_SPLIT` が有効になっていることを意味し、有効になっていない場合は強制的に有効にします。
226
227
228```c
229#define SPLIT_USB_DETECT
230```
231このオプションは、スタートアップの挙動を変更して、マスタ/スレーブの決定時にアクティブな USB 接続を検出します。このオプションがタイムアウトになった場合、その片側はスレーブと見なされます。これは ARM のデフォルトの挙動で、AVR Teensy ボードに必要です (ハードウェアの制限のため)。
232
233?> この設定はバッテリパックを使ったデモの機能を停止します。
234
235```c
236#define SPLIT_USB_TIMEOUT 2000
237```
238これは、`SPLIT_USB_DETECT` を使う時のマスタ/スレーブを検出する場合の最大タイムアウトを設定します。
239
240```c
241#define SPLIT_USB_TIMEOUT_POLL 10
242```
243これは `SPLIT_USB_DETECT` を使う時のマスタ/スレーブを検出する場合のポーリング頻度を設定します
244
245## 追加のリソース(英語)
246
247Nicinabox には Let's Split キーボードのための[非常に優れた詳細なガイド](https://github.com/nicinabox/lets-split-guide)があり、トラブルシューティング情報を含む知っておくべきほとんど全てをカバーします。
248
249ただし、RGB ライトセクションは、RGB Split コードが QMK ファームウェアに追加されるずっと前に書かれたため、古くなっています。ガイドに従う代わりに、各 LED テーブ(訳注: LED strip とも呼びます)を直接コントローラに配線します。
250
251<!-- I may port this information later, but for now ... it's very nice, and covers everything -->