diff options
author | shela <shelaf@users.noreply.github.com> | 2021-01-30 06:05:40 +0900 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-01-30 06:05:40 +0900 |
commit | 5691f1341dcb48d7d043bfd6f8663b414aaf427d (patch) | |
tree | 640629a0a004b7de0a1a7c37efc3aef0d720840b /docs | |
parent | bad9592a18494e3f678c2a117a526ca5f2f2280d (diff) | |
download | qmk_firmware-5691f1341dcb48d7d043bfd6f8663b414aaf427d.tar.gz qmk_firmware-5691f1341dcb48d7d043bfd6f8663b414aaf427d.zip |
Update feature_debounce_type.md of Japanese document. (#10596)
* Update Japanese document.
* fix table format.
* fix heading
* Update translation
* Apply suggestions from code review
Co-authored-by: Takeshi ISHII <2170248+mtei@users.noreply.github.com>
* Apply suggestions from code review
Co-authored-by: Takeshi ISHII <2170248+mtei@users.noreply.github.com>
* Update docs/ja/feature_debounce_type.md
Co-authored-by: Takeshi ISHII <2170248+mtei@users.noreply.github.com>
* Bump up comment tag
Co-authored-by: Takeshi ISHII <2170248+mtei@users.noreply.github.com>
Diffstat (limited to 'docs')
-rw-r--r-- | docs/ja/feature_debounce_type.md | 150 |
1 files changed, 125 insertions, 25 deletions
diff --git a/docs/ja/feature_debounce_type.md b/docs/ja/feature_debounce_type.md index a375ebb45..03f68d721 100644 --- a/docs/ja/feature_debounce_type.md +++ b/docs/ja/feature_debounce_type.md | |||
@@ -1,45 +1,145 @@ | |||
1 | # デãƒã‚¦ãƒ³ã‚¹ã‚¢ãƒ«ã‚´ãƒªã‚ºãƒ | 1 | # 接点ãƒã‚¦ãƒ³ã‚¹ / 接点ãƒãƒ£ã‚¿ãƒªãƒ³ã‚° |
2 | 2 | ||
3 | <!--- | 3 | <!--- |
4 | original document: 0.9.19:docs/feature_debounce_type.md | 4 | original document: 0.11.53:docs/feature_debounce_type.md |
5 | git diff 0.9.19 HEAD -- docs/feature_debounce_type.md | cat | 5 | git diff 0.11.53 HEAD -- docs/feature_debounce_type.md | cat |
6 | --> | 6 | --> |
7 | 7 | ||
8 | QMK ã¯ãƒ‡ãƒã‚¦ãƒ³ã‚¹ API を介ã—ã¦è¤‡æ•°ã®ãƒ‡ãƒã‚¦ãƒ³ã‚¹ã‚¢ãƒ«ã‚´ãƒªã‚ºãƒ をサãƒãƒ¼ãƒˆã—ã¾ã™ã€‚ | 8 | メカニカルスイッãƒã¯æŠ¼ã—ãŸçŠ¶æ…‹ã¨æ”¾ã—ãŸçŠ¶æ…‹ã®é–“ã®ç§»è¡ŒãŒå˜ç´”ã§ã¯ãªã„ã“ã¨ãŒè‰¯ãã‚りã¾ã™ã€‚ |
9 | |||
10 | ç†æƒ³çš„ãªä¸–界ã§ã¯ã€ã‚¹ã‚¤ãƒƒãƒã‚’押ã™ã¨ã€ãƒ‡ã‚¸ã‚¿ãƒ«ãƒ”ãƒ³ãŒæ¬¡ã®ã‚ˆã†ã«ãªã‚‹ã“ã¨ãŒæœŸå¾…ã•れã¾ã™: | ||
11 | (X è»¸ã¯æ™‚間を表ã—ã¾ã™ | ||
12 | ``` | ||
13 | voltage +---------------------- | ||
14 | ^ | | ||
15 | | | | ||
16 | | ------------------+ | ||
17 | ----> time | ||
18 | ``` | ||
19 | |||
20 | ã—ã‹ã—実際ã®ä¸–界ã§ã¯ã€å€¤ãŒæœ€çµ‚çš„ã«è½ã¡ç€ãã¾ã§ã« 0 㨠1 ã®é–“を行ã£ãŸã‚Šæ¥ãŸã‚Šã™ã‚‹æŽ¥ç‚¹ãƒã‚¦ãƒ³ã‚¹ã‚’見るã“ã¨ã«ãªã‚‹ã§ã—ょã†ã€‚(訳注:日本語ã§ã¯ã€ãƒã‚¦ãƒ³ã‚¹ã¨ãƒãƒ£ã‚¿ãƒªãƒ³ã‚°ã‚’区別ã›ãšã«ãƒãƒ£ã‚¿ãƒªãƒ³ã‚°ã¨å‘¼ã‚“ã§ã„ã‚‹ã“ã¨ãŒå¤šã„よã†ã§ã™ã€‚) | ||
21 | ``` | ||
22 | +-+ +--+ +------------- | ||
23 | | | | | | | ||
24 | | | | | | | ||
25 | +-----------------+ +-+ +-+ | ||
26 | ``` | ||
27 | スイッãƒãŒè½ã¡ç€ãã¾ã§ã«ã‹ã‹ã‚‹æ™‚é–“ã¯ã€ã‚¹ã‚¤ãƒƒãƒã®ç¨®é¡žã‚„çµŒå¹´ã€æŠ¼ã™æŠ€è¡“ã«ã‚ˆã£ã¦ç•°ãªã‚‹å ´åˆãŒã‚りã¾ã™ã€‚ | ||
9 | 28 | ||
10 | ã©ã®ãƒ‡ãƒã‚¦ãƒ³ã‚¹ãƒ¡ã‚½ãƒƒãƒ‰ãŒå‘¼ã°ã‚Œã‚‹ã‹ã®ãƒã‚¸ãƒƒã‚¯ã¯ä¸‹è¨˜ã®ã¨ãŠã‚Šã§ã™ã€‚rules.mk ã§è¨å®šã•ã‚ŒãŸæ§˜ã€…ãªå®šç¾©ã‚’ãƒã‚§ãƒƒã‚¯ã—ã¾ã™ã€‚ | 29 | デãƒã‚¤ã‚¹ãŒæŽ¥ç‚¹ãƒã‚¦ãƒ³ã‚¹ã‚’ç·©å’Œã—ãªã„ã“ã¨ã‚’é¸æŠžã—ãŸå ´åˆã€ã‚¹ã‚¤ãƒƒãƒãŒæŠ¼ã•ã‚ŒãŸæ™‚ã«èµ·ãるアクションãŒè¤‡æ•°å›žç¹°ã‚Šè¿”ã•れるã“ã¨ãŒã‚ˆãã‚りã¾ã™ã€‚ |
30 | |||
31 | 接点ãƒã‚¦ãƒ³ã‚¹(「デãƒã‚¦ãƒ³ã‚¹ã€)を処ç†ã™ã‚‹æ–¹æ³•ã¯ãŸãã•ã‚“ã‚りã¾ã™ã€‚RC フィルタã®ã‚ˆã†ãªè¿½åŠ ã®ãƒãƒ¼ãƒ‰ã‚¦ã‚§ã‚¢ã‚’採用ã™ã‚‹æ–¹æ³•ã‚‚ã‚りã¾ã™ãŒã€ã‚½ãƒ•トウェアã§ãƒ‡ãƒã‚¦ãƒ³ã‚¹ã‚’è¡Œã†æ§˜ã€…ãªæ–¹æ³•ã‚‚ã‚りã€ã‚ˆãデãƒã‚¦ãƒ³ã‚¹ã‚¢ãƒ«ã‚´ãƒªã‚ºãƒ ã¨å‘¼ã°ã‚Œã¾ã™ã€‚ã“ã®ãƒšãƒ¼ã‚¸ã§ã¯ã€QMK ã§åˆ©ç”¨ã§ãるデãƒã‚¦ãƒ³ã‚¹ãƒ¡ã‚½ãƒƒãƒ‰ã«ã¤ã„ã¦èª¬æ˜Žã—ã¾ã™ã€‚ | ||
32 | |||
33 | 技術的ã«ã¯æŽ¥ç‚¹ãƒã‚¦ãƒ³ã‚¹/接点ãƒãƒ£ã‚¿ãƒªãƒ³ã‚°ã¨ã¯è¦‹ãªã•れã¾ã›ã‚“ãŒã€ä¸€éƒ¨ã®ã‚¹ã‚¤ãƒƒãƒãƒ†ã‚¯ãƒŽãƒã‚¸ãƒ¼ã¯ãƒŽã‚¤ã‚ºã®å½±éŸ¿ã‚’å—ã‘ã‚„ã™ãã€ã‚ーã®çŠ¶æ…‹ãŒå¤‰åŒ–ã—ã¦ã„ãªã„時ã«ã€æ™‚々çŸãランダム㫠0 㨠1 ã®é–“ã‚’è¡Œãæ¥ã™ã‚‹æ§˜åãŒãƒ‡ã‚¸ã‚¿ãƒ«å›žè·¯ã«ã‚ˆã£ã¦èªã¿å–ã‚‰ã‚Œã‚‹å ´åˆãŒã‚りã¾ã™ã€‚例ãˆã°: | ||
34 | ``` | ||
35 | +-+ | ||
36 | | | | ||
37 | | | | ||
38 | +-----------------+ +-------------------- | ||
39 | ``` | ||
40 | |||
41 | 多ãã®ãƒ‡ãƒã‚¦ãƒ³ã‚¹ãƒ¡ã‚½ãƒƒãƒ‰(å…¨ã¦ã§ã¯ãªã„ã§ã™ãŒ)ã¯ã€ãƒ‡ãƒã‚¤ã‚¹ã«ãƒŽã‚¤ã‚ºè€æ€§ã‚’æŒãŸã›ã¾ã™ã€‚ | ||
42 | ノイズã®å½±éŸ¿ã‚’å—ã‘ã‚„ã™ã„技術を使ã£ã¦ã„ã‚‹å ´åˆã¯ã€ãƒŽã‚¤ã‚ºã‚’ç·©å’Œã™ã‚‹ãƒ‡ãƒã‚¦ãƒ³ã‚¹ãƒ¡ã‚½ãƒƒãƒ‰ã‚’é¸æŠžã—ãªã‘れã°ãªã‚Šã¾ã›ã‚“。 | ||
43 | |||
44 | ## デãƒã‚¦ãƒ³ã‚¹ã‚¢ãƒ«ã‚´ãƒªã‚ºãƒ ã®ç¨®é¡ž | ||
45 | |||
46 | 1) 時間ã®å˜ä½: タイムスタンプ (ミリ秒) vs 周期 (スã‚ャン) | ||
47 | * デãƒã‚¦ãƒ³ã‚¹ã‚¢ãƒ«ã‚´ãƒªã‚ºãƒ ã¯1ã¤ã®ã€Œãƒ‡ãƒã‚¦ãƒ³ã‚¹æ™‚é–“ã€ãƒ‘ラメータをæŒã¤ã“ã¨ãŒã‚ˆãã‚りã€ã‚¹ã‚¤ãƒƒãƒæŽ¥ç‚¹ã®æœ€å¤§ã‚»ãƒˆãƒªãƒ³ã‚°æ™‚間を指定ã—ã¾ã™ã€‚ | ||
48 | ã“ã®æ™‚é–“ã¯æ§˜ã€…ãªå˜ä½ã§æ¸¬å®šã•ã‚Œã‚‹å ´åˆãŒã‚りã¾ã™: | ||
49 | * 周期ベースデãƒã‚¦ãƒ³ã‚¹ã¯ n 周期(スã‚ャン)待機ã—ã€matrix_scan ã”ã¨ã«ã‚«ã‚¦ãƒ³ãƒˆã‚’1減らã—ã¾ã™ã€‚ | ||
50 | * タイムスタンプベースã®ãƒ‡ãƒã‚¦ãƒ³ã‚¹ã¯ã€å¤‰æ›´ãŒç™ºç”Ÿã—ãŸãƒŸãƒªç§’ã®ã‚¿ã‚¤ãƒ ã‚¹ã‚¿ãƒ³ãƒ—ã‚’æ ¼ç´ã—ã€çµŒéŽæ™‚間を計算ã™ã‚‹ãŸã‚ã«æ¸›ç®—を行ã„ã¾ã™ã€‚ | ||
51 | * 通常ã€ã‚¿ã‚¤ãƒ スタンプベースã®ãƒ‡ãƒã‚¦ãƒ³ã‚¹ã¯ã€ç‰¹ã«ãƒŽã‚¤ã‚ºè€æ€§ã®ã‚るデãƒã‚¤ã‚¹ã§å„ªã‚Œã¦ã„ã¾ã™ã€‚ãªãœãªã‚‰ã€ç‰©ç†ã‚¹ã‚¤ãƒƒãƒã®ã‚»ãƒˆãƒªãƒ³ã‚°æ™‚é–“ã¯æ™‚é–“ã®å˜ä½ã§æŒ‡å®šã•れã¦ãŠã‚Šã€ã‚ーボードã®ãƒžãƒˆãƒªãƒƒã‚¯ã‚¹ã‚¹ã‚ャンレートã«ä¾å˜ã—ãªã„ã‹ã‚‰ã§ã™ã€‚ | ||
52 | * 周期ベースã®ãƒ‡ãƒã‚¦ãƒ³ã‚¹ã¯ã€è£œæ£ã§ãるセトリング時間ãŒãƒžãƒˆãƒªãƒƒã‚¯ã‚¹ã‚¹ã‚ャンコードã®ãƒ‘フォーマンスã«ä¾å˜ã™ã‚‹ãŸã‚ã€åŠ£ã‚‹ã¨è¦‹ãªã•ã‚Œã‚‹å ´åˆãŒã‚りã¾ã™ã€‚ | ||
53 | 周期ベースã®ãƒ‡ãƒã‚¦ãƒ³ã‚¹ã‚’使ã†å ´åˆã€ã‚¹ã‚ャンコードã®ãƒ‘フォーマンスを大幅ã«å‘上ã•ã›ã‚‹ã¨ã€ãƒ‡ãƒã‚¦ãƒ³ã‚¹ã®åŠ¹æžœãŒä½Žä¸‹ã™ã‚‹å ´åˆãŒã‚りã¾ã™ã€‚ | ||
54 | 周期ベースã®ãƒ‡ãƒã‚¦ãƒ³ã‚¹ãŒæœ›ã¾ã—ã„状æ³ã¯ã€ãƒŽã‚¤ã‚ºãŒå˜åœ¨ã—ã€ã‚¹ã‚ャンアルゴリズムãŒé…ã„ã€ã‚‚ã—ãã¯é€Ÿåº¦ãŒå¯å¤‰ã§ã‚ã‚‹å ´åˆã§ã™ã€‚ | ||
55 | デãƒã‚¦ãƒ³ã‚¹ã‚¢ãƒ«ã‚´ãƒªã‚ºãƒ ãŒåŸºæœ¬çš„ã«ãƒŽã‚¤ã‚ºè€æ€§ãŒã‚ã‚‹å ´åˆã§ã‚‚ã€ã‚¹ã‚ャンãŒé…ãã€ã‚¿ã‚¤ãƒ スタンプベースã®ã‚¢ãƒ«ã‚´ãƒªã‚ºãƒ を使ã£ã¦ã„ã‚‹å ´åˆã¯ã€ | ||
56 | 2ã¤ã®ã‚µãƒ³ãƒ—ル値ã«åŸºã¥ã„ã¦ãƒ‡ãƒã‚¦ãƒ³ã‚¹ã‚’決定ã™ã‚‹ãŸã‚ã€ã‚¢ãƒ«ã‚´ãƒªã‚ºãƒ ã®ãƒŽã‚¤ã‚ºè€æ€§ã¯åˆ¶é™ã•れã¾ã™ã€‚ | ||
57 | * ç¾åœ¨ã€å…¨ã¦ã®çµ„ã¿è¾¼ã¿ãƒ‡ãƒã‚¦ãƒ³ã‚¹ã‚¢ãƒ«ã‚´ãƒªã‚ºãƒ ã¯ã€ã‚¿ã‚¤ãƒ スタンプベースã®ãƒ‡ãƒã‚¦ãƒ³ã‚¹ã®ã¿ã‚µãƒãƒ¼ãƒˆã—ã¦ã„ã¾ã™ã€‚å°†æ¥çš„ã«ã¯å‘¨æœŸãƒ™ãƒ¼ã‚¹ã®ãƒ‡ãƒã‚¦ãƒ³ã‚¹ã‚’実装ã—ã€```config.h``` マクãƒã‚’介ã—ã¦é¸æŠžã§ãるよã†ã«ãªã‚‹ã§ã—ょã†ã€‚ | ||
58 | |||
59 | 2) 対称 vs éžå¯¾ç§° | ||
60 | * 対称 - ã‚ーアップã¨ã‚ーダウンイベントã®ä¸¡æ–¹ã«ã€åŒã˜ãƒ‡ãƒã‚¦ãƒ³ã‚¹ã‚¢ãƒ«ã‚´ãƒªã‚ºãƒ ã‚’é©ç”¨ã—ã¾ã™ã€‚ | ||
61 | * 推奨ã•れる命åè¦å‰‡: ```sym_*``` | ||
62 | * éžå¯¾ç§° - ã‚ーダウンã¨ã‚ーアップイベントã«ç•°ãªã‚‹ãƒ‡ãƒã‚¦ãƒ³ã‚¹ã‚¢ãƒ«ã‚´ãƒªã‚ºãƒ ã‚’é©ç”¨ã—ã¾ã™ã€‚例ãˆã°ã€ã‚ーダウンã¯ã‚¤ãƒ¼ã‚¬ãƒ¼ã€ã‚ーアップã¯ãƒ‡ãƒ•ァー。 | ||
63 | * 推奨ã•れる命åè¦å‰‡: ```asym_*``` ã®å¾Œã«ã€ã‚ーダウンã€ã‚ーアップã®é †ã«ä½¿ã£ã¦ã„るアルゴリズムタイプã®è©³ç´°ãŒç¶šãã¾ã™ã€‚ | ||
64 | |||
65 | 3) イーガー vs デファー | ||
66 | * イーガー - ã‚ーã®å¤‰æ›´ã¯ã™ãã«å ±å‘Šã•れã¾ã™ã€‚DEBOUNCE ミリ秒以é™ã®å…¨ã¦ã®å…¥åŠ›ã¯ç„¡è¦–ã•れã¾ã™ã€‚ | ||
67 | * イーガーアルゴリズムã¯ãƒŽã‚¤ã‚ºè€æ€§ã¯ã‚りã¾ã›ã‚“ | ||
68 | * 推奨ã•れる命åè¦å‰‡: | ||
69 | * ```sym_eager_*``` | ||
70 | * ```asym_eager_*_*```: ã‚ーダウンã¯ã‚¤ãƒ¼ã‚¬ãƒ¼ã‚¢ãƒ«ã‚´ãƒªã‚ºãƒ を使ã„ã¾ã™ | ||
71 | * ```asym_*_eager_*```: ã‚ーアップã¯ã‚¤ãƒ¼ã‚¬ãƒ¼ã‚¢ãƒ«ã‚´ãƒªã‚ºãƒ を使ã„ã¾ã™ | ||
72 | * デファー - å¤‰æ›´ã‚’å ±å‘Šã™ã‚‹å‰ã« DEBOUNCE ミリ秒ã®é–“変更ãŒãªã„ã“ã¨ã‚’待機ã—ã¾ã™ | ||
73 | * デファーアルゴリズムã¯ãƒŽã‚¤ã‚ºè€æ€§ãŒã‚りã¾ã™ | ||
74 | * 推奨ã•れる命åè¦å‰‡: | ||
75 | * ```sym_defer_*``` | ||
76 | * ```asym_defer_*_*```: ã‚ーダウンã¯ãƒ‡ãƒ•ァーアルゴリズムを使ã„ã¾ã™ | ||
77 | * ```asym_*_defer_*```: ã‚ーアップã¯ãƒ‡ãƒ•ァーアルゴリズムを使ã„ã¾ã™ | ||
78 | |||
79 | 4) ã‚°ãƒãƒ¼ãƒãƒ« vs ã‚ーã”㨠vs 行ã”㨠| ||
80 | * ã‚°ãƒãƒ¼ãƒãƒ« - å…¨ã¦ã®ã‚ーã«å¯¾ã—ã¦1ã¤ã®ã‚¿ã‚¤ãƒžãƒ¼ã€‚ã‚ーã®å¤‰æ›´çŠ¶æ…‹ã¯ã€ã‚°ãƒãƒ¼ãƒãƒ«ã‚¿ã‚¤ãƒžãƒ¼ã«å½±éŸ¿ã‚’与ãˆã¾ã™ã€‚ | ||
81 | * 推奨ã•れる命åè¦å‰‡: ```*_g``` | ||
82 | * ã‚ーã”㨠- ã‚ーã”ã¨ã«1ã¤ã®ã‚¿ã‚¤ãƒžãƒ¼ã€‚ | ||
83 | * 推奨ã•れる命åè¦å‰‡: ```*_pk``` | ||
84 | * 行ã”㨠- 行ã”ã¨ã«1ã¤ã®ã‚¿ã‚¤ãƒžãƒ¼ã€‚ | ||
85 | * 推奨ã•れる命åè¦å‰‡: ```*_pr``` | ||
86 | * ã‚ーã”ã¨ã‚„行ã”ã¨ã®ã‚¢ãƒ«ã‚´ãƒªã‚ºãƒ ã¯ã‚ˆã‚Šå¤šãã®ãƒªã‚½ãƒ¼ã‚¹(パフォーマンス㨠RAM 使用é‡ã®è¦³ç‚¹ã§)を消費ã—ã¾ã™ãŒã€é«˜é€Ÿãªã‚¿ã‚¤ãƒ”ストã¯ã‚°ãƒãƒ¼ãƒãƒ«ã‚ˆã‚Šã‚‚ãã‚Œã‚‰ã‚’å¥½ã‚€å ´åˆãŒã‚りã¾ã™ã€‚ | ||
87 | |||
88 | ## QMK ã§ã‚µãƒãƒ¼ãƒˆã•れるデãƒã‚¦ãƒ³ã‚¹ã‚¢ãƒ«ã‚´ãƒªã‚ºãƒ | ||
89 | |||
90 | QMK ã¯ãƒ‡ãƒã‚¦ãƒ³ã‚¹ API を介ã—ã¦è¤‡æ•°ã®ãƒ‡ãƒã‚¦ãƒ³ã‚¹ã‚¢ãƒ«ã‚´ãƒªã‚ºãƒ をサãƒãƒ¼ãƒˆã—ã¾ã™ã€‚ | ||
91 | ã©ã®ãƒ‡ãƒã‚¦ãƒ³ã‚¹ãƒ¡ã‚½ãƒƒãƒ‰ãŒå‘¼ã°ã‚Œã‚‹ã‹ã®ãƒã‚¸ãƒƒã‚¯ã¯ä¸‹è¨˜ã®ã¨ãŠã‚Šã§ã™ã€‚```rules.mk``` ã§è¨å®šã•ã‚ŒãŸæ§˜ã€…ãªå®šç¾©ã‚’ãƒã‚§ãƒƒã‚¯ã—ã¾ã™ã€‚ | ||
11 | 92 | ||
12 | ``` | 93 | ``` |
13 | DEBOUNCE_DIR:= $(QUANTUM_DIR)/debounce | 94 | DEBOUNCE_DIR:= $(QUANTUM_DIR)/debounce |
14 | DEBOUNCE_TYPE?= sym_g | 95 | DEBOUNCE_TYPE?= sym_defer_g |
15 | ifneq ($(strip $(DEBOUNCE_TYPE)), custom) | 96 | ifneq ($(strip $(DEBOUNCE_TYPE)), custom) |
16 | QUANTUM_SRC += $(DEBOUNCE_DIR)/$(strip $(DEBOUNCE_TYPE)).c | 97 | QUANTUM_SRC += $(DEBOUNCE_DIR)/$(strip $(DEBOUNCE_TYPE)).c |
17 | endif | 98 | endif |
18 | ``` | 99 | ``` |
19 | 100 | ||
20 | # デãƒã‚¦ãƒ³ã‚¹ã®é¸æŠž | 101 | ### デãƒã‚¦ãƒ³ã‚¹ã®é¸æŠž |
21 | 102 | ||
22 | | DEBOUNCE_TYPE | 説明 | ä»–ã«å¿…è¦ãªã‚‚ã® | | 103 | | DEBOUNCE_TYPE | 説明 | ä»–ã«å¿…è¦ãªã‚‚ã® | |
23 | | ------------- | --------------------------------------------------- | ----------------------------- | | 104 | | ------------- | ------------------------------------------------------------- | ---------------------------------------------------------------------------- | |
24 | | 未定義 | デフォルトã®ã‚¢ãƒ«ã‚´ãƒªã‚ºãƒ ã€ç¾åœ¨ã®ã¨ã“ã‚ sym_g を使ã„ã¾ã™ | ç„¡ã— | | 105 | | 未定義 | デフォルトã®ã‚¢ãƒ«ã‚´ãƒªã‚ºãƒ ã€ç¾åœ¨ã®ã¨ã“ã‚ sym_defer_g を使ã„ã¾ã™ | ç„¡ã— | |
25 | | custom | 独自ã®ãƒ‡ãƒã‚¦ãƒ³ã‚¹ã‚³ãƒ¼ãƒ‰ã‚’使ã„ã¾ã™ | ```SRC += debounce.c``` ã§ç‹¬è‡ªã® debounce.c ã‚’è¿½åŠ ã—ã€å¿…è¦ãªé–¢æ•°ã‚’実装ã—ã¾ã™ | | 106 | | custom | 独自ã®ãƒ‡ãƒã‚¦ãƒ³ã‚¹ã‚³ãƒ¼ãƒ‰ã‚’使ã„ã¾ã™ | ```SRC += debounce.c``` ã§ç‹¬è‡ªã® debounce.c ã‚’è¿½åŠ ã—ã€å¿…è¦ãªé–¢æ•°ã‚’実装ã—ã¾ã™ | |
26 | | anything_else | quantum/debounce/* ã‹ã‚‰ä»–ã®ã‚¢ãƒ«ã‚´ãƒªã‚ºãƒ を使ã„ã¾ã™ | ç„¡ã— | | 107 | | ãã®ä»– | quantum/debounce/* ã‹ã‚‰ä»–ã®ã‚¢ãƒ«ã‚´ãƒªã‚ºãƒ を使ã„ã¾ã™ | ç„¡ã— | |
27 | 108 | ||
28 | **分割ã‚ーボードã«ã¤ã„ã¦**: | 109 | **分割ã‚ーボードã«ã¤ã„ã¦**: |
29 | デãƒã‚¦ãƒ³ã‚¹ã‚³ãƒ¼ãƒ‰ã¯åˆ†å‰²ã‚ーボードã¨äº’æ›æ€§ãŒã‚りã¾ã™ã€‚ | 110 | デãƒã‚¦ãƒ³ã‚¹ã‚³ãƒ¼ãƒ‰ã¯åˆ†å‰²ã‚ーボードã¨äº’æ›æ€§ãŒã‚りã¾ã™ã€‚ |
30 | 111 | ||
31 | # 独自ã®ãƒ‡ãƒã‚¦ãƒ³ã‚¹ã‚³ãƒ¼ãƒ‰ã®ä½¿ç”¨ | 112 | ### インクルードã•れã¦ã„るデãƒã‚¦ãƒ³ã‚¹ãƒ¡ã‚½ãƒƒãƒ‰ã®é¸æŠž |
32 | * ```DEBOUNCE_TYPE = custom``` ã‚’è¨å®šã—ã¾ã™ã€‚ | 113 | ã‚ーボードã¯ã€```rules.mk``` ã«æ¬¡ã®è¡Œã‚’è¿½åŠ ã™ã‚‹ã“ã¨ã§ã€æ—¢ã«å®Ÿè£…ã•れã¦ã„るデãƒã‚¦ãƒ³ã‚¹ãƒ¡ã‚½ãƒƒãƒ‰ã®1ã¤ã‚’é¸æŠžã§ãã¾ã™: |
33 | * ```SRC += debounce.c``` ã‚’è¿½åŠ ã—ã¾ã™ã€‚ | 114 | ``` |
34 | * 独自㮠```debounce.c``` ã‚’è¿½åŠ ã—ã¾ã™ã€‚例ã«ã¤ã„ã¦ã¯ã€```quantum/debounce``` ã«ã‚ã‚‹ç¾åœ¨ã®å®Ÿè£…ã‚’ã¿ã¦ãã ã•ã„。 | 115 | DEBOUNCE_TYPE = <アルゴリズムã®åå‰> |
35 | * 毎回ã®ãƒžãƒˆãƒªã‚¯ã‚¹ã‚¹ã‚ャンã®çµæžœã¯ãã®åº¦ãƒ‡ãƒã‚¦ãƒ³ã‚¹ã«ã‚ˆã£ã¦å‡¦ç†ã•れã¾ã™ã€‚ | 116 | ``` |
117 | アルゴリズムã®åå‰ã¯æ¬¡ã®ã„ãšã‚Œã‹ã§ã™: | ||
118 | * ```sym_defer_g``` - ã‚ーボードã”ã¨ã«ãƒ‡ãƒã‚¦ãƒ³ã‚¹ã—ã¾ã™ã€‚状態ãŒå¤‰åŒ–ã™ã‚‹ã¨ã€ã‚°ãƒãƒ¼ãƒãƒ«ã‚¿ã‚¤ãƒžãŒè¨å®šã•れã¾ã™ã€‚```DEBOUNCE``` ミリ秒ã®é–“何も変化ãŒãªã‘れã°ã€å…¨ã¦ã®å…¥åŠ›ã®å¤‰æ›´ãŒãƒ—ッシュã•れã¾ã™ã€‚ | ||
119 | * ã“れã¯ç¾åœ¨ã®ãƒ‡ãƒ•ォルトアルゴリズムã§ã™ã€‚ã“れã¯ãƒ¡ãƒ¢ãƒªä½¿ç”¨é‡ãŒæœ€ã‚‚å°‘ãªã„最高ã®ãƒ‘フォーマンスã®ã‚¢ãƒ«ã‚´ãƒªã‚ºãƒ ã§ã€ãƒŽã‚¤ã‚ºè€æ€§ã‚‚ã‚りã¾ã™ã€‚ | ||
120 | * ```sym_eager_pr``` - 行ã”ã¨ã«ãƒ‡ãƒã‚¦ãƒ³ã‚¹ã—ã¾ã™ã€‚状態ãŒå¤‰åŒ–ã™ã‚‹ã¨ã€å¿œç”ã¯å³åº§ã«è¡Œã‚れã€ãã®å¾Œãã®è¡Œã¯ ```DEBOUNCE``` ミリ秒ã®é–“入力ã•れã¾ã›ã‚“。 | ||
121 | ```NUM_KEYS``` ã® 8ãƒ“ãƒƒãƒˆã‚«ã‚¦ãƒ³ã‚¿ã®æ›´æ–°ã«é«˜ã„計算コストãŒã‹ã‹ã‚‹ã€ã‚‚ã—ãã¯ä½Žã‚¹ã‚ャンレートã®ã‚ーボード用ã§ã€å„指ã¯é€šå¸¸ä¸€åº¦ã«1行ã—ã‹å©ã‹ãªã„よã†ã«ãªã£ã¦ã„ã¾ã™ã€‚ã“れ㯠ErgoDox モデルã«é©ã—ã¦ã„ã¾ã™; マトリックスã¯90度回転ã—ã¦ã„ã‚‹ãŸã‚ã€ãã®ã€Œè¡Œã€ã¯å®Ÿéš›ã«ã¯ã€Œåˆ—ã€ã§ã‚りã€é€šå¸¸ã®ä½¿ç”¨ã§ã¯å„指ã¯ä¸€åº¦ã«1ã¤ã®ã€Œè¡Œã€ã«ã—ã‹å½“ãŸã‚Šã¾ã›ã‚“。 | ||
122 | * ```sym_eager_pk``` - ã‚ーã”ã¨ã«ãƒ‡ãƒã‚¦ãƒ³ã‚¹ã—ã¾ã™ã€‚状態ãŒå¤‰åŒ–ã™ã‚‹ã¨ã€å¿œç”ã¯å³åº§ã«è¡Œã‚れã€ãã®å¾Œãã®ã‚ー㯠```DEBOUNCE``` ミリ秒ã®é–“入力ã•れã¾ã›ã‚“。 | ||
123 | * ```sym_defer_pk``` - ã‚ーã”ã¨ã«ãƒ‡ãƒã‚¦ãƒ³ã‚¹ã—ã¾ã™ã€‚状態ãŒå¤‰åŒ–ã™ã‚‹ã¨ã€ã‚ーã”ã¨ã®ã‚¿ã‚¤ãƒžãƒ¼ãŒè¨å®šã•れã¾ã™ã€‚```DEBOUNCE``` ミリ秒ã®é–“ãã®ã‚ーã«å¤‰åŒ–ãŒãªã‘れã°ã€ã‚ーã®çŠ¶æ…‹ã®å¤‰æ›´ãŒãƒ—ッシュã•れã¾ã™ã€‚ | ||
124 | |||
125 | ### å°†æ¥å®Ÿè£…ã•れるå¯èƒ½æ€§ã®ã‚ã‚‹ã„ãã¤ã‹ã®ã‚¢ãƒ«ã‚´ãƒªã‚ºãƒ : | ||
126 | * ```sym_defer_pr``` | ||
127 | * ```sym_eager_g``` | ||
128 | * ```asym_eager_defer_pk``` | ||
129 | |||
130 | ### 独自ã®ãƒ‡ãƒã‚¦ãƒ³ã‚¹ã‚³ãƒ¼ãƒ‰ã®ä½¿ç”¨ | ||
131 | 独自ã®ãƒ‡ãƒã‚¦ãƒ³ã‚¹ã‚¢ãƒ«ã‚´ãƒªã‚ºãƒ を実装ã™ã‚‹ãŸã‚ã®ã‚ªãƒ—ションãŒã‚りã¾ã™ã€‚次ã®ã‚ˆã†ã«ã—ã¾ã™: | ||
132 | * ```rules.mk``` ã« ```DEBOUNCE_TYPE = custom``` ã‚’è¨å®šã—ã¾ã™ã€‚ | ||
133 | * ```rules.mk``` ã« ```SRC += debounce.c``` ã‚’è¿½åŠ ã—ã¾ã™ã€‚ | ||
134 | * 独自㮠```debounce.c``` ã‚’è¿½åŠ ã—ã¾ã™ã€‚例ã«ã¤ã„ã¦ã¯ã€```quantum/debounce``` ã«ã‚ã‚‹ç¾åœ¨ã®å®Ÿè£…を見ã¦ãã ã•ã„。 | ||
135 | * デãƒã‚¦ãƒ³ã‚¹ã¯ã€å…¨ã¦ã®ãƒžãƒˆãƒªã‚¯ã‚¹ã‚¹ã‚ャンã®å¾Œã§ç™ºç”Ÿã—ã¾ã™ã€‚ | ||
36 | * MATRIX_ROWS ã§ã¯ãªã num_rows を使ã£ã¦ã€åˆ†å‰²ã‚ãƒ¼ãƒœãƒ¼ãƒ‰ãŒæ£ã—ãサãƒãƒ¼ãƒˆã•れるよã†ã«ã—ã¾ã™ã€‚ | 136 | * MATRIX_ROWS ã§ã¯ãªã num_rows を使ã£ã¦ã€åˆ†å‰²ã‚ãƒ¼ãƒœãƒ¼ãƒ‰ãŒæ£ã—ãサãƒãƒ¼ãƒˆã•れるよã†ã«ã—ã¾ã™ã€‚ |
137 | * アルゴリズムãŒä»–ã®ã‚ーボードã«ã‚‚é©ç”¨ã§ãã‚‹å¯èƒ½æ€§ãŒã‚ã‚‹å ´åˆã€```quantum/debounce``` ã«è¿½åŠ ã™ã‚‹ã“ã¨ã‚’検討ã—ã¦ãã ã•ã„。 | ||
37 | 138 | ||
38 | # インクルードã•れã¦ã„るデãƒã‚¦ãƒ³ã‚¹ãƒ¡ã‚½ãƒƒãƒ‰é–“ã§ã®åˆ‡ã‚Šæ›¿ãˆ | 139 | ### å¤ã„åå‰ |
39 | 独自㮠debounce.c をインクルードã™ã‚‹ã“ã¨ã§ç‹¬è‡ªã®ã‚³ãƒ¼ãƒ‰ã‚’使ã†ã‹ã€ã¾ãŸã¯ã‚¤ãƒ³ã‚¯ãƒ«ãƒ¼ãƒ‰ã•れã¦ã„ã‚‹ä»–ã®ã‚³ãƒ¼ãƒ‰ã«åˆ‡ã‚Šæ›¿ãˆã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ | 140 | æ¬¡ã®æ—¢å˜ã®ã‚¢ãƒ«ã‚´ãƒªã‚ºãƒ ã®å¤ã„åå‰ã¯å¼•ãç¶šãサãƒãƒ¼ãƒˆã•れã¾ã™ãŒã€ä»£ã‚ã‚Šã«æ–°ã—ã„åå‰ã‚’使ã†ã“ã¨ã‚’推奨ã—ã¾ã™ã€‚ |
40 | å«ã¾ã‚Œã‚‹ãƒ‡ãƒã‚¦ãƒ³ã‚¹ãƒ¡ã‚½ãƒƒãƒ‰ã¯ä»¥ä¸‹ã®é€šã‚Šã§ã™: | 141 | |
41 | * eager_pr - 行ã”ã¨ã«ãƒ‡ãƒã‚¦ãƒ³ã‚¹ã—ã¾ã™ã€‚状態ãŒå¤‰åŒ–ã™ã‚‹ã¨ã€å¿œç”ã¯å³åº§ã«è¡Œã‚れã€ãã®å¾Œãã®è¡Œã¯ ```DEBOUNCE``` ミリ秒ã®é–“入力ã•れã¾ã›ã‚“。 | 142 | * sym_g - sym_defer_g ã®å¤ã„åå‰ |
42 | ```NUM_KEYS``` ã® 8ãƒ“ãƒƒãƒˆã‚«ã‚¦ãƒ³ã‚¿ã®æ›´æ–°ã«é«˜ã„計算コストãŒã‹ã‹ã‚‹ã€ã‚‚ã—ãã¯ä½Žã‚¹ã‚ャンレートã®ã‚ーボード用ã§ã€å„指ã¯é€šå¸¸ä¸€åº¦ã«1行ã—ã‹å©ã‹ãªã„よã†ã«ãªã£ã¦ã„ã¾ã™ã€‚ã“れ㯠ErgoDox モデルã«é©ã—ã¦ã„ã¾ã™; マトリックスã¯90度回転ã—ã¦ã„ã‚‹ãŸã‚ã€ãã®ã€Œè¡Œã€ã¯å®Ÿéš›ã«ã¯ã€Œåˆ—ã€ã§ã‚りã€é€šå¸¸ã®ä½¿ç”¨ã§ã¯å„指ã¯ä¸€åº¦ã«1ã¤ã®ã€Œè¡Œã€ã«ã—ã‹å½“ãŸã‚Šã¾ã›ã‚“。 | 143 | * eager_pk - sym_eager_pk ã®å¤ã„åå‰ |
43 | * eager_pk - ã‚ーã”ã¨ã«ãƒ‡ãƒã‚¦ãƒ³ã‚¹ã—ã¾ã™ã€‚状態ãŒå¤‰åŒ–ã™ã‚‹ã¨ã€å¿œç”ã¯å³åº§ã«è¡Œã‚れã€ãã®å¾Œãã®ã‚ー㯠```DEBOUNCE``` ミリ秒ã®é–“入力ã•れã¾ã›ã‚“。 | 144 | * sym_pk - sym_defer_pk ã®å¤ã„åå‰ |
44 | * sym_g - ã‚ーボードã”ã¨ã«ãƒ‡ãƒã‚¦ãƒ³ã‚¹ã—ã¾ã™ã€‚状態ãŒå¤‰åŒ–ã™ã‚‹ã¨ã€ã‚°ãƒãƒ¼ãƒãƒ«ã‚¿ã‚¤ãƒžãŒè¨å®šã•れã¾ã™ã€‚```DEBOUNCE``` ミリ秒ã®é–“何も変化ãŒãªã‘れã°ã€å…¨ã¦ã®å…¥åŠ›ã®å¤‰æ›´ãŒãƒ—ッシュã•れã¾ã™ã€‚ | 145 | * eager_pr - sym_eager_pr ã®å¤ã„åå‰ |
45 | * sym_pk - ã‚ーã”ã¨ã«ãƒ‡ãƒã‚¦ãƒ³ã‚¹ã—ã¾ã™ã€‚状態ãŒå¤‰åŒ–ã™ã‚‹ã¨ã€ã‚ーã”ã¨ã®ã‚¿ã‚¤ãƒžãƒ¼ãŒè¨å®šã•れã¾ã™ã€‚```DEBOUNCE``` ミリ秒ã®é–“ãã®ã‚ーã«å¤‰åŒ–ãŒãªã‘れã°ã€ã‚ーã®çŠ¶æ…‹ã®å¤‰æ›´ãŒãƒ—ッシュã•れã¾ã™ã€‚ | ||