keychron_qmk_firmware/keyboards/keebio/bdn9/keymaps/bcat/keymap.c
Jonathan Rascher d90038eb9c [Keymap] Assorted personal keymap/userspace updates (#6691)
* Turn off more unnecessary features by default

* Double TAP_CODE_DELAY due to more media key issues

Even with this change, some of the rotary encoder turns on my BDN9's
volume knob still seem to get dropped. It's possible there's something
wrong with the encoder itself. (Maybe the TAP_CODE_DELAY actually causes
QMK to miss an encoder turn? Unclear.) The other knob (backlight
brightness) works fine, FWIW....

* Restructure userspace config.h a bit

* Hack around Instant60 Via EEPROM conflict

Remove this when #6589 is fixed for Via boards.

* Add backlight breathing and (EEPROM) reset to BDN9

* Add keymap for 9-Key macropad
2019-09-07 08:58:17 -07:00

44 lines
1016 B
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_BRTG,
KC_F4, KC_F5, KC_F6,
KC_F1, KC_F2, KC_F3
),
/* Second layer (F7-F12) */
[LAYER_SECOND] = LAYOUT(
EEP_RST, _______, RESET,
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;
}
}