Skip to content

Commit

Permalink
[Docs] Japanese translation of docs/feature_dip_switch.md (#8673)
Browse files Browse the repository at this point in the history
* add git_dip_switch.md translation

* update based on comment

* update based on comment
  • Loading branch information
umi-umi authored Apr 13, 2020
1 parent f514ad5 commit 355b693
Showing 1 changed file with 95 additions and 0 deletions.
95 changes: 95 additions & 0 deletions docs/ja/feature_dip_switch.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
# DIP スイッチ

<!---
original document: 0.8.94:docs/feature_dip_switch.md
git diff 0.8.94 HEAD -- docs/feature_dip_switch.md | cat
-->

DIP スイッチは、以下を `rules.mk` に追加することでサポートされます:

DIP_SWITCH_ENABLE = yes

さらに、以下を `config.h` に追加します:

```c
#define DIP_SWITCH_PINS { B14, A15, A10, B9 }
```
## コールバック
コールバック関数を `<keyboard>.c` に記述することができます:
```c
void dip_switch_update_kb(uint8_t index, bool active) {
dip_switch_update_user(index, active);
}
```


あるいは `keymap.c` に記述することもできます:

```c
void dip_switch_update_user(uint8_t index, bool active) {
switch (index) {
case 0:
if(active) { audio_on(); } else { audio_off(); }
break;
case 1:
if(active) { clicky_on(); } else { clicky_off(); }
break;
case 2:
if(active) { music_on(); } else { music_off(); }
break;
case 3:
if (active) {
#ifdef AUDIO_ENABLE
PLAY_SONG(plover_song);
#endif
layer_on(_PLOVER);
} else {
#ifdef AUDIO_ENABLE
PLAY_SONG(plover_gb_song);
#endif
layer_off(_PLOVER);
}
break;
}
}
```
更に、より複雑な処理ができるビットマスク関数をサポートします。
```c
void dip_switch_update_mask_kb(uint32_t state) {
dip_switch_update_mask_user(state);
}
```


あるいは `keymap.c` に記述することもできます:

```c
void dip_switch_update_mask_user(uint32_t state) {
if (state & (1UL<<0) && state & (1UL<<1)) {
layer_on(_ADJUST); // C on esc
} else {
layer_off(_ADJUST);
}
if (state & (1UL<<0)) {
layer_on(_TEST_A); // A on ESC
} else {
layer_off(_TEST_A);
}
if (state & (1UL<<1)) {
layer_on(_TEST_B); // B on esc
} else {
layer_off(_TEST_B);
}
}
```
## ハードウェア
DIP スイッチの片側は MCU のピンへ直接配線し、もう一方の側はグラウンドに配線する必要があります。機能的に同じであるため、どちら側がどちらに接続されているかは問題にはならないはずです。

0 comments on commit 355b693

Please sign in to comment.