* |-------------------------------------------------------------------| * | | | | | | | |RGB_SAD|RGB_HUD|RGB_SAI| * `-------------------------------------------------------------------' */ [FUNC] = LAYOUT( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, \ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, RGB_MOD, \ _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAD, RGB_VAI, _______, _______, RGB_HUI, _______, \ _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SAD, RGB_HUD, RGB_SAI \ ), }; const uint16_t PROGMEM fn_actions[] = { ACTION_FUNCTION(LFK_CLEAR), // FN0 - reset layers ACTION_FUNCTION(LFK_ESC_TILDE), // FN1 - esc+shift = ~, else escape }; const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) { // MACRODOWN only works in this function switch(id) { } return MACRO_NONE; }; void matrix_init_user(void) {
TRNS,TRNS, TRNS, TRNS,TRNS,TRNS ), }; /* id for user defined functions */ enum function_id { TEENSY_KEY, }; /* * Fn action definition */ static const uint16_t PROGMEM fn_actions[] = { ACTION_FUNCTION(TEENSY_KEY), // FN0 - Teensy key ACTION_LAYER_MOMENTARY(1), // FN1 - switch to Layer1 ACTION_LAYER_SET(2, ON_PRESS), // FN2 - push Layer2 ACTION_LAYER_SET(3, ON_PRESS), // FN3 - push Layer3 ACTION_LAYER_SET(0, ON_PRESS), // FN4 - push Layer0 ACTION_LAYER_TAP_KEY(4, KC_SPC), // FN5 - puhs Layer5, Navigation Layer }; void action_function(keyrecord_t *event, uint8_t id, uint8_t opt) { if (id == TEENSY_KEY) { clear_keyboard(); print("\n\nJump to bootloader... "); _delay_ms(250); bootloader_jump(); // should not return print("not supported.\n");
unregister_code(KC_ESC); } } void tap_esc_func_reset(qk_tap_dance_state_t *state, void *user_data) { layer_off(FUNC); } qk_tap_dance_action_t tap_dance_actions[] = { [TD_ESC_FUNC] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, tap_esc_func_finished, tap_esc_func_reset), [TD_SPC_SPAM] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, tap_space_spam_finished, tap_space_spam_reset), }; const uint16_t PROGMEM fn_actions[] = { ACTION_FUNCTION(LFK_CLEAR), // FN0 - reset layers ACTION_FUNCTION(LFK_ESC_TILDE), // FN1 - esc+shift = ~, else escape ACTION_FUNCTION(LFK_LED_TEST), // FN2 - cycle through LEDs for testing ACTION_FUNCTION_OPT(LFK_SET_DEFAULT_LAYER, VANILLA), // FN3 - set base layer to 0 and save ACTION_FUNCTION_OPT(LFK_SET_DEFAULT_LAYER, VANILLA), // FN4 - set base layer to 1 and save ACTION_FUNCTION_OPT(LFK_SET_DEFAULT_LAYER, VANILLA), // FN5 - set base layer to 2 and save ACTION_FUNCTION(LFK_CLICK_FREQ_HIGHER), // FN6 - Increase Freq of audio click ACTION_FUNCTION(LFK_CLICK_FREQ_LOWER), // FN7 - Decrease Freq of audio click ACTION_FUNCTION(LFK_CLICK_TIME_LONGER), // FN8 - Increase length of audio click ACTION_FUNCTION(LFK_CLICK_TIME_SHORTER), // FN9 - Decrease length of audio click ACTION_FUNCTION(LFK_CLICK_TOGGLE), // FN10 - Toggle audio click ACTION_FUNCTION(LFK_LED_TEST), // FN11 - cycle through LEDs for testing ACTION_FUNCTION(LFK_DEBUG_SETTINGS), // FN12 - prints LED and click settings to HID };
* |------------------------------------------------------------------------------. * | | | | | | | | | |Sat-|Hue-|Sat+| * `------------------------------------------------------------------------------' */ [SETTINGS] = LAYOUT_tkl_ansi( KC_FN0, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, BL_DEC, XXXXXXX, XXXXXXX, XXXXXXX, \ KC_FN0, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, BL_DEC, BL_INC, BL_TOGG, RGB_TOG, RGB_VAI, XXXXXXX, \ MU_MOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_FN2, RGB_MOD, RGB_VAD, XXXXXXX, \ AU_TOG, KC_FN1, KC_FN3, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET, \ KC_FN5, KC_FN2, KC_FN4, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, MU_TOG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_HUI, \ XXXXXXX, XXXXXXX, XXXXXXX, KC_FN12, XXXXXXX, XXXXXXX, XXXXXXX, _______, RGB_SAD, RGB_HUD, RGB_SAI \ ), }; const uint16_t PROGMEM fn_actions[] = { ACTION_FUNCTION(LFK_CLEAR), // FN0 - reset layers ACTION_FUNCTION(LFK_CLICK_FREQ_HIGHER), // FN1 - Increase Freq of audio click ACTION_FUNCTION(LFK_CLICK_FREQ_LOWER), // FN2 - Decrease Freq of audio click ACTION_FUNCTION(LFK_CLICK_TIME_LONGER), // FN3 - Increase length of audio click ACTION_FUNCTION(LFK_CLICK_TIME_SHORTER), // FN4 - Decrease length of audio click ACTION_FUNCTION(LFK_CLICK_TOGGLE), // FN5 - Toggle audio click }; const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) { // MACRODOWN only works in this function switch(id) { } return MACRO_NONE; };
// numpad KEYMAP(NO, NO, NO, NO, NO, NO, NO, TRNS,NO, NLCK,PMNS,PAST,PSLS,NO, \ NO, NO, NO, NO, NO, NO, NO, NO, NO, P7, P8, P9, PPLS,NO, \ NO, NO, NO, NO, NO, NO, NO, NO, NO, P4, P5, P6, PPLS,NO, \ NO, NO, NO, NO, NO, NO, NO, NO, NO, P1, P2, P3, PENT,NO, \ TRNS,TRNS,TRNS,NO, TRNS,TRNS, TRNS, P0, PDOT,PENT,NO ) }; enum function_action { BACKLIGHT_BRIGHTNESS }; void action_function(keyrecord_t* record, uint8_t id, uint8_t opt) { switch (id) { case BACKLIGHT_BRIGHTNESS: if (record->event.pressed) backlight_adjust(); break; } } const uint16_t PROGMEM fn_actions[] = { ACTION_LAYER_TOGGLE(2), // 0 toggle qwerty ACTION_MODS_KEY(MOD_LSFT, KC_LBRC), // 1 left curly brace '{' ACTION_MODS_KEY(MOD_LSFT, KC_RBRC), // 2 right curly brace '}' ACTION_LAYER_MOMENTARY(1), // 3 fn layer for dvorak ACTION_LAYER_MOMENTARY(3), // 4 fn layer for qwerty ACTION_MODS_KEY(MOD_LSFT, KC_BSLS), // 5 pipe '|' ACTION_FUNCTION(BACKLIGHT_BRIGHTNESS), // 6 light brightness ACTION_LAYER_TOGGLE(4) // 7 mouse };