summaryrefslogtreecommitdiffstats
path: root/docs/ja
diff options
context:
space:
mode:
Diffstat (limited to 'docs/ja')
-rw-r--r--docs/ja/cli_configuration.md2
-rw-r--r--docs/ja/custom_quantum_functions.md8
-rw-r--r--docs/ja/feature_hd44780.md2
-rw-r--r--docs/ja/feature_layouts.md114
-rw-r--r--docs/ja/feature_leader_key.md151
-rw-r--r--docs/ja/feature_led_matrix.md95
-rw-r--r--docs/ja/feature_mouse_keys.md127
-rw-r--r--docs/ja/feature_pointing_device.md49
-rw-r--r--docs/ja/feature_thermal_printer.md15
-rw-r--r--docs/ja/feature_velocikey.md35
-rw-r--r--docs/ja/getting_started_github.md8
-rw-r--r--docs/ja/newbs_building_firmware_configurator.md2
-rw-r--r--docs/ja/newbs_learn_more_resources.md4
13 files changed, 599 insertions, 13 deletions
diff --git a/docs/ja/cli_configuration.md b/docs/ja/cli_configuration.md
index 7e9c3e57fa..d21a27596d 100644
--- a/docs/ja/cli_configuration.md
+++ b/docs/ja/cli_configuration.md
@@ -113,7 +113,7 @@ compile.keymap: skully -> None
|-----|---------------|-------------|
| user.keyboard | None | キーボードのパス (例: `clueboard/66/rev4`) |
| user.keymap | None | キーマップ名 (例: `default`) |
-| user.name | None | ユーザの github のユーザ名。 |
+| user.name | None | ユーザの GitHub のユーザ名。 |
# 全ての設定オプション
diff --git a/docs/ja/custom_quantum_functions.md b/docs/ja/custom_quantum_functions.md
index 7e4fbd897e..1524717c8e 100644
--- a/docs/ja/custom_quantum_functions.md
+++ b/docs/ja/custom_quantum_functions.md
@@ -62,7 +62,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
case KC_ENTER:
// enter が押された時に音を再生します
if (record->event.pressed) {
- PLAY_NOTE_ARRAY(tone_qwerty);
+ PLAY_SONG(tone_qwerty);
}
return true; // QMK に enter のプレスまたはリリースイベントを送信させます
default:
@@ -440,7 +440,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
case KC_ENTER:
// enter が押された時に音を再生します
if (record->event.pressed) {
- PLAY_NOTE_ARRAY(tone_qwerty);
+ PLAY_SONG(tone_qwerty);
}
return true; // QMK に enter のプレスまたはリリースイベントを送信させます
case RGB_LYR: // これにより、アンダーグローをレイヤー表示として、あるいは通常通りに使うことができます。
@@ -511,7 +511,7 @@ void eeconfig_init_user(void) { // EEPROM がリセットされます!
キーコードに基づいて `TAPPING_TERM` を変更するには、次のようなものを `keymap.c` ファイルに追加します:
```c
-uint16_t get_tapping_term(uint16_t keycode) {
+uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record) {
switch (keycode) {
case SFT_T(KC_SPC):
return TAPPING_TERM + 1250;
@@ -528,7 +528,7 @@ uint16_t get_tapping_term(uint16_t keycode) {
キーコードに基づいて `IGNORE_MOD_TAP_INTERRUPT` の値を変更するには、次のようなものを `keymap.c` ファイルに追加します:
```c
-bool get_ignore_mod_tap_interrupt(uint16_t keycode) {
+bool get_ignore_mod_tap_interrupt(uint16_t keycode, keyrecord_t *record) {
switch (keycode) {
case SFT_T(KC_SPC):
return true;
diff --git a/docs/ja/feature_hd44780.md b/docs/ja/feature_hd44780.md
index 5258632536..5ca4aade1e 100644
--- a/docs/ja/feature_hd44780.md
+++ b/docs/ja/feature_hd44780.md
@@ -55,7 +55,7 @@ LCD_DISP_ON_CURSOR_BLINK : ディスプレイオン、点滅カーソル
````
これはキーボードの `matrix_init_kb` またはキーマップの `matrix_init_user` で行うのが最適です。
使用前にディスプレイをクリアすることをお勧めします。
-そのためには、`lcd_clrsrc()` を呼びます。
+そのためには、`lcd_clrscr()` を呼びます。
ディスプレイに何かを表示するには、最初に `lcd_gotoxy(column, line)` を呼びます。最初の行の先頭に移動するには、`lcd_gotoxy(0, 0)` を呼び出し、その後 `lcd_puts("example string")` を使って文字列を出力します。
diff --git a/docs/ja/feature_layouts.md b/docs/ja/feature_layouts.md
new file mode 100644
index 0000000000..9b36a1eda5
--- /dev/null
+++ b/docs/ja/feature_layouts.md
@@ -0,0 +1,114 @@
+# レイアウト: 複数のキーボードで1つのキーマップを使用
+
+<!---
+ original document: 0.8.134:docs/feature_layouts.md
+ git diff 0.8.134 HEAD -- docs/feature_layouts.md | cat
+-->
+
+`layouts/` フォルダは、様々なキーボードに適用できる色々な物理キーレイアウトを含みます。
+
+```
+layouts/
++ default/
+| + 60_ansi/
+| | + readme.md
+| | + layout.json
+| | + a_good_keymap/
+| | | + keymap.c
+| | | + readme.md
+| | | + config.h
+| | | + rules.mk
+| | + <keymap folder>/
+| | + ...
+| + <layout folder>/
++ community/
+| + <layout folder>/
+| + ...
+```
+
+`layouts/default/` と `layouts/community/` は、レイアウト「repositories」の2つの例です。現在のところ、`default` にはユーザの参考用に、レイアウトに関する全ての情報および、`default_<layout>` という名前の1つのデフォルトのキーマップが含まれています。`community` には全ての共有キーマップが含まれており、それらはユーザが `layouts/` にクローンするための別のリポジトリに分割することを最終的な目的としていますQMK は `layouts/` 内のすべてのフォルダを検索するため、ここに複数のリポジトリを持つことができます。
+
+各レイアウトフォルダは、レイアウトの物理的な側面に基づいて、可能な限り一般的な名称で(`[a-z0-9_]`)という名前が付けられ、キーボードで定義されるレイアウトと一緒に `readme.md` を含みます。
+
+```md
+# 60_ansi
+
+ LAYOUT_60_ansi
+```
+
+新しい名前は既存のレイアウトで設定された標準に準拠しようと努力する必要があり、必要に応じて PR/Issue で議論することができます。
+
+## レイアウトのサポート
+
+キーボードがレイアウトをサポートするために、変数は `<keyboard>.h` で定義し、引数/キー (できれば物理レイアウト)の数に一致している必要があります。
+
+ #define LAYOUT_60_ansi KEYMAP_ANSI
+
+レイアウトの名前は次の正規表現に一致しなければなりません: `[a-z0-9_]+`
+
+フォルダ名はキーボードの `rules.mk` に追加する必要があります:
+
+ LAYOUTS = 60_ansi
+
+`LAYOUTS` は任意のキーボードフォルダレべルの `rules.mk` に設定することができます:
+
+ LAYOUTS = 60_iso
+
+ただし、`LAYOUT_<layout>` 変数は `<folder>.h` でも定義する必要があります。
+
+## キーマップのビルド
+
+以下の形式でコマンドを使ってキーボードキーマップを作成できるはずです:
+
+ make <keyboard>:<layout>
+
+### レイアウトの競合
+キーボードが複数のレイアウトオプションをサポートし、
+
+ LAYOUTS = ortho_4x4 ortho_4x12
+
+なおかつ両方のオプションについてレイアウトが存在する場合、
+```
+layouts/
++ community/
+| + ortho_4x4/
+| | + <layout>/
+| | | + ...
+| + ortho_4x12/
+| | + <layout>/
+| | | + ...
+| + ...
+```
+
+FORCE_LAYOUT 引数はどのレイアウトをビルドするかを指定するために使うことができます
+
+ make <keyboard>:<layout> FORCE_LAYOUT=ortho_4x4
+ make <keyboard>:<layout> FORCE_LAYOUT=ortho_4x12
+
+## キーボードに依存しないレイアウトを作成するためのヒント
+
+### インクルード
+
+`#include "planck.h"` を使う代わりに、以下の行を使ってコンパイルされる `<keyboard>.h` (`<folder>.h` はここでインクルードすべきではありません)ファイルをインクルードすることができます:
+
+ #include QMK_KEYBOARD_H
+
+キーボード固有のコードを保持したい場合は、これらの変数を使って `#ifdef` 文でエスケープすることができます:
+
+* `KEYBOARD_<folder1>_<folder2>`
+
+例えば:
+
+```c
+#ifdef KEYBOARD_planck
+ #ifdef KEYBOARD_planck_rev4
+ planck_rev4_function();
+ #endif
+#endif
+```
+
+名前は小文字でキーボード/リビジョンのフォルダ/ファイル名と正確に一致することに注意してください。
+
+### キーマップ
+
+同じレイアウトで分割および非分割キーボードをサポートするためには、キーマップでキーボード非依存の `LAYOUT_<layout name>` マクロを使う必要があります。例えば、Let's Split および Planck が同じレイアウトを共有するには、`LAYOUT_planck_grid` や C 配列の場合の単なる `{}` の代わりに、`LAYOUT_ortho_4x12` を使う必要があります。
diff --git a/docs/ja/feature_leader_key.md b/docs/ja/feature_leader_key.md
new file mode 100644
index 0000000000..538358a6b2
--- /dev/null
+++ b/docs/ja/feature_leader_key.md
@@ -0,0 +1,151 @@
+# リーダーキー: 新しい種類のモディファイア
+
+<!---
+ original document: 0.8.134:docs/feature_leader_key.md
+ git diff 0.8.134 HEAD -- docs/feature_leader_key.md | cat
+-->
+
+もしあなたが Vim を使ったことがある場合、リーダーキーは何であるかを知っています。そうでなければ、素晴らしい概念を発見しようとしています。:) 例えば、Alt+Shift+W を押す(3つのキーを同時に押す)代わりに、キーの_シーケンス_を押すことができたらどうでしょう?つまり、特別なモディファイア (リーダーキー)を押して、続けて W と C を押すと (単純にキーを高速に繋げます)、何かが起こります。
+
+それが `KC_LEAD` の機能です。以下は例です:
+
+1. リーダーキーとして使いたいキーボードのキーを選択します。それにキーコード `KC_LEAD` を割り当てます。このキーはこのためだけの専用です -- 単一アクションのキーで、他の用途には使うことができません。
+2. `config.h` に `#define LEADER_TIMEOUT 300` という行を追加します。これによって `KC_LEAD` キーのタイムアウトを設定します。具体的には、`KC_LEAD` キーを押してからリーダーキーのシーケンスを完了するまで一定の時間しかありません。ここでの `300` はそれを300msに設定します。この値を増やして、シーケンスを入力する時間を増やすことができます。ただし、この時間中に押されたキーは全て途中で遮られ、送信されません。そのためこの値は小さくしておいたほうが良いかもしれません。
+ * デフォルトでは、このタイムアウトは、`KC_LEAD` を押してからシーケンス全体が完了するまでに掛かる時間です。これは一部の人にとっては非常に短いかもしれません。そのため、このタイムアウトを増やしたほうが良い場合もあります。必要に応じて、`LEADER_PER_KEY_TIMING` オプションを有効にしたほうが良い場合もあります。これは各キーがタップされる度にタイムアウトまでの時間をリセットする機能です。これにより、タイムアウト時間を短くしつつも、比較的長いシーケンスを使うことができます。このオプションを有効にするには、`config.h` に `#define LEADER_PER_KEY_TIMING` を追加します。
+3. `matrix_scan_user` 関数の中で、以下のようなものを追加します:
+
+```c
+LEADER_EXTERNS();
+
+void matrix_scan_user(void) {
+ LEADER_DICTIONARY() {
+ leading = false;
+ leader_end();
+
+ SEQ_ONE_KEY(KC_F) {
+ // マクロ内でできること
+ SEND_STRING("QMK is awesome.");
+ }
+ SEQ_TWO_KEYS(KC_D, KC_D) {
+ SEND_STRING(SS_LCTL("a") SS_LCTL("c"));
+ }
+ SEQ_THREE_KEYS(KC_D, KC_D, KC_S) {
+ SEND_STRING("https://start.duckduckgo.com\n");
+ }
+ SEQ_TWO_KEYS(KC_A, KC_S) {
+ register_code(KC_LGUI);
+ register_code(KC_S);
+ unregister_code(KC_S);
+ unregister_code(KC_LGUI);
+ }
+ }
+}
+```
+
+ご覧のとおり、幾つかの関数があります。`SEQ_ONE_KEY` を単一キーシーケンス (リーダーの後に1つのキーのみ)に使い、より長いシーケンスについては `SEQ_TWO_KEYS`、`SEQ_THREE_KEYS` から `SEQ_FIVE_KEYS` を使うことができます。
+
+これらはそれぞれ1つ以上のキーコードを引数として受け付けます。これは重要な点です: **キーボードの任意のレイヤー**のキーコードを使うことができます。当たり前ですが、リーダーマクロが発動するにはそのレイヤーがアクティブである必要があります
+
+## `rules.mk` にリーダーキーサポートを追加
+
+リーダーキーのサポートを追加するには、単純にキーマップの `rules.mk` に1行を追加します:
+
+```make
+LEADER_ENABLE = yes
+```
+
+## リーダーキーのキーごとのタイミング
+
+長いリーダーキー文字列のためや 200wpm のタイピングスキルが無い場合に、非常に長いタイムアウト時間に頼るのではなく、キーを押すごとに入力を完了するまでの時間を増やす機能を使用することができます。これは、リーダーキーを使ってタップダンスを再現する場合に非常に役立ちます (C, C, C のような同じキーを複数回タップする場合)。
+
+これを有効にするには、以下を `config.h` に配置します:
+```c
+#define LEADER_PER_KEY_TIMING
+```
+
+この後、`LEADER_TIMEOUT` を 300ms 未満に下げることをお勧めします。
+
+```c
+#define LEADER_TIMEOUT 250
+```
+
+これで、リーダーキーのタイムアウト時間を 1000ms に設定することなく以下のようなことが可能になると思われます。
+
+```c
+SEQ_THREE_KEYS(KC_C, KC_C, KC_C) {
+ SEND_STRING("Per key timing is great!!!");
+}
+```
+
+## 厳密なキー処理
+
+デフォルトでは、リーダーキー機能は、リーダーシーケンスの確認時に [`モッドタップ`](ja/mod_tap.md) および [`レイヤータップ`](ja/feature_layers.md#switching-and-toggling-layers) 機能からのキーコードをフィルターします。つまり、`LT(3, KC_A)` を使っている場合、`LT(3, KC_A)` ではなくシーケンスの `KC_A` として取り出され、新しいユーザにとってより期待される動作を提供します。
+
+ほとんどの場合これで問題ありませんが、シーケンスでキーコード全体(例えば、上の例での `LT(3, KC_A)`) を指定したい場合は、`config.h` ファイルに `#define LEADER_KEY_STRICT_KEY_PROCESSING` を追加することこのような機能を有効にすることができます。これでフィルタリングが無効になり、キーコード全体を指定する必要があります。
+
+## カスタマイズ
+
+リーダーキー機能には、リーダーキー機能の動作にいくらかのカスタマイズを追加する方法があります。リーダーキー機能のプロセスの特定の部分で呼び出すことができる2つの関数、`leader_start()` と `leader_end()` です。
+
+`KC_LEAD` キーがタップされた時に `leader_start()` 関数が呼ばれ、リーダーシーケンスが完了するか、リーダータイムアウトの時間に達した時に `leader_end()` 関数が呼ばれます。
+
+リーダーシーケンスにフィードバック(ビープまたは音楽を再生するなど)を追加するために、これらの関数をコード (通常 は`keymap.c`)に追加することができます。
+
+```c
+void leader_start(void) {
+ // シーケンスの開始
+}
+
+void leader_end(void) {
+ // シーケンスの終了 (成功しない/失敗を検知)
+}
+```
+
+### 例
+
+この例では、リーダーシーケンスを開始するために `KC_LEAD` を押すとマリオの "One Up" 音が再生され、正常に完了した場合は "All Star" が再生され、失敗した場合は "Rick Roll" を再生されます。
+
+```c
+bool did_leader_succeed;
+#ifdef AUDIO_ENABLE
+float leader_start[][2] = SONG(ONE_UP_SOUND );
+float leader_succeed[][2] = SONG(ALL_STAR);
+float leader_fail[][2] = SONG(RICK_ROLL);
+#endif
+LEADER_EXTERNS();
+
+void matrix_scan_user(void) {
+ LEADER_DICTIONARY() {
+ did_leader_succeed = leading = false;
+
+ SEQ_ONE_KEY(KC_E) {
+ // マクロ内でできること
+ SEND_STRING(SS_LCTL(SS_LSFT("t")));
+ did_leader_succeed = true;
+ } else
+ SEQ_TWO_KEYS(KC_E, KC_D) {
+ SEND_STRING(SS_LGUI("r") "cmd\n" SS_LCTL("c"));
+ did_leader_succeed = true;
+ }
+ leader_end();
+ }
+}
+
+void leader_start(void) {
+#ifdef AUDIO_ENABLE
+ PLAY_SONG(leader_start);
+#endif
+}
+
+void leader_end(void) {
+ if (did_leader_succeed) {
+#ifdef AUDIO_ENABLE
+ PLAY_SONG(leader_succeed);
+#endif
+ } else {
+#ifdef AUDIO_ENABLE
+ PLAY_SONG(leader_fail);
+#endif
+ }
+}
+```
diff --git a/docs/ja/feature_led_matrix.md b/docs/ja/feature_led_matrix.md
new file mode 100644
index 0000000000..b2595f9989
--- /dev/null
+++ b/docs/ja/feature_led_matrix.md
@@ -0,0 +1,95 @@
+# LED マトリックスライト
+
+<!---
+ original document: 0.8.141:docs/feature_led_matrix.md
+ git diff 0.8.141 HEAD -- docs/feature_led_matrix.md | cat
+-->
+
+この機能により、外部ドライバによって駆動される LED マトリックスを使うことができます。この機能は、バックライト制御と同じキーコードを使えるようにするため、バックライトシステムに接続します。
+
+RGB LED を使いたい場合は、代わりに [RGB マトリックスサブシステム](ja/feature_rgb_matrix.md) を使うべきです。
+
+## ドライバ設定
+
+### IS31FL3731
+
+I2C IS31FL3731 RGB コントローラを使ったアドレス指定可能な LED マトリックスライトのための基本的なサポートがあります:有効にするには、`rules.mk` に以下を追加します:
+
+ LED_MATRIX_ENABLE = IS31FL3731
+
+1から4個の IS31FL3731 IC を使うことができます。キーボード上に存在しない IC の `LED_DRIVER_ADDR_<N>` 定義を指定しないでください。`config.h` に以下の項目を定義することができます:
+
+| 変数 | 説明 | デフォルト |
+|----------|-------------|---------|
+| `ISSI_TIMEOUT` | (オプション) i2c メッセージを待つ時間 | 100 |
+| `ISSI_PERSISTENCE` | (オプション) 失敗したメッセージをこの回数再試行する | 0 |
+| `LED_DRIVER_COUNT` | (必須) LED ドライバ IC の数 | |
+| `LED_DRIVER_LED_COUNT` | (必須) 全てのドライバの LED ライトの数 | |
+| `LED_DRIVER_ADDR_1` | (必須) 最初の LED ドライバのアドレス | |
+| `LED_DRIVER_ADDR_2` | (オプション) 2番目の LED ドライバのアドレス | |
+| `LED_DRIVER_ADDR_3` | (オプション) 3番目の LED ドライバのアドレス | |
+| `LED_DRIVER_ADDR_4` | (オプション) 4番目の LED ドライバのアドレス | |
+
+2つのドライバを使う例です。
+
+ // これは7ビットのアドレスで、左シフトされます
+ // ビット0に0を設定すると書き込み、1を設定すると読み込みです (I2C プロトコルに従う)
+ // アドレスは配線によって変わります:
+ // 0b1110100 AD <-> GND
+ // 0b1110111 AD <-> VCC
+ // 0b1110101 AD <-> SCL
+ // 0b1110110 AD <-> SDA
+ #define LED_DRIVER_ADDR_1 0b1110100
+ #define LED_DRIVER_ADDR_2 0b1110110
+
+ #define LED_DRIVER_COUNT 2
+ #define LED_DRIVER_1_LED_COUNT 25
+ #define LED_DRIVER_2_LED_COUNT 24
+ #define LED_DRIVER_LED_COUNT LED_DRIVER_1_LED_TOTAL + LED_DRIVER_2_LED_TOTAL
+
+現在、2つのドライバのみがサポートされますが、4つの組み合わせ全てをサポートすることは簡単です。
+
+`<keyboard>.c` に全ての LED を列挙する配列を定義します:
+
+ const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
+ /* これらの位置については IS31 マニュアルを参照してください
+ * driver
+ * | LED address
+ * | | */
+ {0, C3_3},
+ ....
+ }
+
+ここで、`Cx_y` は[データシート](http://www.issi.com/WW/pdf/31FL3731.pdf)およびヘッダファイル `drivers/issi/is31fl3731-simple.h` で定義されるマトリックス内の LED の位置です。`driver` は `config.h` で定義したドライバのインデックス(`0`、`1`、`2`、`3`のいずれか)です。
+
+## キーコード
+
+現在のところ、全ての LED マトリックスのキーコードは[バックライトシステム](ja/feature_backlight.md)と共有されます。
+
+## LED マトリックス効果
+
+現在のところ、LED マトリックス効果は作成されていません。
+
+## カスタムレイヤー効果
+
+カスタムレイヤー効果は `<keyboard>.c` 内で以下を定義することで行うことができます:
+
+ void led_matrix_indicators_kb(void) {
+ led_matrix_set_index_value(index, value);
+ }
+
+同様の関数がキーマップ内で `led_matrix_indicators_user` として動作します。
+
+## サスペンド状態
+
+サスペンド機能を使うには、以下を `<keyboard>.c` に追加します:
+
+ void suspend_power_down_kb(void)
+ {
+ led_matrix_set_suspend_state(true);
+ }
+
+ void suspend_wakeup_init_kb(void)
+ {
+ led_matrix_set_suspend_state(false);
+ }
diff --git a/docs/ja/feature_mouse_keys.md b/docs/ja/feature_mouse_keys.md
new file mode 100644
index 0000000000..43ca8bb08b
--- /dev/null
+++ b/docs/ja/feature_mouse_keys.md
@@ -0,0 +1,127 @@
+# マウスキー
+
+<!---
+ original document: 0.8.141:docs/feature_mouse_keys.md
+ git diff 0.8.141 HEAD -- docs/feature_mouse_keys.md | cat
+-->
+
+マウスキーは、キーボードを使ってマウスをエミュレートできる機能です。様々な速度でポインタを移動し、5つのボタンを押し、8方向にスクロールすることができます。
+
+## キーボードにマウスキーを追加
+
+マウスキーを使うためには、少なくともマウスキーサポートを有効にし、マウスアクションをキーボードのキーにマップする必要があります。
+
+### マウスキーを有効にする
+
+マウスキーを有効にするには、キーマップの `rules.mk` に以下の行を追加します:
+
+```c
+MOUSEKEY_ENABLE = yes
+```
+
+### マウスアクションのマッピング
+
+キーマップでキー押下をマウスアクションにマップするために、以下のキーコードを使うことができます:
+
+| キー | エイリアス | 説明 |
+|----------------|---------|-----------------|
+| `KC_MS_UP` | `KC_MS_U` | カーソルを上に移動 |
+| `KC_MS_DOWN` | `KC_MS_D` | カーソルを下に移動 |
+| `KC_MS_LEFT` | `KC_MS_L` | カーソルを左に移動 |
+| `KC_MS_RIGHT` | `KC_MS_R` | カーソルを右に移動 |
+| `KC_MS_BTN1` | `KC_BTN1` | ボタン1を押す |
+| `KC_MS_BTN2` | `KC_BTN2` | ボタン2を押す |
+| `KC_MS_BTN3` | `KC_BTN3` | ボタン3を押す |
+| `KC_MS_BTN4` | `KC_BTN4` | ボタン4を押す |
+| `KC_MS_BTN5` | `KC_BTN5` | ボタン5を押す |
+| `KC_MS_WH_UP` | `KC_WH_U` | ホイールを向こう側に回転 |
+| `KC_MS_WH_DOWN` | `KC_WH_D` | ホイールを手前側に回転 |
+| `KC_MS_WH_LEFT` | `KC_WH_L` | ホイールを左に倒す |
+| `KC_MS_WH_RIGHT` | `KC_WH_R` | ホイールを右に倒す |
+| `KC_MS_ACCEL0` | `KC_ACL0` | 速度を0に設定 |
+| `KC_MS_ACCEL1` | `KC_ACL1` | 速度を1に設定 |
+| `KC_MS_ACCEL2` | `KC_ACL2` | 速度を2に設定 |
+
+## マウスキーの設定
+
+マウスキーはカーソルを移動するための2つの異なるモードをサポートします:
+
+* **加速 (デフォルト):** 移動キーを押したままにすると、カーソルが最大速度に達するまでカーソルを加速します。
+* **定速:** 移動キーを押したままにすると、カーソルを一定の速度で移動します。
+
+同じ原則がスクロールにも適用されます。
+
+時間、間隔、遅延の設定オプションは、ミリ秒で指定されます。スクロール速度はデフォルトスクロールステップの倍数として渡されます。例えば、スクロール速度8は、各スクロールアクションがオペレーティングシステムまたはアプリケーションで定義されるデフォルトのスクロールステップの8倍の距離進むことを意味します。
+
+### 加速モード
+
+これはデフォルトのモードです。キーマップの `config.h` ファイルの以下の設定を使ってカーソルとスクロールの加速を調整することができます:
+
+| 定義 | デフォルト | 説明 |
+|----------------------------|-------|---------------------------------------------------------|
+| `MOUSEKEY_DELAY` | 300 | 移動キーを押してからカーソルが移動するまでの遅延 |
+| `MOUSEKEY_INTERVAL` | 50 | カーソル移動間の時間 |
+| `MOUSEKEY_MAX_SPEED` | 10 | 加速が停止する最大のカーソル速度 |
+| `MOUSEKEY_TIME_TO_MAX` | 20 | 最大カーソル速度に達するまでの時間 |
+| `MOUSEKEY_WHEEL_DELAY` | 300 | ホイールキーを押してからホイールが動くまでの遅延 |
+| `MOUSEKEY_WHEEL_INTERVAL` | 100 | ホイールの動きの間の時間 |
+| `MOUSEKEY_WHEEL_MAX_SPEED` | 8 | スクロールアクションごとのスクロールステップの最大数 |
+| `MOUSEKEY_WHEEL_TIME_TO_MAX` | 40 | 最大スクロール速度に達するまでの時間 |
+
+ヒント:
+
+* `MOUSEKEY_DELAY` の設定が低すぎるとカーソルが応答しなくなります。設定が高すぎると小さな動きが難しくなります。
+* カーソルの動きをスムーズにするには、`MOUSEKEY_INTERVAL` の値を低くします。ディスプレイのリフレッシュレートが60Hzの場合、`16` (1/60) に設定することができます。これによりカーソルの速度が大幅に向上するため、`MOUSEKEY_MAX_SPEED` を下げた方が良いかもしれません。
+* `MOUSEKEY_TIME_TO_MAX` または `MOUSEKEY_WHEEL_TIME_TO_MAX` を `0` に設定すると、それぞれカーソルの速度またはスクロールの加速が無効になります。この方法では、一方を加速しながら他方を一定にすることができますが、これは定速モードでは不可能です。
+* `MOUSEKEY_WHEEL_INTERVAL` の設定が低すぎるとスクロールがとても速くなります。設定が高すぎるとホイールキーを押したままにした時にスクロールがとても遅くなります
+
+カーソルの加速は、X Window System MouseKeysAccel 機能と同じアルゴリズムを使います。詳細については [Wikipedia](https://en.wikipedia.org/wiki/Mouse_keys) をご覧ください。
+
+### 定速モード
+
+このモードでは、カーソルおよびマウスホイールの両方について複数の異なる速度を定義することができます。加速はありません。`KC_ACL0`、`KC_ACL1` および `KC_ACL2` は、カーソルとスクロールの速度をそれぞれの設定に変更します。
+
+速度の選択は、一時的とタップ選択のどちらかを選べます:
+
+* **一時的:** 選択された速度は、それぞれのキーを押している間のみアクティブになります。キーを放すと、マウスキーは変更される前の速度に戻ります。
+* **タップ選択:** それぞれのキーを押すと選択された速度がアクティブになり、キーを放した後もアクティブのままになります。デフォルトの速度は `KC_ACL1` です。未変更の速度はありません。
+
+最も遅い速度から最も速い速度までのデフォルトの速度は以下の通りです:
+
+* **一時的:** `KC_ACL0` < `KC_ACL1` < *変更無し* < `KC_ACL2`
+* **タップ選択:** `KC_ACL0` < `KC_ACL1` < `KC_ACL2`
+
+定速モードを使うには、少なくともキーマップの keymaps ディレクトリの `config.h` ファイルに `MK_3_SPEED` を定義する必要があります。
+
+```c
+#define MK_3_SPEED
+```
+
+一時的モードを有効にするには、`MK_MOMENTARY_ACCEL` も定義します:
+
+```c
+#define MK_MOMENTARY_ACCEL
+```
+
+カーソル移動あるいはスクロールを調整する場合は、以下の設定を使います:
+
+| 定義 | デフォルト | 説明 |
+|---------------------|-------------|-------------------------------------------|
+| `MK_3_SPEED` | *定義なし* | 定速カーソルを有効にする |
+| `MK_MOMENTARY_ACCEL` | *定義なし* | 一時的モードを有効にする |
+| `MK_C_OFFSET_UNMOD` | 16 | 移動ごとのカーソルオフセット (変更無し) |
+| `MK_C_INTERVAL_UNMOD` | 16 | カーソルの移動間の時間 (変更無し) |
+| `MK_C_OFFSET_0` | 1 | 移動ごとのカーソルオフセット (`KC_ACL0`) |
+| `MK_C_INTERVAL_0` | 32 | カーソル移動間の時間 (`KC_ACL0`) |
+| `MK_C_OFFSET_1` | 4 | 移動ごとのカーソルオフセット (`KC_ACL1`) |
+| `MK_C_INTERVAL_1` | 16 | カーソル移動間の時間 (`KC_ACL1`) |
+| `MK_C_OFFSET_2` | 32 | 移動ごとのカーソルオフセット (`KC_ACL2`) |
+| `MK_C_INTERVAL_2` | 16 | カーソル移動間の時間 (`KC_ACL2`) |
+| `MK_W_OFFSET_UNMOD` | 1 | スクロールアクションごとのスクロールステップ (変更無し) |
+| `MK_W_INTERVAL_UNMOD` | 40 | スクロールステップ間の時間 (変更無し) |
+| `MK_W_OFFSET_0` | 1 | スクロールアクションごとのスクロールステップ (`KC_ACL0`) |
+| `MK_W_INTERVAL_0` | 360 | スクロールステップ間の時間 (`KC_ACL0`) |
+| `MK_W_OFFSET_1` | 1 | スクロールアクションごとのスクロールステップ (`KC_ACL1`) |
+| `MK_W_INTERVAL_1` | 120 | スクロールステップ間の時間 (`KC_ACL1`) |
+| `MK_W_OFFSET_2` | 1 | スクロールアクションごとのスクロールステップ (`KC_ACL2`) |
+| `MK_W_INTERVAL_2` | 20 | スクロールステップ間の時間 (`KC_ACL2`) |
diff --git a/docs/ja/feature_pointing_device.md b/docs/ja/feature_pointing_device.md
new file mode 100644
index 0000000000..8b26ac102f
--- /dev/null
+++ b/docs/ja/feature_pointing_device.md
@@ -0,0 +1,49 @@
+# ポインティングデバイス :id=pointing-device
+
+<!---
+ original document: 0.8.182:docs/feature_pointing_device.md
+ git diff 0.8.182 HEAD -- docs/feature_pointing_device.md | cat
+-->
+
+ポインティングデバイスは汎用的な機能の総称です: システムポインタを移動します。マウスキーのような他のオプションも確かにありますが、これは簡単に変更可能で軽量であることを目指しています。機能を制御するためにカスタムキーを実装したり、他の周辺機器から情報を収集してここに直接挿入したりできます - QMK に処理を任せてください。
+
+ポインティングデバイスを有効にするには、rules.mk の以下の行のコメントを解除します:
+
+```makefile
+POINTING_DEVICE_ENABLE = yes
+```
+
+マウスレポートを操作するために、以下の関数を使うことができます:
+
+* `pointing_device_get_report()` - ホストコンピュータに送信された情報を表す現在の report_mouse_t を返します。
+* `pointing_device_set_report(report_mouse_t newMouseReport)` - ホストコンピュータに送信される report_mouse_t を上書き保存します。
+
+report_mouse_t (ここでは "mouseReport") が以下のプロパティを持つことを覚えておいてください:
+
+* `mouseReport.x` - これは、x軸の動き(+ 右へ、- 左へ)を表す -127 から 127 (128ではなく、USB HID 仕様で定義されています)の符号付き整数です。
+* `mouseReport.y` - これは、y軸の動き(+ 上へ、- 下へ)を表す -127 から 127 (128ではなく、USB HID 仕様で定義されています)の符号付き整数です。
+* `mouseReport.v` - これは、垂直スクロール(+ 上へ、- 下へ)を表す -127 から 127 (128ではなく、USB HID 仕様で定義されています)の符号付き整数です。
+* `mouseReport.h` - これは、水平スクロール(+ 右へ、- 左へ)を表す -127 から 127 (128ではなく、USB HID 仕様で定義されています)の符号付き整数です。
+* `mouseReport.buttons` - これは uint8_t で、上位の5ビットを使っています。これらのビットはマウスボタンの状態を表します - ビット 3 はマウスボタン 5、ビット 7 はマウスボタン 1 です。
+
+マウスレポートが送信されると、x、y、v、h のいずれの値も 0 に設定されます (これは "pointing_device_send()" で行われます。この挙動を回避するためにオーバーライドすることができます)。このように、ボタンの状態は持続しますが、動きは1度だけ起こります。さらにカスタマイズするために、`pointing_device_init` と `pointing_device_task` のどちらもオーバーライドすることができます。
+
+以下の例では、カスタムキーを使ってマウスをクリックし垂直および水平方向に127単位スクロールし、リリースされた時にそれを全て元に戻します - なぜならこれは完全に便利な機能だからです。いいですか、以下はひとつの例です:
+
+```c
+case MS_SPECIAL:
+ report_mouse_t currentReport = pointing_device_get_report();
+ if (record->event.pressed) {
+ currentReport.v = 127;
+ currentReport.h = 127;
+ currentReport.buttons |= MOUSE_BTN1; // this is defined in report.h
+ } else {
+ currentReport.v = -127;
+ currentReport.h = -127;
+ currentReport.buttons &= ~MOUSE_BTN1;
+ }
+ pointing_device_set_report(currentReport);
+ break;
+```
+
+マウスレポートは送信されるたびに 0 (ボタンを除く)に設定されることを思い出してください。そのため、スクロールはそれぞれの場合に1度だけ発生します。
diff --git a/docs/ja/feature_thermal_printer.md b/docs/ja/feature_thermal_printer.md
new file mode 100644
index 0000000000..508123bd64
--- /dev/null
+++ b/docs/ja/feature_thermal_printer.md
@@ -0,0 +1,15 @@
+# 感熱式プリンタ
+
+<!---
+ original document: 0.8.147:docs/feature_thermal_printer.md
+ git diff 0.8.147 HEAD -- docs/feature_thermal_printer.md | cat
+-->
+
+<!-- FIXME: Describe thermal printers support here. -->
+
+## 感熱式プリンタのキーコード
+
+| キー | 説明 |
+|-----------|----------------------------------------|
+| `PRINT_ON` | ユーザが入力した全ての印刷を開始 |
+| `PRINT_OFF` | ユーザが入力した全ての印刷を停止 |
diff --git a/docs/ja/feature_velocikey.md b/docs/ja/feature_velocikey.md
new file mode 100644
index 0000000000..f9b6e73bd4
--- /dev/null
+++ b/docs/ja/feature_velocikey.md
@@ -0,0 +1,35 @@
+# Velocikey
+
+<!---
+ original document: 0.8.147:docs/feature_velocikey.md
+ git diff 0.8.147 HEAD -- docs/feature_velocikey.md | cat
+-->
+
+Velocikey は入力の速度を使って(レインボー渦巻効果のような)ライト効果の速度を制御できる機能です。速く入力すればするほどライトが速くなります!
+
+## 使用法
+Velocikey を使うためには、2つのステップがあります。最初に、キーボードをコンパイルする時に、`rules.mk` に `VELOCIKEY_ENABLE=yes` を設定する必要があります。例えば:
+
+```
+BOOTMAGIC_ENABLE = no
+MOUSEKEY_ENABLE = no
+STENO_ENABLE = no
+EXTRAKEY_ENABLE = yes
+VELOCIKEY_ENABLE = yes
+```
+
+次に、キーボードの使用中に、VLK_TOG キーコードを使って Velocikey を有効にする必要もあります。これは機能をオンおよびオフにします。
+
+以下の全てのライト効果が、Velocikey を有効にすることで制御されます:
+- RGB 明滅動作
+- RGB レインボームード
+- RGB レインボー渦巻
+- RGB スネーク
+- RGB ナイト
+
+LED 明滅動作の効果のサポートは計画されていますがまだ利用できません。
+
+Velocikey が有効になっている限り、現在オンになっている RGB ライトの他の全ての速度設定に関係なく、速度が制御されます。
+
+## 設定
+Velocikey は現在のところキーボード設定を介したどのような設定もサポートしません。速度の増加あるいは減少率などを調整したい場合は、`velocikey.c` を編集し、そこで値を調整して、好みの速度を実現する必要があります。
diff --git a/docs/ja/getting_started_github.md b/docs/ja/getting_started_github.md
index 5457c1e06e..24a217c745 100644
--- a/docs/ja/getting_started_github.md
+++ b/docs/ja/getting_started_github.md
@@ -1,15 +1,15 @@
-# QMK で Github を使う方法
+# QMK で GitHub を使う方法
<!---
original document: 0.8.82:docs/getting_started_github.md
git diff 0.8.82 HEAD -- docs/getting_started_github.md | cat
-->
-Github は慣れていない人には少し注意が必要です - このガイドは、QMK におけるフォーク、クローン、プルリクエストのサブミットの各ステップについて説明します。
+GitHub は慣れていない人には少し注意が必要です - このガイドは、QMK におけるフォーク、クローン、プルリクエストのサブミットの各ステップについて説明します。
?> このガイドでは、あなた