mirror of
https://github.com/Keychron/qmk_firmware.git
synced 2024-12-02 21:58:04 +06:00
44 lines
1.0 KiB
C
44 lines
1.0 KiB
C
|
#include QMK_KEYBOARD_H
|
||
|
|
||
|
enum layer {
|
||
|
LAYER_FIRST,
|
||
|
LAYER_SECOND,
|
||
|
};
|
||
|
|
||
|
/* Switch to second layer when held. */
|
||
|
#define LY_SECND MO(LAYER_SECOND)
|
||
|
|
||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||
|
/* First layer (F1-F6) */
|
||
|
[LAYER_FIRST] = LAYOUT(
|
||
|
KC_MUTE, LY_SECND, BL_TOGG, \
|
||
|
KC_F4, KC_F5, KC_F6, \
|
||
|
KC_F1, KC_F2, KC_F3 \
|
||
|
),
|
||
|
|
||
|
/* Second layer (F7-F12) */
|
||
|
[LAYER_SECOND] = LAYOUT(
|
||
|
_______, _______, _______, \
|
||
|
KC_F10, KC_F11, KC_F12, \
|
||
|
KC_F7, KC_F8, KC_F9 \
|
||
|
),
|
||
|
};
|
||
|
|
||
|
void encoder_update_user(uint8_t index, bool clockwise) {
|
||
|
switch (index) {
|
||
|
/* Top-left encoder (volume): */
|
||
|
case 0:
|
||
|
tap_code(clockwise ? KC_VOLU : KC_VOLD);
|
||
|
break;
|
||
|
|
||
|
/* Top-right encoder (backlight brightness): */
|
||
|
case 1:
|
||
|
if (clockwise) {
|
||
|
backlight_increase();
|
||
|
} else {
|
||
|
backlight_decrease();
|
||
|
}
|
||
|
break;
|
||
|
}
|
||
|
}
|