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:
Charles Strahan 2023-08-18 10:59:55 -05:00 committed by GitHub
parent 1d6c3dc20b
commit a4bba728af
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 24 additions and 77 deletions

View File

@ -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

View File

@ -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

View File

@ -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 @@
] ]
] ]
} }
} }