aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorshela <shelaf@users.noreply.github.com>2020-08-01 08:28:29 +0900
committerGitHub <noreply@github.com>2020-07-31 16:28:29 -0700
commit0f3e933db98a93afae075ba4150472d5db7e591d (patch)
tree089fa95eaf57012d92becb45202c46877257bd65
parentf3b518ae4082bd49335c1b60d2cfe89a500ad878 (diff)
downloadqmk_firmware-0f3e933db98a93afae075ba4150472d5db7e591d.tar.gz
qmk_firmware-0f3e933db98a93afae075ba4150472d5db7e591d.zip
[Docs] Update Japanese translation of feature_backlight.md. (#9803)
* Update Japanese translation of feature_backlight.md. * fix original document version. * Apply suggestions from code review
-rw-r--r--docs/ja/feature_backlight.md277
1 files changed, 124 insertions, 153 deletions
diff --git a/docs/ja/feature_backlight.md b/docs/ja/feature_backlight.md
index 760c6444c..9647f215d 100644
--- a/docs/ja/feature_backlight.md
+++ b/docs/ja/feature_backlight.md
@@ -1,253 +1,224 @@
1# バックライト 1# バックライト :id=backlighting
2 2
3<!--- 3<!---
4 original document: 0.9.10:docs/feature_backlight.md 4 original document: 0.9.44:docs/feature_backlight.md
5 git diff 0.9.10 HEAD -- docs/feature_backlight.md | cat 5 git diff 0.9.44 HEAD -- docs/feature_backlight.md | cat
6--> 6-->
7 7
8多くのキーボードは、キースイッチを貫通して配置されたり、キースイッチの下に配置された個々の LED によって、バックライトキーをサポートします。この機能は通常スイッチごとに単一の色しか使用できないため、[RGB アンダーグロー](ja/feature_rgblight.md)および [RGB マトリックス](ja/feature_rgb_matrix.md)機能のどちらとも異なりますが、キーボードに複数の異なる単一色の LED を取り付けることは当然可能です。 8多くのキーボードは、キースイッチを貫通して配置されたり、キースイッチの下に配置された個々の LED によって、バックライトキーをサポートします。この機能は通常スイッチごとに単一の色しか使用できないため、[RGB アンダーグロー](ja/feature_rgblight.md)および [RGB マトリックス](ja/feature_rgb_matrix.md)機能のどちらとも異なりますが、キーボードに複数の異なる単一色の LED を取り付けることは当然可能です。
9 9
10QMK は *パルス幅変調*(*Pulse Width Modulation*) すなわち PWM として知られている技術で急速にオンおよびオフを切り替えることで、これらの LED の輝度を制御できます。PWM 信号のデューティサイクルを変えることで、調光の錯覚を起こすことができます。 10QMK は *パルス幅変調* (*Pulse Width Modulation*) すなわち PWM として知られている技術で、一定の比率で素早くオンおよびオフを切り替えることで、これらの LED の輝度を制御できます。PWM 信号のデューティサイクルを変えることで、調光の錯覚を起こすことができます。
11 11
12MCU は、GPIO ピンにはそんなに電流を供給できません。MCU から直接バックライトに給電せずに、バックライトピンは LED への電力を切り替えるトランジスタあるいは MOSFET に接続されます。 12MCU は、GPIO ピンにはそんなに電流を供給できません。MCU から直接バックライトに給電せずに、バックライトピンは LED への電力を切り替えるトランジスタあるいは MOSFET に接続されます。
13 13
14## 機能の設定
15
16ほとんどのキーボードではバックライトをサポートしている場合にデフォルトで有効になっていますが、もし機能しない場合は `rules.mk` が以下を含んでいることを確認してください: 14ほとんどのキーボードではバックライトをサポートしている場合にデフォルトで有効になっていますが、もし機能しない場合は `rules.mk` が以下を含んでいることを確認してください:
17 15
18```makefile 16```makefile
19BACKLIGHT_ENABLE = yes 17BACKLIGHT_ENABLE = yes
20``` 18```
21 19
22## キーコード 20## キーコード :id=keycodes
21
23有効にすると、以下のキーコードを使ってバックライトレベルを変更することができます。 22有効にすると、以下のキーコードを使ってバックライトレベルを変更することができます。
24 23
25| キー | 説明 | 24| キー | 説明 |
26|---------|------------------------------------------| 25| --------- | ------------------------------------ |
27| `BL_TOGG` | バックライトをオンあるいはオフにする | 26| `BL_TOGG` | バックライトをオンあるいはオフにする |
28| `BL_STEP` | バックライトレベルを循環する | 27| `BL_STEP` | バックライトレベルを循環する |
29| `BL_ON` | バックライトを最大輝度に設定する | 28| `BL_ON` | バックライトを最大輝度に設定する |
30| `BL_OFF` | バックライトをオフにする | 29| `BL_OFF` | バックライトをオフにする |
31| `BL_INC` | バックライトレベルを上げる | 30| `BL_INC` | バックライトレベルを上げる |
32| `BL_DEC` | バックライトレベルを下げる | 31| `BL_DEC` | バックライトレベルを下げる |
33| `BL_BRTG` | バックライトの明滅動作を切り替える | 32| `BL_BRTG` | バックライトの明滅動作を切り替える |
34 33
35## バックライト関数群 34## 関数群 :id=functions
36 35
37| 関数 | 説明 | 36次の関数を使って、カスタムコードでバックライトを変更することができます:
38|----------|-----------------------------------------------------------| 37
39| `backlight_toggle()` | バックライトをオンあるいはオフにする | 38| 関数 | 説明 |
40| `backlight_enable()` | バックライトをオンにする | 39| ------------------------ | -------------------------------------------- |
41| `backlight_disable()` | バックライトをオフにする | 40| `backlight_toggle()` | バックライトをオンあるいはオフにする |
42| `backlight_step()` | バックライトレベルを循環する | 41| `backlight_enable()` | バックライトをオンにする |
43| `backlight_increase()` | バックライトレベルを上げる | 42| `backlight_disable()` | バックライトをオフにする |
44| `backlight_decrease()` | バックライトレベルを下げる | 43| `backlight_step()` | バックライトレベルを循環する |
45| `backlight_level(x)` | バックライトのレベルを特定のレベルに設定する | 44| `backlight_increase()` | バックライトレベルを上げる |
46| `get_backlight_level()` | 現在のバックライトレベルを返す | 45| `backlight_decrease()` | バックライトレベルを下げる |
47| `is_backlight_enabled()` | バックライトが現在オンかどうかを返す | 46| `backlight_level(x)` | バックライトのレベルを特定のレベルに設定する |
48 47| `get_backlight_level()` | 現在のバックライトレベルを返す |
49### バックライトの明滅動作の関数群 48| `is_backlight_enabled()` | バックライトが現在オンかどうかを返す |
50 49
51| 関数 | 説明 | 50バックライトの明滅が有効の場合(以下を参照)、以下の関数も利用できます:
52|----------|---------------------------------------------------| 51
53| `breathing_toggle()` | バックライトの明滅動作をオンまたはオフにする | 52| 関数 | 説明 |
54| `breathing_enable()` | バックライトの明滅動作をオンにする | 53|-----------------------|----------------------------------------------|
55| `breathing_disable()` | バックライトの明滅動作をオフにする | 54| `breathing_toggle()` | バックライトの明滅動作をオンまたはオフにする |
56 55| `breathing_enable()` | バックライトの明滅動作をオンにする |
57## ドライバの設定 56| `breathing_disable()` | バックライトの明滅動作をオフにする |
57
58## 設定 :id=configuration
58 59
59どのドライバを使うかを選択するには、以下を使って `rules.mk` を設定します: 60どのドライバを使うかを選択するには、以下を使って `rules.mk` を設定します:
60 61
61```makefile 62```makefile
62BACKLIGHT_DRIVER = software # 有効なドライバの値は 'pwm,software,no' です 63BACKLIGHT_DRIVER = software
63``` 64```
64 65
65各ドライバについてのヘルプは以下を見てください。 66有効なドライバの値は `pwm`, `software`, `custom`, `no` です。各ドライバについてのヘルプは以下を見てください。
66
67## 共通のドライバ設定
68 67
69バックライト挙動するには、`config.h` の中で以下の `#define` をします: 68バックライトをするには、`config.h` の中で以下の `#define` をします:
70 69
71| 定義 | デフォルト | 説明 | 70| 定義 | デフォルト | 説明 |
72|---------------------|-------------|--------------------------------------------------------------------------------------| 71| --------------------- | ---------- | ------------------------------------------------------------------------------------------- |
73| `BACKLIGHT_LEVELS` | `3` | 輝度のレベルの数 (オフを除いて最大 31) | 72| `BACKLIGHT_PIN` | *定義なし* | LED を制御するピン |
73| `BACKLIGHT_LEVELS` | `3` | 輝度のレベルの数 (オフを除いて最大 31) |
74| `BACKLIGHT_CAPS_LOCK` | *定義なし* | バックライトを使って Caps Lock のインジケータを有効にする (専用 LED の無いキーボードのため) | 74| `BACKLIGHT_CAPS_LOCK` | *定義なし* | バックライトを使って Caps Lock のインジケータを有効にする (専用 LED の無いキーボードのため) |
75| `BACKLIGHT_BREATHING` | *定義なし* | サポートされる場合は、バックライトの明滅動作を有効にする | 75| `BACKLIGHT_BREATHING` | *定義なし* | サポートされる場合は、バックライトの明滅動作を有効にする |
76| `BREATHING_PERIOD` | `6` | 各バックライトの "明滅" の長さ(秒) | 76| `BREATHING_PERIOD` | `6` | 各バックライトの "明滅" の長さ(秒) |
77| `BACKLIGHT_ON_STATE` | `0` | バックライトが "オン" の時のバックライトピンの状態 - high の場合は `1`、low の場合は `0` | 77| `BACKLIGHT_ON_STATE` | `1` | バックライトが "オン" の時のバックライトピンの状態 - high の場合は `1`、low の場合は `0` |
78 78
79### バックライトオン状態 79独自のキーボードを設計しているわけではない限り、通常は `BACKLIGHT_PIN` または `BACKLIGHT_ON_STATE` を変更する必要はありません。
80 80
81ほとんどのバックライトの回路は N チャンネルの MOSFET あるいは NPN トランジスタによって駆動されます。これは、トランジスタを*オン*にして LED を点灯させるには、ゲートまたはベースに接続されているバックライトピンを *high* に駆動する必要があることを意味します。 81### バックライトオン状態 :id=backlight-on-state
82
83ほとんどのバックライトの回路は N チャンネルの MOSFET あるいは NPN トランジスタによって駆動されます。これは、トランジスタを *オン* にして LED を点灯させるには、ゲートまたはベースに接続されているバックライトピンを *high* に駆動する必要があることを意味します。
82ただし、P チャンネルの MOSFET あるいは PNP トランジスタが使われる場合があります。この場合、トランジスタがオンの時、ピンは代わりに *low* で駆動されます。 84ただし、P チャンネルの MOSFET あるいは PNP トランジスタが使われる場合があります。この場合、トランジスタがオンの時、ピンは代わりに *low* で駆動されます。
83 85
84この機能は `BACKLIGHT_ON_STATE` 定義することでキーボードレベルで設定されます。 86この機能は `BACKLIGHT_ON_STATE` を定義することでキーボードレベルで設定されます。
87
88### AVR ドライバ :id=avr-driver
85 89
86## AVR ドライバ 90`pwm` ドライバはデフォルトで設定されますが、`rules.mk` 内での同等の設定は以下の通りです:
87 91
88AVR ボードでは、デフォルトのドライバは現在のところ最善のシナリオを選択するために構成を探っています。ドライバはデフォルトで設定されますが、rules.mk 内の同等の設定は以下の通りです:
89```makefile 92```makefile
90BACKLIGHT_DRIVER = pwm 93BACKLIGHT_DRIVER = pwm
91``` 94```
92 95
93### 注意事項 96#### 注意事項 :id=avr-caveats
94 97
95ード PWM は以下の表に従ってポートます: 98AVR ード、QMKどのドライバをうかを下の表に従って自動的決定ます:
96 99
97| バックライトピン | AT90USB64/128 | ATmega16/32U4 | ATmega16/32U2 | ATmega32A | ATmega328/P | 100| バックライトピン | AT90USB64/128 | ATmega16/32U4 | ATmega16/32U2 | ATmega32A | ATmega328/P |
98|-------------|-------------|-------------|-------------|---------|----------| 101| ---------------- | ------------- | ------------- | ------------- | --------- | ----------- |
99| `B1` | | | | | Timer 1 | 102| `B1` | | | | | Timer 1 |
100| `B2` | | | | | Timer 1 | 103| `B2` | | | | | Timer 1 |
101| `B5` | Timer 1 | Timer 1 | | | | 104| `B5` | Timer 1 | Timer 1 | | | |
102| `B6` | Timer 1 | Timer 1 | | | | 105| `B6` | Timer 1 | Timer 1 | | | |
103| `B7` | Timer 1 | Timer 1 | Timer 1 | | | 106| `B7` | Timer 1 | Timer 1 | Timer 1 | | |
104| `C4` | Timer 3 | | | | | 107| `C4` | Timer 3 | | | | |
105| `C5` | Timer 3 | | Timer 1 | | | 108| `C5` | Timer 3 | | Timer 1 | | |
106| `C6` | Timer 3 | Timer 3 | Timer 1 | | | 109| `C6` | Timer 3 | Timer 3 | Timer 1 | | |
107| `D4` | | | | Timer 1 | | 110| `D4` | | | | Timer 1 | |
108| `D5` | | | | Timer 1 | | 111| `D5` | | | | Timer 1 | |
109 112
110他の全てのピンはソフトウェア PWM を使います。[オーディオ](ja/feature_audio.md)機能が無効あるいは1つのタイマだけを使っている場合は、ハードウェアタイマによってバックライト PWM を引き起こすことができます: 113他の全てのピンはタイマー支援ソフトウェア PWM を使います。
111 114
112| オーディオピン | オーディオタイマ | ソフトウェア PWM タイマ | 115| オーディオピン | オーディオタイマ | ソフトウェア PWM タイマ |
113|---------|-----------|------------------| 116| -------------- | ---------------- | ----------------------- |
114| `C4` | Timer 3 | Timer 1 | 117| `C4` | Timer 3 | Timer 1 |
115| `C5` | Timer 3 | Timer 1 | 118| `C5` | Timer 3 | Timer 1 |
116| `C6` | Timer 3 | Timer 1 | 119| `C6` | Timer 3 | Timer 1 |
117| `B5` | Timer 1 | Timer 3 | 120| `B5` | Timer 1 | Timer 3 |
118| `B6` | Timer 1 | Timer 3 | 121| `B6` | Timer 1 | Timer 3 |
119| `B7` | Timer 1 | Timer 3 | 122| `B7` | Timer 1 | Timer 3 |
120
121両方のタイマーがオーディオのために使われている場合、バックライト PWM はハードウェアタイマを使いませんが、代わりにマトリックススキャンの間に引き起こされます。この場合、PWM の計算は十分なタイミングの精度で呼ばれないかもしれないため、バックライトの明滅はサポートされず、バックライトもちらつくかもしれません。
122
123### AVR 設定
124
125バックライトの挙動を変更するには、`config.h` の中で以下の `#define` をします:
126
127| 定義 | デフォルト | 説明 |
128|---------------------|-------------|--------------------------------------------------------------------------------------------------------------|
129| `BACKLIGHT_PIN` | `B7` | LED を制御するピン。自身のキーボードを設計している場合を除き、これを変更する必要はないはずです |
130| `BACKLIGHT_PINS` | *定義なし* | 実験的: 詳細は以下を見てください |
131| `BACKLIGHT_LEVELS` | `3` | 輝度のレベルの数 (オフを除いて最大 31) |
132| `BACKLIGHT_CAPS_LOCK` | *定義なし* | バックライトを使って Caps Lock のインジケータを有効にする (専用 LED の無いキーボードのため) |
133| `BACKLIGHT_BREATHING` | *定義なし* | サポートされる場合は、バックライトの明滅動作を有効にする |
134| `BREATHING_PERIOD` | `6` | 各バックライトの "明滅" の長さ(秒) |
135| `BACKLIGHT_ON_STATE` | `1` | バックライトが "オン" の時のバックライトピンの状態 - high の場合は `1`、low の場合は `0` |
136
137### バックライトオン状態
138
139ほとんどのバックライトの回路は N チャンネルの MOSFET あるいは NPN トランジスタによって駆動されます。これは、トランジスタを*オン*にして LED を点灯させるには、ゲートまたはベースに接続されているバックライトピンを *high* に駆動する必要があることを意味します。
140ただし、P チャンネルの MOSFET あるいは PNP トランジスタが使われる場合があります。この場合、トランジスタがオンの時、ピンは代わりに *low* で駆動されます。
141
142この機能は `BACKLIGHT_ON_STATE` 定義することでキーボードレベルで設定されます。
143
144### 複数のバックライトピン
145 123
146ほとんどのキーボードは、全てのバックライト LED を制御するたった1つのバックライトピンを持ちます (特にバックライトがハードウェア PWM ピンに接続されている場合)。 124両方のタイマーがオーディオのために使われている場合、バックライト PWM はハードウェアタイマを使うことができず、代わりにマトリックススキャンの間に引き起こされます。この場合、PWM の計算は十分なタイミングの精度で呼ばれない可能性があるため、バックライトの明滅はサポートされず、バックライトもちらつくかもしれません。
147ソフトウェア PWM では、複数のバックライトピンを定義することができます。これらすべてのピンは PWM デューティサイクル時に同時にオンおよびオフになります。
148この機能により、例えば Caps Lock LED (またはその他の制御可能な LED) の輝度を、バックライトの他の LED と同じレベルに設定することができます。Caps Lock の代わりに LCTRL をマップしていて、Caps Lock がオンの時に Caps Lock LED をアクティブにする代わりにバックライトの一部にする必要がある場合に便利です。
149
150複数のバックライトピンをアクティブにするには、`config.h` に次のようなものを追加する必要があります:
151
152```c
153#define BACKLIGHT_LED_COUNT 2
154#undef BACKLIGHT_PIN
155#define BACKLIGHT_PINS { F5, B2 }
156```
157 125
158### ハードウェア PWM 実装 126#### ハードウェア PWM 実装 :id=hardware-pwm-implementation
159 127
160バックライト用にサポートされているピンを使う場合、QMK は PWM 信号を出力するように設定されたハードウェアタイマを使います。タイマーは 0 にリセットする前に `ICRx` (デフォルトでは `0xFFFF`) までカウントします。 128バックライト用にサポートされているピンを使う場合、QMK は PWM 信号を出力するように設定されたハードウェアタイマを使います。タイマーは 0 にリセットする前に `ICRx` (デフォルトでは `0xFFFF`) までカウントします。
161希望の輝度が計算され、`OCRxx` レジスタ内に格納されます。カウンタがこの値まで達すると、バックライトピンは low になり、カウンタがリセットされると再び high になります。 129希望の輝度が計算され、`OCRxx` レジスタに格納されます。カウンタがこの値まで達すると、バックライトピンは low になり、カウンタがリセットされると再び high になります。
162このように `OCRxx` は基本的に LED のデューティサイクル、従って輝度を制御します。`0x0000` は完全にオフで、 `0xFFFF` は完全にオンです。 130このように `OCRxx` は基本的に LED のデューティサイクル、従って輝度を制御します。`0x0000` は完全にオフで、 `0xFFFF` は完全にオンです。
163 131
164明滅動作の効果はカウンタがリセットされる(秒間あたりおよそ244回)たびに呼び出される `TIMER1_OVF_vect` の割り込みハンドラを登録することで可能になります。 132明滅動作の効果はカウンタがリセットされる(秒間あたりおよそ244回)たびに呼び出される `TIMER1_OVF_vect` の割り込みハンドラを登録することで可能になります。
165このハンドラ内で、増分カウンタの値が事前に計算された輝度曲線にマップされます。明滅動作をオフにするには、割り込みを単純に禁止し、輝度を EEPROM に格納されているレベルに再設定します。 133このハンドラで、増分カウンタの値が事前に計算された輝度曲線にマップされます。明滅動作をオフにするには、割り込みを単純に禁止し、輝度を EEPROM に格納されているレベルに再設定します。
166 134
167### タイマーにアシストされた PWM 実装 135#### タイマー支援 PWM 実装 :id=timer-assisted-implementation
168 136
169`BACKLIGHT_PIN` がハードウェアバックライトピンに設定されていない場合、QMK はソフトウェア割り込みを引き起こすように設定されているハードウェアタイマを使います。タイマーは 0 にリセットする前に `ICRx` (デフォルトでは `0xFFFF`) までカウントします。 137`BACKLIGHT_PIN` がハードウェアバックライトピンに設定されていない場合、QMK はソフトウェア割り込みを引き起こすように設定されているハードウェアタイマを使います。タイマーは 0 にリセットする前に `ICRx` (デフォルトでは `0xFFFF`) までカウントします。
1700 に再設定すると、CPU は LED をオンにする OVF (オーバーフロー)割り込みを発火し、デューティサイクルを開始します。 1380 に再設定すると、CPU は LED をオンにする OVF (オーバーフロー)割り込みを発火し、デューティサイクルを開始します。
171希望の輝度が計算され、`OCRxx` レジスタ内に格納されます。カウンタがこの値に達すると、CPU は比較出力一致割り込みを発火し、LED をオフにします。 139希望の輝度が計算され、`OCRxx` レジスタに格納されます。カウンタがこの値に達すると、CPU は比較出力一致割り込みを発火し、LED をオフにします。
172このように `OCRxx` は基本的に LED のデューティサイクル、従って輝度を制御します。 `0x0000` は完全にオフで、 `0xFFFF` は完全にオンです。 140このように `OCRxx` は基本的に LED のデューティサイクル、従って輝度を制御します。 `0x0000` は完全にオフで、 `0xFFFF` は完全にオンです。
173 141
174明滅の効果はハードウェア PWM 実装と同じです。 142明滅の効果はハードウェア PWM 実装と同じです。
175 143
176## ARM ドライバ 144### ARM ドライバ :id=arm-configuration
145
146まだ初期段階ですが、ARM バックライトサポートは最終的に AVR と同等の機能を持つことを目指しています。`pwm` ドライバはデフォルトで設定されますが、`rules.mk` 内での同等の設定は以下の通りです:
177 147
178まだ初期段階ですが、ARM バックライトサポートは最終的に AVR と同等の機能を持つことを目指しています。ドライバはデフォルトで設定されますが、rules.mk 内の同等の設定は以下の通りです:
179```makefile 148```makefile
180BACKLIGHT_DRIVER = pwm 149BACKLIGHT_DRIVER = pwm
181``` 150```
182 151
183### 注意事項 152#### ChibiOS の設定 :id=arm-configuration
153
154以下の `#define` は ARM ベースのキーボードにのみ適用されます:
184 155
185現在のところ、ハードウェア PWM のみがサポートされ、タイマーはアシストされず、自動設定は提供されません。 156| 定義 | デフォルト | 説明 |
157| ----------------------- | ---------- | ----------------------- |
158| `BACKLIGHT_PWM_DRIVER` | `PWMD4` | 使用する PWM ドライバ |
159| `BACKLIGHT_PWM_CHANNEL` | `3` | 使用する PWM チャンネル |
160| `BACKLIGHT_PAL_MODE` | `2` | 使用するピン代替関数 |
186 161
187?> STMF072 のバックライトサポートのテストは制限されています。人によって違うかもしれません。不明な場合は、rules.mk で `BACKLIGHT_ENABLE = no` を設定します。 162これらの値を決定するには、特定の MCU の ST データシートを参照してください。独自のキーボードを設計しているわけではない場合、通常はこれらを変更する必要はありません。
188 163
189### ARM 164#### 意事項 :id=arm-caveats
190 165
191バックライトの挙動を変更するには、`config.h` の中で以下の `#define` をします: 166現在のところ、ハードウェア PWM のみがサポートされ、タイマー支援はなく、自動設定は提供されません。
192 167
193| 定義 | デフォルト | 説明 | 168?> STM32F072 のバックライトサポートのテストは制限されています。人によって違うかもしれません。不明な場合は、`rules.mk` で `BACKLIGHT_ENABLE = no` を設定します。
194|------------------------|-------------|-------------------------------------------------------------------------------------------------------------|
195| `BACKLIGHT_PIN` | `B7` | LED を制御するピン。自身のキーボードを設計している場合を除き、これを変更する必要はないはずです |
196| `BACKLIGHT_PWM_DRIVER` | `PWMD4` | 使用する PWM ドライバ。ピンから PWM タイマへのマッピングについては、ST データシートを見てください。自身のキーボードを設計している場合を除き、これを変更する必要はないはずです |
197| `BACKLIGHT_PWM_CHANNEL` | `3` | 使用する PWM チャンネル。ピンから PWM チャンネルへのマッピングについては、ST データシートを見てください。自身のキーボードを設計している場合を除き、これを変更する必要はないはずです |
198| `BACKLIGHT_PAL_MODE` | `2` | 使用するピンの代替機能。ピンの AF マッピングについては ST データシートを見てください。自身のキーボードを設計している場合を除き、これを変更する必要はないはずです |
199 169
200## Software PWM Driver :id=software-pwm-driver 170### ソフトウェア PWM ドライバ :id=software-pwm-driver
171
172このモードでは、他のキーボードのタスクを実行中に PWM は「エミュレート」されます。追加のプラットフォーム設定なしで最大のハードウェア互換性を提供します。トレードオフは、キーボードが忙しい時にバックライトが揺れる可能性があることです。有効にするには、`rules.mk` に以下を追加します:
201 173
202他のキーボードのタスクを実行中に PWM をエミュレートすることにより、追加のプラットフォーム設定なしで最大のハードウェア互換性を提供します。トレードオフは、キーボードが忙しい時にバックライトが揺れる可能性があることです。有効にするには、rules.mk に以下を追加します:
203```makefile 174```makefile
204BACKLIGHT_DRIVER = software 175BACKLIGHT_DRIVER = software
205``` 176```
206 177
207### ソフトウェア PWM 設定 178#### 複数のバックライトピン :id=multiple-backlight-pins
208
209バックライトの挙動を変更するには、`config.h` の中で以下の `#define` をします:
210
211| 定義 | デフォルト | 説明 |
212|-----------------|-------------|-------------------------------------------------------------------------------------------------------------|
213| `BACKLIGHT_PIN` | `B7` | LED を制御するピン。自身のキーボードを設計している場合を除き、これを変更する必要はないはずです |
214| `BACKLIGHT_PINS` | *定義なし* | 実験的: 詳細は以下を見てください |
215
216### 複数のバックライトピン
217 179
218ほとんどのキーボードは、全てのバックライト LED を制御するたった1つのバックライトピンを持ちます (特にバックライトがハードウェア PWM ピンに接続されている場合)。 180ほとんどのキーボードは、全てのバックライト LED を制御するたった1つのバックライトピンを持ちます (特にバックライトがハードウェア PWM ピンに接続されている場合)。
219ソフトウェア PWM では、複数のバックライトピンを定義することができます。これらすべてのピンは PWM デューティサイクル時に同時にオンおよびオフになります。 181ソフトウェア PWM では、複数のバックライトピンを定義することができます。これらのピンは PWM デューティサイクル時に同時にオンおよびオフになります。
220この機能により、例えば Caps Lock LED (またはその他の制御可能な LED) の輝度を、バックライトの他の LED と同じレベルに設定することができます。Caps Lock の代わりに LCTRL をマップしていて、Caps Lock がオンの時に Caps Lock LED をアクティブにする代わりにバックライトの一部にする必要がある場合に便利です。
221 182
222複数のバックライトピンをアクティブにするには、`config.h` に次のようなものを追加する必要があります: 183この機能により、例えば Caps Lock LED (またはその他の制御可能な LED) の輝度を、バックライトの他の LED と同じレベルに設定することができます。Caps Lock LED は通常バックライトとは別のピンに配線されるため、Caps Lock の代わりに Control をマップしていて、Caps Lock がオンの時に Caps Lock LED ではなくバックライトの一部をアクティブにする必要がある場合に便利です。
184
185複数のバックライトピンをアクティブにするには、`config.h` に `BACKLIGHT_PIN` の代わりに次のようなものを追加します:
223 186
224```c 187```c
225#undef BACKLIGHT_PIN
226#define BACKLIGHT_PINS { F5, B2 } 188#define BACKLIGHT_PINS { F5, B2 }
227``` 189```
228 190
229## カスタムドライバ 191### カスタムドライバ :id=custom-driver
230 192
231有効にするには、rules.mk に以下を追加します: 193上記ドライバのいずれもキーボードに適用されていない場合(例えば、バックライトを制御するのに別の IC を使用している場合)、QMK が提供しているこの簡単な API を使ってカスタムバックライトドライバを実装することができます。有効にするには、`rules.mk` に以下を追加します:
232 194
233```makefile 195```makefile
234BACKLIGHT_DRIVER = custom 196BACKLIGHT_DRIVER = custom
235``` 197```
236 198
237 API 実装場合提供キーボードフックす: 199れかす:
238 200
239```c 201```c
240void backlight_init_ports(void) { 202void backlight_init_ports(void) {
241 // オプション - 起動時に実行されます 203 // オプション - 起動時に実行されます
242 // - 通常、ここでピンを設定します 204 // 通常、ここでピンを設定します
243} 205}
244void backlight_set(uint8_t level) { 206void backlight_set(uint8_t level) {
245 // オプション - レベルの変更時に実行されます 207 // オプション - レベルの変更時に実行されます
246 // - 通常、ここで新しい値に応答します 208 // 通常、ここで新しい値に応答します
247} 209}
248 210
249void backlight_task(void) { 211void backlight_task(void) {
250 // オプション - 定期的に実行されます 212 // オプション - 定期的に実行されます
251 // - ここで長時間実行されるアクションはパフォーマンスの問題を引き起こします 213 // これはメインキーボードループで呼び出されることに注意してください
214 // そのため、ここで長時間実行されるアクションはパフォーマンスの問題を引き起こします
252} 215}
253``` 216```
217
218## 回路図の例
219
220この一般的な例では、バックライト LED は全て N チャンネル MOSFET に向かって並列に接続されています。そのゲートピンは、リンギングを回避するため 470Ωの抵抗を介してマイクロコントローラの GPIO ピンの1つに接続されています。
221プルダウン抵抗もゲートピンとグランドの間に配置されており、MCU によって駆動されていない場合にプルダウン抵抗を定義された状態に保ちます。
222これらの抵抗値は重要ではありません。詳細については、[this Electronics StackExchange question](https://electronics.stackexchange.com/q/68748) を参照してください。
223
224![バックライトの回路例](https://i.imgur.com/BmAvoUC.png)