aboutsummaryrefslogtreecommitdiff
path: root/docs/ja/custom_matrix.md
diff options
context:
space:
mode:
authorTakeshi ISHII <2170248+mtei@users.noreply.github.com>2020-03-19 03:37:59 +0900
committerGitHub <noreply@github.com>2020-03-18 11:37:59 -0700
commit6ba383cc5f4d1d00c5c31134d12f9e3289f36f03 (patch)
tree922752b2e1ee6c3dbc4c0398f7b1bd29993ce694 /docs/ja/custom_matrix.md
parentd44ca60cb05f93356b89ade46ae23fe96fe12dd6 (diff)
downloadqmk_firmware-6ba383cc5f4d1d00c5c31134d12f9e3289f36f03.tar.gz
qmk_firmware-6ba383cc5f4d1d00c5c31134d12f9e3289f36f03.zip
[Docs] Japanese translation of docs/custom_matrix.md (#8463)
* add docs/ja/custom_matrix.md * add original document TAG * update ja/custom_matrix.md * 「マトリクス」to 「マトリックス」 * docs/ja/custom_matrix.md:update section title * update docs/ja/custom_matrix.md * update docs/ja/custom_matrix.md
Diffstat (limited to 'docs/ja/custom_matrix.md')
-rw-r--r--docs/ja/custom_matrix.md114
1 files changed, 114 insertions, 0 deletions
diff --git a/docs/ja/custom_matrix.md b/docs/ja/custom_matrix.md
new file mode 100644
index 000000000..f333711e6
--- /dev/null
+++ b/docs/ja/custom_matrix.md
@@ -0,0 +1,114 @@
1# カスタムマトリックス
2
3<!---
4 grep --no-filename "^[ ]*git diff" docs/ja/*.md | sh
5 original document: 0.8.46:docs/custom_matrix.md
6 git diff 0.8.46 HEAD -- docs/custom_matrix.md | cat
7-->
8
9QMKは、デフォルトのマトリックススキャンルーチンを独自のコードで部分的に入れ替えたり全部入れ替えたりしたりするメカニズムを提供します。
10
11この機能を使用する理由は次のとおりです:
12
13* キーボードのスイッチと MCU ピンの間に追加のハードウェアがある場合
14 * I/O マルチプレクサ
15 * ラインデコーダー
16* 一般的ではないキースイッチマトリックス
17 * `COL2ROW` と `ROW2COL` の同時使用
18
19## 前提条件
20
21カスタムマトリックスの実装には、通常、追加のソースファイルのコンパイルが含まれます。
22一貫性を保つために、このソースファイルのファイル名は `matrix.c` とすることをお勧めします。
23
24あなたのキーボードディレクトリに新しいファイルを追加します:
25```text
26keyboards/<keyboard>/matrix.c
27```
28
29そして、新しいファイルのコンパイルを指定するため、以下を `rules.mk` に追加します
30```make
31SRC += matrix.c
32```
33
34## マトリックスコードの部分置き換え
35
36カスタムマトリックスを実装する際、定型コードを書かなくてすむように、さまざまなスキャン関数のデフォルト実装を提供しています。
37
38設定するには、以下を `rules.mk` に追加します:
39```make
40CUSTOM_MATRIX = lite
41```
42
43そして、キーボードディレクトリの `matrix.c` ファイルに次の関数を実装します。
44
45```c
46void matrix_init_custom(void) {
47 // TODO: ここでハードウェアの初期化をする
48}
49
50bool matrix_scan_custom(matrix_row_t current_matrix[]) {
51 bool matrix_has_changed = false;
52
53 // TODO: ここで、マトリックススキャンを行なう
54
55 return matrix_has_changed;
56}
57```
58
59## マトリックスコードの全面置き換え
60
61スキャンルーチンをさらに変更する必要がある場合は、完全なスキャンルーチンを実装することを選択できます。
62
63設定するには、以下を `rules.mk` に追加します:
64```make
65CUSTOM_MATRIX = yes
66```
67
68そして、キーボードディレクトリの `matrix.c` ファイルに次の関数を実装します。
69
70```c
71matrix_row_t matrix_get_row(uint8_t row) {
72 // TODO: 要求された行データを返します
73}
74
75void matrix_print(void) {
76 // TODO: printf() を使って現在のマトリックスの状態をコンソールにダンプします
77}
78
79void matrix_init(void) {
80 // TODO: ここでハードウェアとグローバルマトリックスの状態を初期化します
81
82 // ハードウェアによるデバウンスがない場合 - 設定されているデバウンスルーチンを初期化します
83 debounce_init(MATRIX_ROWS);
84
85 // 正しいキーボード動作のためにこれを呼び出す*必要があります*
86 matrix_init_quantum();
87}
88
89uint8_t matrix_scan(void) {
90 bool matrix_has_changed = false;
91
92 // TODO: ここにマトリックススキャンルーチンを追加します
93
94 // ハードウェアによるデバウンスがない場合 - 設定されているデバウンスルーチンを使用します
95 debounce(raw_matrix, matrix, MATRIX_ROWS, changed);
96
97 // 正しいキーボード動作のためにこれを呼び出す*必要があります*
98 matrix_scan_quantum();
99
100 return matrix_has_changed;
101}
102```
103
104また、次のコールバックのデフォルトも提供します。
105
106```c
107__attribute__((weak)) void matrix_init_kb(void) { matrix_init_user(); }
108
109__attribute__((weak)) void matrix_scan_kb(void) { matrix_scan_user(); }
110
111__attribute__((weak)) void matrix_init_user(void) {}
112
113__attribute__((weak)) void matrix_scan_user(void) {}
114```