aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorshela <shelaf@users.noreply.github.com>2021-06-24 21:54:54 +0900
committerGitHub <noreply@github.com>2021-06-24 21:54:54 +0900
commita53128e9580ff436ff9dfcef041b20363eba7839 (patch)
treedb80b0bb62a0902444c4b0ba909322117f75cf00
parenta726ada59b63e45d7d01d8e61b0515ac714f7325 (diff)
downloadqmk_firmware-a53128e9580ff436ff9dfcef041b20363eba7839.tar.gz
qmk_firmware-a53128e9580ff436ff9dfcef041b20363eba7839.zip
[Docs] Update Japanese faq documents (#12842)
* Update Japanese faq documents. * Update Japanese summary. * Update docs/ja/faq_debug.md Co-authored-by: s-show <s1shimz@gmail.com> * Update docs/ja/faq_misc.md Co-authored-by: s-show <s1shimz@gmail.com> * Apply suggestions from code review Co-authored-by: s-show <s1shimz@gmail.com>
-rw-r--r--docs/ja/_summary.md21
-rw-r--r--docs/ja/faq_debug.md181
-rw-r--r--docs/ja/faq_misc.md107
-rw-r--r--docs/ja/newbs_testing_debugging.md99
4 files changed, 209 insertions, 199 deletions
diff --git a/docs/ja/_summary.md b/docs/ja/_summary.md
index 55a239f5b..b90480041 100644
--- a/docs/ja/_summary.md
+++ b/docs/ja/_summary.md
@@ -3,7 +3,6 @@
3 * [セットアップ](ja/newbs_getting_started.md) 3 * [セットアップ](ja/newbs_getting_started.md)
4 * [初めてのファームウェアの構築](ja/newbs_building_firmware.md) 4 * [初めてのファームウェアの構築](ja/newbs_building_firmware.md)
5 * [ファームウェアのフラッシュ](ja/newbs_flashing.md) 5 * [ファームウェアのフラッシュ](ja/newbs_flashing.md)
6 * [テストとデバッグ](ja/newbs_testing_debugging.md)
7 * [手助けを得る/サポート](ja/support.md) 6 * [手助けを得る/サポート](ja/support.md)
8 * [他のリソース](ja/newbs_learn_more_resources.md) 7 * [他のリソース](ja/newbs_learn_more_resources.md)
9 * [シラバス](ja/syllabus.md) 8 * [シラバス](ja/syllabus.md)
@@ -11,7 +10,8 @@
11* FAQ 10* FAQ
12 * [一般的な FAQ](ja/faq_general.md) 11 * [一般的な FAQ](ja/faq_general.md)
13 * [QMK のビルド/コンパイル](ja/faq_build.md) 12 * [QMK のビルド/コンパイル](ja/faq_build.md)
14 * [QMK のデバッグ/トラブルシューティング](ja/faq_debug.md) 13 * [QMK のデバッグ](ja/faq_debug.md)
14 * [QMK のトラブルシューティング](ja/faq_misc.md)
15 * [キーマップ FAQ](ja/faq_keymap.md) 15 * [キーマップ FAQ](ja/faq_keymap.md)
16 * [用語](ja/reference_glossary.md) 16 * [用語](ja/reference_glossary.md)
17 17
@@ -23,11 +23,13 @@
23 * [概要](ja/api_overview.md) 23 * [概要](ja/api_overview.md)
24 * [API ドキュメント](ja/api_docs.md) 24 * [API ドキュメント](ja/api_docs.md)
25 * [キーボードサポート](ja/reference_configurator_support.md) 25 * [キーボードサポート](ja/reference_configurator_support.md)
26 * [デフォルトキーマップの追加](ja/configurator_default_keymaps.md)
26 27
27* CLI 28* CLI
28 * [概要](ja/cli.md) 29 * [概要](ja/cli.md)
29 * [設定](ja/cli_configuration.md) 30 * [設定](ja/cli_configuration.md)
30 * [コマンド](ja/cli_commands.md) 31 * [コマンド](ja/cli_commands.md)
32 * [Tab 補完](ja/cli_tab_complete.md)
31 33
32* QMK を使う 34* QMK を使う
33 * ガイド 35 * ガイド
@@ -41,8 +43,8 @@
41 * [書き込み](ja/flashing.md) 43 * [書き込み](ja/flashing.md)
42 * [ATmega32A の書き込み (ps2avrgb)](ja/flashing_bootloadhid.md) 44 * [ATmega32A の書き込み (ps2avrgb)](ja/flashing_bootloadhid.md)
43 * IDE 45 * IDE
44 * [Eclipse QMK を使用](ja/other_eclipse.md) 46 * [QMK での Eclipse 使用](ja/other_eclipse.md)
45 * [VSCode QMK を使用](ja/other_vscode.md) 47 * [QMK での VSCode 使用](ja/other_vscode.md)
46 * Git のベストプラクティス 48 * Git のベストプラクティス
47 * [入門](ja/newbs_git_best_practices.md) 49 * [入門](ja/newbs_git_best_practices.md)
48 * [フォーク](ja/newbs_git_using_your_master_branch.md) 50 * [フォーク](ja/newbs_git_using_your_master_branch.md)
@@ -79,6 +81,7 @@
79 * [ワンショットキー](ja/one_shot_keys.md) 81 * [ワンショットキー](ja/one_shot_keys.md)
80 * [ポインティング デバイス](ja/feature_pointing_device.md) 82 * [ポインティング デバイス](ja/feature_pointing_device.md)
81 * [ロー HID](ja/feature_rawhid.md) 83 * [ロー HID](ja/feature_rawhid.md)
84 * [シーケンサー](ja/feature_sequencer.md)
82 * [スワップハンド](ja/feature_swap_hands.md) 85 * [スワップハンド](ja/feature_swap_hands.md)
83 * [タップダンス](ja/feature_tap_dance.md) 86 * [タップダンス](ja/feature_tap_dance.md)
84 * [タップホールド設定](ja/tap_hold.md) 87 * [タップホールド設定](ja/tap_hold.md)
@@ -103,6 +106,7 @@
103 * [DIP スイッチ](ja/feature_dip_switch.md) 106 * [DIP スイッチ](ja/feature_dip_switch.md)
104 * [エンコーダ](ja/feature_encoders.md) 107 * [エンコーダ](ja/feature_encoders.md)
105 * [触覚フィードバック](ja/feature_haptic_feedback.md) 108 * [触覚フィードバック](ja/feature_haptic_feedback.md)
109 * [ジョイスティック](ja/feature_joystick.md)
106 * [LED インジケータ](ja/feature_led_indicators.md) 110 * [LED インジケータ](ja/feature_led_indicators.md)
107 * [Proton C 変換](ja/proton_c_conversion.md) 111 * [Proton C 変換](ja/proton_c_conversion.md)
108 * [PS/2 マウス](ja/feature_ps2_mouse.md) 112 * [PS/2 マウス](ja/feature_ps2_mouse.md)
@@ -116,11 +120,8 @@
116 * 互換性を破る変更/Breaking changes 120 * 互換性を破る変更/Breaking changes
117 * [概要](ja/breaking_changes.md) 121 * [概要](ja/breaking_changes.md)
118 * [プルリクエストにフラグが付けられた](ja/breaking_changes_instructions.md) 122 * [プルリクエストにフラグが付けられた](ja/breaking_changes_instructions.md)
119 * 履歴 123 * [最近の変更履歴](ChangeLog/20210227.md "QMK v0.12.0 - 2021 Feb 27")
120 * [2020年8月29日](ja/ChangeLog/20200829.md) 124 * [過去の互換性を破る変更](ja/breaking_changes_history.md)
121 * [2020年5月30日](ja/ChangeLog/20200530.md)
122 * [2020年2月29日](ja/ChangeLog/20200229.md)
123 * [2019年8月30日](ja/ChangeLog/20190830.md)
124 125
125 * C 開発 126 * C 開発
126 * [ARM デバッグ ガイド](ja/arm_debugging.md) 127 * [ARM デバッグ ガイド](ja/arm_debugging.md)
@@ -129,11 +130,13 @@
129 * [互換性のあるマイクロコントローラ](ja/compatible_microcontrollers.md) 130 * [互換性のあるマイクロコントローラ](ja/compatible_microcontrollers.md)
130 * [ドライバ](ja/hardware_drivers.md) 131 * [ドライバ](ja/hardware_drivers.md)
131 * [ADC ドライバ](ja/adc_driver.md) 132 * [ADC ドライバ](ja/adc_driver.md)
133 * [オーディオドライバ](ja/audio_driver.md)
132 * [I2C ドライバ](ja/i2c_driver.md) 134 * [I2C ドライバ](ja/i2c_driver.md)
133 * [SPI ドライバ](ja/spi_driver.md) 135 * [SPI ドライバ](ja/spi_driver.md)
134 * [WS2812 ドライバ](ja/ws2812_driver.md) 136 * [WS2812 ドライバ](ja/ws2812_driver.md)
135 * [EEPROM ドライバ](ja/eeprom_driver.md) 137 * [EEPROM ドライバ](ja/eeprom_driver.md)
136 * [シリアル ドライバ](ja/serial_driver.md) 138 * [シリアル ドライバ](ja/serial_driver.md)
139 * [UART ドライバ](ja/uart_driver.md)
137 * [GPIO 制御](ja/internals_gpio_control.md) 140 * [GPIO 制御](ja/internals_gpio_control.md)
138 * [キーボード ガイドライン](ja/hardware_keyboard_guidelines.md) 141 * [キーボード ガイドライン](ja/hardware_keyboard_guidelines.md)
139 142
diff --git a/docs/ja/faq_debug.md b/docs/ja/faq_debug.md
index 95293fed2..236f43a6e 100644
--- a/docs/ja/faq_debug.md
+++ b/docs/ja/faq_debug.md
@@ -1,140 +1,131 @@
1# デバッグの FAQ 1# デバッグの FAQ
2 2
3<!--- 3<!---
4 original document: 0.10.33:docs/faq_debug.md 4 original document: 0.12.45:docs/faq_debug.md
5 git diff 0.10.33 HEAD -- docs/faq_debug.md | cat 5 git diff 0.12.45 HEAD -- docs/faq_debug.md | cat
6--> 6-->
7 7
8このページは、キーボードのトラブルシューティングについての様々な一般的な質問を説明します。 8このページは、キーボードのトラブルシューティングについての様々な一般的な質問を説明します。
9 9
10# デバッグコンソール 10## デバッグ :id=debugging
11 11
12## `hid_listen` がデバイスを認識できない 12`rules.mk` へ `CONSOLE_ENABLE = yes` の設定をするとキーボードはデバッグ情報を出力します。デフォルトの出力は非常に限られたものですが、デバッグモードをオンにすることでデバッグ情報の量を増やすことが出来ます。キーマップの `DEBUG` キーコードを使用するか、デバッグモードを有効にする[コマンド](ja/feature_command.md)機能を使用するか、以下のコードをキーマップに追加します。
13デバイスのデバッグコンソールの準備ができていない場合、以下のように表示されます:
14 13
15``` 14```c
16Waiting for device:......... 15void keyboard_post_init_user(void) {
16 // 希望する動作に合わせて値をカスタマイズします
17 debug_enable=true;
18 debug_matrix=true;
19 //debug_keyboard=true;
20 //debug_mouse=true;
21}
17``` 22```
18 23
19デバスが接続されると、*hid_listen* がを見つけ、以下のが表示されます: 24## デバッ
20 25
21``` 26キーボードのデバッグに使えるツールは2つあります。
22Waiting for new device:.........................
23Listening:
24```
25 27
26この 'Listening:' のメッセージが表示されない場合は、[Makefile] を `CONSOLE_ENABLE=yes` に設定してビルドしてみてください 28### QMK Toolbox を使ったデバッグ
27 29
28Linux のような OS でデバイスにアクセスするには、権限が必要かもしれません。 30互換性のある環境では、[QMK Toolbox](https://github.com/qmk/qmk_toolbox) を使うことでキーボードからのデバッグメッセージを表示できます。
29- `sudo hid_listen` を試してください
30 31
31## コンソールにメッセージが表示されない 32### hid_listen を使ったデバッグ
32以下を調べてください:
33- *hid_listen* がデバイスを検出する。上記を見てください。
34- **Magic**+d を使ってデバッグを有効にする。[マジックコマンド](https://github.com/tmk/tmk_keyboard#magic-commands)を見てください。
35- `debug_enable=true` を設定します。[テストとデバッグ](ja/newbs_testing_debugging.md#debugging)を見てください
36- デバッグ print の代わりに 'print' 関数を使ってみてください。**common/print.h** を見てください。
37- コンソール機能を持つ他のデバイスを切断します。[Issue #97](https://github.com/tmk/tmk_keyboard/issues/97) を見てください。
38 33
39*** 34ターミナルベースの方法がお好みですか?PJRC が提供する [hid_listen](https://www.pjrc.com/teensy/hid_listen.html) もデバッグメッセージの表示に使用できます。ビルド済みの実行ファイルは Windows、Linux、MacOS 用が用意されています。
40 35
41# 雑多なこと 36## 独自のデバッグメッセージを送信する
42## 安全性の考慮
43 37
44あなたはおそらくキーボードを「文鎮化」したくないでしょう。文鎮化するとファームウェアを書き換えられないようになります。リスクがあまりに高い(そしてそうでないかもしれない)ものの一部のリストを示します。 38[カスタムコード](ja/custom_quantum_functions.md)内からデバッグメッセージを出力すると便利な場合があります。それはとても簡単です。ファイルの先頭に `print.h` のインクルードを追加します:
45 39
46- キーボードマップに RESET が含まれない場合、DFU モードに入るには、PCB のリセットボタンを押す必要があります。底部のネジを外す必要があります。 40```c
47- tmk_core / common にあるファイルを触るとキーボードが操作不能になるかもしれません。 41#include "print.h"
48- .hex ファイルが大きすぎると問題を引き起こします; `make dfu` コマンドはブロックを削除し、
49サイズを検査し(おっと、間違った順序です!)、エラーを出力し、
50キーボードへの書き込みに失敗し、DFU モードのままになります。
51 - この目的のためには、Planck の最大の .hex ファイルサイズは 7000h (10進数で28672)であることに注意してください。
52
53```
54Linking: .build/planck_rev4_cbbrowne.elf [OK]
55Creating load file for Flash: .build/planck_rev4_cbbrowne.hex [OK]
56
57Size after:
58 text data bss dec hex filename
59 0 22396 0 22396 577c planck_rev4_cbbrowne.hex
60``` 42```
61 43
62- 上のファイルのサイズは 22396/577ch で、28672/7000h より小さいです 44その後は、いくつかの異なった print 関数を使用することが出来ます:
63- 適切な替わりの .hex ファイルがある限り、それをロードして再試行することができます
64- あなたがキーボードの Makefile で指定したかもしれない一部のオプションは、余分なメモリを消費します; BOOTMAGIC_ENABLE、MOUSEKEY_ENABLE、EXTRAKEY_ENABLE、CONSOLE_ENABLE、API_SYSEX_ENABLE に注意してください
65- DFU ツールは(オプションの余計なフルーツサラダを投げ込まない限り)ブートローダに書き込むことを許可しないので、
66ここにはリスクはほとんどありません。
67- EEPROM の書き込みサイクルは、約100000です。ファームウェアを繰り返し継続的に書き換えるべきではありません。それは最終的に EEPROM を焼き焦がします。
68 45
69## NKRO が動作しません 46* `print("string")`: シンプルな文字列を出力します
70最初に、**Makefile** 内でビルドオプション `NKRO_ENABLE` を使ってファームウェアをコンパイルする必要があります。 47* `uprintf("%s string", var)`: フォーマットされた文字列を出力します
48* `dprint("string")` デバッグモードが有効な場合のみ、シンプルな文字列を出力します
49* `dprintf("%s string", var)`: デバッグモードが有効な場合のみ、フォーマットされた文字列を出力します
71 50
72**NKRO** がまだ動作しない場合は、`Magic` **N** コマンド(デフォルトでは `LShift+RShift+N`)を試してみてください。**NKRO** モードと **6KRO** モード間を一時的に切り替えるためにこのコマンドを使うことができます。**NKRO** が機能しない状況、特に BIOS の場合は **6KRO** モードに切り替える必要があります。 51## デバッグの例
73 52
74ファームウェアを `BOOTMAGIC_ENABLE` でビルドした場合、`ブートマジック` **N** コマンドで切り替える必要があります (デフォルトでは `Space+N`)。この設定は EEPROM に格納され、電源を入れ直しても保持されます。 53以下は現実世界での実際のデバッグ手法の例を集めたものです。
75 54
76https://github.com/tmk/tmk_keyboard#boot-magic-configuration---virtual-dip-switch 55### マトリックス上のどの場所でキー押下が起こったか?
77 56
57移植する場合や、PCB の問題を診断する場合、キー入力が正しくスキャンされているかどうかを確認することが役立つ場合があります。この手法でのロギングを有効化するには、`keymap.c` へ以下のコードを追加します。
78 58
79## TrackPoint はリセット回路が必要です (PS/2 マウスサポート) 59```c
80リセット回路が無いとハードウェアの不適切な初期化のために一貫性の無い結果になります。TPM754 の回路図を見てください。 60bool process_record_user(uint16_t keycode, keyrecord_t *record) {
61 // コンソールが有効化されている場合、マトリックス上の位置とキー押下状態を出力します
62#ifdef CONSOLE_ENABLE
63 uprintf("KL: kc: 0x%04X, col: %u, row: %u, pressed: %b, time: %u, interrupt: %b, count: %u\n", keycode, record->event.key.col, record->event.key.row, record->event.pressed, record->event.time, record->tap.interrupted, record->tap.count);
64#endif
65 return true;
66}
67```
81 68
82- https://geekhack.org/index.php?topic=50176.msg1127447#msg1127447 69出力例
83- https://www.mikrocontroller.net/attachment/52583/tpm754.pdf 70```text
71Waiting for device:.......
72Listening:
73KL: kc: 169, col: 0, row: 0, pressed: 1
74KL: kc: 169, col: 0, row: 0, pressed: 0
75KL: kc: 174, col: 1, row: 0, pressed: 1
76KL: kc: 174, col: 1, row: 0, pressed: 0
77KL: kc: 172, col: 2, row: 0, pressed: 1
78KL: kc: 172, col: 2, row: 0, pressed: 0
79```
84 80
81### キースキャンにかかる時間の測定
85 82
86## 16 を超えるマトリックの列を読み込めない 83パフォーマンスの問題をテストする場合、スイッチマトリックスをスキャンする頻度を知ることが役立ちます。この手法でのロギングを有効化するには `config.h` へ以下のコードを追加します。
87列が 16 を超える場合、[matrix.h] の `read_cols()` 内の `1<<16` の代わりに `1UL<<16` を使ってください。
88 84
89C では、AVR の場合 `1` は [16 bit] である [int] 型の1を意味し、15 を超えて左にシフトすることはできません。`1<<16` すると予期しないゼロが発生します。`1UL` として [unsigned long] 型を使う必要があります。 85```c
86#define DEBUG_MATRIX_SCAN_RATE
87```
90 88
91https://deskthority.net/workshop-f7/rebuilding-and-redesigning-a-classic-thinkpad-keyboard-t6181-60.html#p146279 89出力例
90```text
91 > matrix scan frequency: 315
92 > matrix scan frequency: 313
93 > matrix scan frequency: 316
94 > matrix scan frequency: 316
95 > matrix scan frequency: 316
96 > matrix scan frequency: 316
97```
92 98
93## 特別動作ない (システム、オーディオコントロールキー) 99## `hid_listen` ない
94QMK `rules.mk` 内 `EXTRAKEY_ENABLE` ます 100イスバッ準備ていない以下表示ます:
95 101
96``` 102```
97EXTRAKEY_ENABLE = yes # オーディオ制御とシステム制御 103Waiting for device:.........
98``` 104```
99 105
100## スリープから復帰しない 106デバイスが接続されると、*hid_listen* がデバイスを見つけ、以下のメッセージが表示されます:
101
102Windows では、**デバイスマネージャ**の**電源の管理**タブ内の `このデバイスで、コンピュータのスタンバイ状態を解除できるようにする` 設定を調べてください。また BIOS 設定も調べてください。
103
104スリープ中に任意のキーを押すとホストが起動するはずです。
105
106## Arduino を使っていますか?
107
108**Arduino のピンの命名は実際のチップと異なることに注意してください。** 例えば、Arduino のピン `D0` は `PD0` ではありません。回路図を自身で確認してください。
109
110- https://arduino.cc/en/uploads/Main/arduino-leonardo-schematic_3b.pdf
111- https://arduino.cc/en/uploads/Main/arduino-micro-schematic.pdf
112
113Arduino の Leonardo と micro には **ATMega32U4** が載っていて、TMK 用に使うことができますが、Arduino のブートローダが問題になることがあります。
114
115## JTAG を有効にする
116
117デフォルトでは、キーボードが起動するとすぐに JTAG デバッグインタフェースが無効になります。JTAG 対応 MCU は `JTAGEN` ヒューズが設定された状態で出荷されており、キーボードがスイッチマトリックス、LED などに使用している可能性のある MCU の特定のピンを乗っ取ります。
118
119JTAG を有効にしたままにしたい場合は、単に以下のものを `config.h` に追加します:
120 107
121```c 108```
122#define NO_JTAG_DISABLE 109Waiting for new device:.........................
110Listening:
123``` 111```
124 112
125## USB 3 の互換性 113この 'Listening:' のメッセージが表示されない場合は、[Makefile] を `CONSOLE_ENABLE=yes` に設定してビルドしてみてください
126USB 3 ポートで問題がある人がいると聞きました。USB 2 ポートを試してください。
127
128 114
129## Mac の互換性 115Linux のような OS でデバイスにアクセスするには、特権が必要かもしれません。`sudo hid_listen` を試してください。
130### OS X 10.11 と Hub
131https://geekhack.org/index.php?topic=14290.msg1884034#msg1884034
132 116
117多くの Linux ディストリビューションでは、次の内容で `/etc/udev/rules.d/70-hid-listen.rules` というファイルを作成することで、root として hid_listen を実行する必要がなくなります:
133 118
134## リジューム (スリープとウェークアップ)/電源サイクルの問題 119```
135一部の人がキーボードが BIOS で動作しなくなった、またはリジューム(電源サイクル)の後で動作しなくなったと報告しました。 120SUBSYSTEM=="hidraw", ATTRS{idVendor}=="abcd", ATTRS{idProduct}=="def1", TAG+="uaccess", RUN{builtin}+="uaccess"
121```
136 122
137今のところ、この問題の根本は明確ではないですが、幾つかのビルドオプションが関係しているようです。Makefileで、`CONSOLE_ENABLE`、`NKRO_ENABLE`、`SLEEP_LED_ENABLE` あるいは他のオプションを無効にしてみてください。 123abcd と def1 をキーボードのベンダーとプロダクト IDに置き換えてください。文字は小文字でなければなりません。`RUN{builtin}+="uaccess"` の部分は、古いディストリビューションでのみ必要です。
138 124
139https://github.com/tmk/tmk_keyboard/issues/266 125## コンソールにメッセージが表示されない
140https://geekhack.org/index.php?topic=41989.msg1967778#msg1967778 126以下を調べてください:
127- *hid_listen* がデバイスを検出する。上記を見てください。
128- **Magic**+d を使ってデバッグを有効にする。[マジックコマンド](https://github.com/tmk/tmk_keyboard#magic-commands)を見てください。
129- `debug_enable=true` を設定します。[デバッグ](#debugging)を見てください。
130- デバッグプリントの代わりに `print` 関数を使ってみてください。**common/print.h** を見てください。
131- コンソール機能を持つ他のデバイスを切断します。[Issue #97](https://github.com/tmk/tmk_keyboard/issues/97) を見てください。
diff --git a/docs/ja/faq_misc.md b/docs/ja/faq_misc.md
new file mode 100644
index 000000000..e9a35ef32
--- /dev/null
+++ b/docs/ja/faq_misc.md
@@ -0,0 +1,107 @@
1# その他の FAQ
2
3<!---
4 original document: 0.12.45:docs/faq_misc.md
5 git diff 0.12.45 HEAD -- docs/faq_misc.md | cat
6-->
7
8## どうやってキーボードをテストすればいいですか? :id=testing
9
10通常、キーボードのテストは非常に簡単です。全てのキーをひとつずつ押して、期待するキーが送信されることを確認します。例え QMK で動作していない場合でも、[QMK Configurator](https://config.qmk.fm/#/test/) のテストモードを使用すると、キーボードをチェックできます。
11
12## 安全性の考慮
13
14あなたはおそらくキーボードを「文鎮化」したくないでしょう。文鎮化するとファームウェアを書き換えられないようになります。リスクがあまりに高い(そしてそうでないかもしれない)ものの一部のリストを示します。
15
16- キーボードマップに RESET が含まれない場合、DFU モードに入るには、PCB のリセットボタンを押す必要があります。底部のネジを外す必要があります。
17- tmk_core / common にあるファイルを触るとキーボードが操作不能になるかもしれません。
18- .hex ファイルが大きすぎると問題を引き起こします; `make dfu` コマンドはブロックを削除し、サイズを検査し(おっと、間違った順序です!)、エラーを出力し、
19キーボードへの書き込みに失敗し、DFU モードのままになります。
20 - この目的のためには、Planck の最大の .hex ファイルサイズは 7000h (10進数で28672)であることに注意してください。
21
22```
23Linking: .build/planck_rev4_cbbrowne.elf [OK]
24Creating load file for Flash: .build/planck_rev4_cbbrowne.hex [OK]
25
26Size after:
27 text data bss dec hex filename
28 0 22396 0 22396 577c planck_rev4_cbbrowne.hex
29```
30
31 - 上のファイルのサイズは 22396/577ch で、28672/7000h より小さいです。
32 - 適切な代わりの .hex ファイルがある限り、それをロードして再試行することができます。
33 - あなたがキーボードの Makefile で指定したかもしれない一部のオプションは、余分なメモリを消費します; BOOTMAGIC_ENABLE、MOUSEKEY_ENABLE、EXTRAKEY_ENABLE、CONSOLE_ENABLE、API_SYSEX_ENABLE に注意してください。
34- DFU ツールは(オプションの余計なフルーツサラダを投げ込まない限り)ブートローダに書き込むことを許可しないので、ここにはリスクはほとんどありません。
35- EEPROM の書き込みサイクルは、約100000(10万)です。ファームウェアを繰り返し継続的に書き換えるべきではありません。それは最終的に EEPROM を焼き焦がします。
36
37## NKRO が動作しません
38最初に、**Makefile** 内でビルドオプション `NKRO_ENABLE` を使ってファームウェアをコンパイルする必要があります。
39
40**NKRO** がまだ動作しない場合は、`Magic` **N** コマンド(デフォルトでは `LShift+RShift+N`)を試してみてください。**NKRO** モードと **6KRO** モード間を一時的に切り替えるためにこのコマンドを使うことができます。**NKRO** が機能しない状況、特に BIOS の場合は **6KRO** モードに切り替える必要があります。
41
42ファームウェアを `BOOTMAGIC_ENABLE` でビルドした場合、`ブートマジック` **N** コマンドで切り替える必要があります(デフォルトでは `Space+N`)。この設定は EEPROM に格納され、電源を入れ直しても保持されます。
43
44https://github.com/tmk/tmk_keyboard#boot-magic-configuration---virtual-dip-switch
45
46
47## トラックポイントははリセット回路が必要です (PS/2 マウスサポート)
48リセット回路が無いとハードウェアの不適切な初期化のために一貫性の無い結果になります。TPM754 の回路図を見てください:
49
50- https://geekhack.org/index.php?topic=50176.msg1127447#msg1127447
51- https://www.mikrocontroller.net/attachment/52583/tpm754.pdf
52
53
54## 16 を超えるマトリックの列を読み込めない
55列が 16 を超える場合、[matrix.h] の `read_cols()` 内の `1<<16` の代わりに `1UL<<16` を使ってください。
56
57C では、AVR の場合 `1` は [16 bit] である [int] 型の1を意味し、15を超えて左にシフトすることはできません。従って、`1<<16` を計算すると予期せずゼロになります。これを回避するには `1UL` として [unsigned long] 型を使う必要があります。
58
59https://deskthority.net/workshop-f7/rebuilding-and-redesigning-a-classic-thinkpad-keyboard-t6181-60.html#p146279
60
61## 特別なエクストラキーが動作しない(システム、オーディオコントロールキー)
62QMK でそれらを使うには、`rules.mk` 内で `EXTRAKEY_ENABLE` を定義する必要があります。
63
64```
65EXTRAKEY_ENABLE = yes # オーディオ制御とシステム制御
66```
67
68## スリープから復帰しない
69
70**デバイスマネージャ**の**電源の管理**タブ内の `このデバイスで、コンピュータのスタンバイ状態を解除できるようにする` 設定を調べてください。また BIOS 設定も調べてください。スリープ中に任意のキーを押すとホストが起動するはずです。
71
72## Arduino を使っていますか?
73
74**Arduino のピンの命名は実際のチップと異なることに注意してください。** 例えば、Arduino のピン `D0` は `PD0` ではありません。回路図を自身で確認してください。
75
76- https://arduino.cc/en/uploads/Main/arduino-leonardo-schematic_3b.pdf
77- https://arduino.cc/en/uploads/Main/arduino-micro-schematic.pdf
78
79Arduino の Leonardo と micro には **ATMega32U4** が載っていて、TMK 用に使うことができますが、Arduino のブートローダが問題になることがあります。
80
81## JTAG を有効にする
82
83デフォルトでは、キーボードが起動するとすぐに JTAG デバッグインタフェースが無効になります。JTAG 対応 MCU は `JTAGEN` ヒューズが設定された状態で出荷されており、キーボードがスイッチマトリックス、LED などに使用している可能性のある MCU の特定のピンを乗っ取ります。
84
85JTAG を有効にしたままにしたい場合は、単に以下のものを `config.h` に追加します:
86
87```c
88#define NO_JTAG_DISABLE
89```
90
91## USB 3 の互換性
92一部の問題は、USB 3.x ポートから USB 2.0 ポートに切り替えることで修正できます。
93
94
95## Mac の互換性
96### OS X 10.11 と Hub
97こちらを見てください: https://geekhack.org/index.php?topic=14290.msg1884034#msg1884034
98
99
100## BIOS (UEFI) 設定/リジューム (スリープとウェークアップ)/電源サイクルの問題
101一部の人がキーボードが BIOS で動作しなくなった、またはリジューム(電源サイクル)の後で動作しなくなったと報告しました。
102
103今のところ、この問題の根本は明確ではないですが、幾つかのビルドオプションが関係しているようです。Makefile で、`CONSOLE_ENABLE`、`NKRO_ENABLE`、`SLEEP_LED_ENABLE` あるいは他のオプションを無効にしてみてください。
104
105より詳しい情報:
106- https://github.com/tmk/tmk_keyboard/issues/266
107- https://geekhack.org/index.php?topic=41989.msg1967778#msg1967778
diff --git a/docs/ja/newbs_testing_debugging.md b/docs/ja/newbs_testing_debugging.md
index 41103bae9..d64f0f6df 100644
--- a/docs/ja/newbs_testing_debugging.md
+++ b/docs/ja/newbs_testing_debugging.md
@@ -2,105 +2,14 @@
2 2
3<!--- 3<!---
4 grep --no-filename "^[ ]*git diff" docs/ja/*.md | sh 4 grep --no-filename "^[ ]*git diff" docs/ja/*.md | sh
5 original document: 0.9.0:docs/newbs_testing_debugging.md 5 original document: 0.12.45:docs/newbs_testing_debugging.md
6 git diff 0.9.0 HEAD -- docs/newbs_testing_debugging.md | cat 6 git diff 0.12.45 HEAD -- docs/newbs_testing_debugging.md | cat
7--> 7-->
8 8
9カスタムファームウェアをキーボードへ書き込んだら、テストする準備が整います。運が良ければ全て問題なく動作しているはずですが、もしそうでなければこのドキュメントがどこが悪いのか調べるのに役立ちます。
10
11## テスト 9## テスト
12 10
13通常、キーボードをテストするのは非常に簡単です。 11[ここに移動しました](ja/faq_misc.md#testing)
14全てのキーをひとつずつ押して、期待されるキーが送信されていることを確認します。
15QMK を実行していなくても、[QMK Configurator](https://config.qmk.fm/#/test/) のテストモードを使ってキーボードを確認することができます。
16 12
17## デバッグ :id=debugging 13## デバッグ :id=debugging
18 14
19`rules.mk`へ`CONSOLE_ENABLE = yes`の設定をするとキーボードはデバッグ情報を出力します。デフォルトの出力は非常に限られたものですが、デバッグモードをオンにすることでデバッグ情報の量を増やすことが出来ます。キーマップの`DEBUG`キーコードを使用するか、デバッグモードを有効にする [コマンド](ja/feature_command.md) 機能を使用するか、以下のコードをキーマップに追加します。 15[ここに移動しました](ja/faq_debug.md#debugging)
20
21```c
22void keyboard_post_init_user(void) {
23 // Customise these values to desired behaviour
24 debug_enable=true;
25 debug_matrix=true;
26 //debug_keyboard=true;
27 //debug_mouse=true;
28}
29```
30
31## デバッグツール :id=debugging-tools
32
33キーボードのデバッグに使えるツールは2つあります。
34
35### QMK Toolboxを使ったデバッグ
36
37互換性のある環境では、[QMK Toolbox](https://github.com/qmk/qmk_toolbox)を使うことでキーボードからのデバッグメッセージを表示できます。
38
39### hid_listenを使ったデバッグ
40
41ターミナルベースの方法がお好みですか?PJRC が提供する[hid_listen](https://www.pjrc.com/teensy/hid_listen.html)もデバッグメッセージの表示に使用できます。ビルド済みの実行ファイルは Windows, Linux, MacOS 用が用意されています。
42
43
44## 独自のデバッグメッセージを送信する
45
46[custom code](ja/custom_quantum_functions.md)内からデバッグメッセージを出力すると便利な場合があります。それはとても簡単です。ファイルの先頭に`print.h`のインクルードを追加します:
47
48```c
49#include "print.h"
50```
51
52そのあとは、いくつかの異なった print 関数を使用することが出来ます。
53
54* `print("string")`: シンプルな文字列を出力します
55* `uprintf("%s string", var)`: フォーマットされた文字列を出力します
56* `dprint("string")` デバッグモードが有効な場合のみ、シンプルな文字列を出力します
57* `dprintf("%s string", var)`: デバッグモードが有効な場合のみ、フォーマットされた文字列を出力します
58
59## デバッグの例
60
61以下は現実世界での実際のデバッグ手法の例を集めたものです。追加情報は[Debugging/Troubleshooting QMK](ja/faq_debug.md)を参照してください。
62
63### マトリックス上のどの場所でキー押下が起こったか?
64
65移植する、PCBの問題を診断する場合、キー入力が正しくスキャンされているかどうかを確認することが役立つ場合があります。この手法でのロギングを有効化するには、`keymap.c`へ以下のコードを追加します。
66
67```c
68bool process_record_user(uint16_t keycode, keyrecord_t *record) {
69 // コンソールが有効化されている場合、マトリックス上の位置とキー押下状態を出力します
70#ifdef CONSOLE_ENABLE
71 uprintf("KL: kc: %u, col: %u, row: %u, pressed: %u\n", keycode, record->event.key.col, record->event.key.row, record->event.pressed);
72#endif
73 return true;
74}
75```
76
77出力の例
78```text
79Waiting for device:.......
80Listening:
81KL: kc: 169, col: 0, row: 0, pressed: 1
82KL: kc: 169, col: 0, row: 0, pressed: 0
83KL: kc: 174, col: 1, row: 0, pressed: 1
84KL: kc: 174, col: 1, row: 0, pressed: 0
85KL: kc: 172, col: 2, row: 0, pressed: 1
86KL: kc: 172, col: 2, row: 0, pressed: 0
87```
88
89### キースキャンにかかる時間の測定
90
91パフォーマンスの問題をテストする場合、スイッチマトリックスをスキャンする頻度を知ることが役立ちます。この手法でのロギングを有効化するには`config.h`へ以下のコードを追加します。
92
93
94```c
95#define DEBUG_MATRIX_SCAN_RATE
96```
97
98出力例
99```text
100 > matrix scan frequency: 315
101 > matrix scan frequency: 313
102 > matrix scan frequency: 316
103 > matrix scan frequency: 316
104 > matrix scan frequency: 316
105 > matrix scan frequency: 316
106```