vial/encoders: allow configuring default encoder values
This commit is contained in:
parent
48a790ee6e
commit
5cf1c7398f
1 changed files with 11 additions and 0 deletions
|
@ -153,6 +153,12 @@ void dynamic_keymap_set_encoder(uint8_t layer, uint8_t idx, uint8_t dir, uint16_
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if defined(VIAL_ENCODERS_ENABLE) && defined(VIAL_ENCODER_DEFAULT)
|
||||||
|
static const uint16_t PROGMEM vial_encoder_default[] = VIAL_ENCODER_DEFAULT;
|
||||||
|
_Static_assert(sizeof(vial_encoder_default)/sizeof(*vial_encoder_default) == 2 * DYNAMIC_KEYMAP_LAYER_COUNT * NUMBER_OF_ENCODERS,
|
||||||
|
"There should be DYNAMIC_KEYMAP_LAYER_COUNT * NUMBER_OF_ENCODERS * 2 entries in the VIAL_ENCODER_DEFAULT array.");
|
||||||
|
#endif
|
||||||
|
|
||||||
void dynamic_keymap_reset(void) {
|
void dynamic_keymap_reset(void) {
|
||||||
#ifdef VIAL_ENABLE
|
#ifdef VIAL_ENABLE
|
||||||
/* temporarily unlock the keyboard so we can set hardcoded RESET keycode */
|
/* temporarily unlock the keyboard so we can set hardcoded RESET keycode */
|
||||||
|
@ -172,8 +178,13 @@ void dynamic_keymap_reset(void) {
|
||||||
|
|
||||||
#ifdef VIAL_ENCODERS_ENABLE
|
#ifdef VIAL_ENCODERS_ENABLE
|
||||||
for (int idx = 0; idx < NUMBER_OF_ENCODERS; ++idx) {
|
for (int idx = 0; idx < NUMBER_OF_ENCODERS; ++idx) {
|
||||||
|
#ifdef VIAL_ENCODER_DEFAULT
|
||||||
|
dynamic_keymap_set_encoder(layer, idx, 0, pgm_read_word(&vial_encoder_default[2 * (layer * NUMBER_OF_ENCODERS + idx)]));
|
||||||
|
dynamic_keymap_set_encoder(layer, idx, 1, pgm_read_word(&vial_encoder_default[2 * (layer * NUMBER_OF_ENCODERS + idx) + 1]));
|
||||||
|
#else
|
||||||
dynamic_keymap_set_encoder(layer, idx, 0, KC_TRNS);
|
dynamic_keymap_set_encoder(layer, idx, 0, KC_TRNS);
|
||||||
dynamic_keymap_set_encoder(layer, idx, 1, KC_TRNS);
|
dynamic_keymap_set_encoder(layer, idx, 1, KC_TRNS);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue