kimiko: add encoders (#521)
* kimiko: add encoders * kimiko: enable encoders in rules.mk * kimiko: fix orientation of left-hand encoder * kimiko: fix encoder pin typo * kimiko: revert encoder changes in info.json * kimiko: enable encoders --------- Co-authored-by: Charles Strahan <cstrahan@fullstory.com>
This commit is contained in:
parent
1d6c3dc20b
commit
a4bba728af
@ -332,77 +332,12 @@ void oled_task_user(void) {
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
#ifdef ENCODER_ENABLE
|
#if defined(ENCODER_MAP_ENABLE)
|
||||||
bool encoder_update_user(uint8_t index, bool clockwise) {
|
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
|
||||||
// Encoder on master side
|
[0] = { ENCODER_CCW_CW(KC_MS_WH_UP, KC_MS_WH_DOWN), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
|
||||||
if (index == 0) {
|
[1] = { ENCODER_CCW_CW(RGB_HUD, RGB_HUI), ENCODER_CCW_CW(RGB_SAD, RGB_SAI) },
|
||||||
switch (get_highest_layer(layer_state)) {
|
[2] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI), ENCODER_CCW_CW(RGB_SPD, RGB_SPI) },
|
||||||
// If the Default (QWERTY) layer is active
|
[3] = { ENCODER_CCW_CW(RGB_RMOD, RGB_MOD), ENCODER_CCW_CW(KC_RIGHT, KC_LEFT) },
|
||||||
case _QWERTY:
|
// Encoder 1 Encoder 2
|
||||||
// Arrow Up/Down
|
};
|
||||||
if (clockwise) {
|
#endif
|
||||||
tap_code(KC_DOWN);
|
|
||||||
} else {
|
|
||||||
tap_code(KC_UP);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
// If the RAISE layer is active
|
|
||||||
case _RAISE:
|
|
||||||
// Switch browser tabs
|
|
||||||
if (clockwise) {
|
|
||||||
tap_code16(LCTL(KC_TAB));
|
|
||||||
} else {
|
|
||||||
tap_code16(RCS(KC_TAB));
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
// If the ADJUST layer is active
|
|
||||||
case _ADJUST:
|
|
||||||
// RGB brightness up/down
|
|
||||||
if (clockwise) {
|
|
||||||
rgblight_decrease_val(); // tap_code(RGB_VAD);
|
|
||||||
} else {
|
|
||||||
rgblight_increase_val(); // tap_code(RGB_VAI);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
// Encoder on slave side
|
|
||||||
else if (index == 1) {
|
|
||||||
switch (get_highest_layer(layer_state)) {
|
|
||||||
// If the Default (QWERTY) layer is active
|
|
||||||
case _QWERTY:
|
|
||||||
// Scroll by Word
|
|
||||||
if (clockwise) {
|
|
||||||
tap_code16(LCTL(KC_RGHT));
|
|
||||||
} else {
|
|
||||||
tap_code16(LCTL(KC_LEFT));
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
// If the LOWER layer is active
|
|
||||||
case _LOWER:
|
|
||||||
// Volume up/down
|
|
||||||
if (clockwise) {
|
|
||||||
tap_code(KC_VOLU);
|
|
||||||
} else {
|
|
||||||
tap_code(KC_VOLD);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
// If the ADJUST layer is active
|
|
||||||
case _ADJUST:
|
|
||||||
// RGB hue up/down
|
|
||||||
if (clockwise) {
|
|
||||||
// tap_code(RGB_HUI);
|
|
||||||
rgblight_increase_hue();
|
|
||||||
} else {
|
|
||||||
// tap_code(RGB_HUD);
|
|
||||||
rgblight_decrease_hue();
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
#endif // ENCODER_ENABLE
|
|
||||||
|
@ -5,4 +5,6 @@ VIAL_ENABLE = yes # Enable vial support
|
|||||||
|
|
||||||
LTO_ENABLE = yes
|
LTO_ENABLE = yes
|
||||||
|
|
||||||
QMK_SETTINGS = no
|
QMK_SETTINGS = no
|
||||||
|
ENCODER_ENABLE = yes
|
||||||
|
ENCODER_MAP_ENABLE = yes
|
||||||
|
@ -142,7 +142,17 @@
|
|||||||
},
|
},
|
||||||
"2,5",
|
"2,5",
|
||||||
{
|
{
|
||||||
"x": 6.5
|
"x": 0.25
|
||||||
|
},
|
||||||
|
"0,0\n\n\n\n\n\n\n\n\ne",
|
||||||
|
"0,1\n\n\n\n\n\n\n\n\ne",
|
||||||
|
{
|
||||||
|
"x": 2
|
||||||
|
},
|
||||||
|
"1,0\n\n\n\n\n\n\n\n\ne",
|
||||||
|
"1,1\n\n\n\n\n\n\n\n\ne",
|
||||||
|
{
|
||||||
|
"x": 0.25
|
||||||
},
|
},
|
||||||
"7,5"
|
"7,5"
|
||||||
],
|
],
|
||||||
@ -277,4 +287,4 @@
|
|||||||
]
|
]
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user