summaryrefslogtreecommitdiffstats
path: root/keyboards/massdrop/ctrl/keymaps/xanimos/keymap.c
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/massdrop/ctrl/keymaps/xanimos/keymap.c')
-rw-r--r--keyboards/massdrop/ctrl/keymaps/xanimos/keymap.c411
1 files changed, 0 insertions, 411 deletions
diff --git a/keyboards/massdrop/ctrl/keymaps/xanimos/keymap.c b/keyboards/massdrop/ctrl/keymaps/xanimos/keymap.c
deleted file mode 100644
index 3dbb48f16c..0000000000
--- a/keyboards/massdrop/ctrl/keymaps/xanimos/keymap.c
+++ /dev/null
@@ -1,411 +0,0 @@
-/* Copyright 2022 Daniel Weeks (@xanimos)
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include "keymap.h"
-
-static uint16_t idle_timer; // Idle LED timeout timer
-static uint8_t idle_second_counter; // Idle LED seconds counter, counts seconds not milliseconds
-static uint8_t key_event_counter; // This counter is used to check if any keys are being held
-
-static const char * sendstring_commands[] = {
- "git init",
- "git clone ",
- "git add ",
- "git diff ",
- "git reset --soft ",
- "git branch --list",
- "git checkout ",
- "git remote add ",
- "git fetch ",
- "git pull",
- "git pull upstream ",
- "git push",
- "git push -u origin ",
- "git push --force-with-lease",
- "git commit ",
- "git commit -m \": [TFS-]\"",
- "git status",
- "git log",
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_KL] = LAYOUT(
- // ESC F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 PRINT SCLCK PAUSE
- KC_ESC , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SCRL,RCS(KC_M),
- // ~ 1 2 3 4 5 6 7 8 9 0 - = BCKSP INS HOME PGUP
- KC_GRV , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_MINS, KC_EQL, KC_BSPC, KC_INS , KC_HOME, KC_PGUP,
- // TAB Q W E R T Y U I O P [ ] \ DEL END PGDN
- KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL , KC_END , KC_PGDN,
- // CAPS A S D F G H J K L ; ' ENTER
- KC_CAPS, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT, KC_ENT ,
- // SHIFT Z X C V B N M , . / RSHIFT UP
- SC_LSPO, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, SC_RSPC, KC_UP ,
- // CTRL GUI ALT SPACE RALT MENU RGUI RCTRL LEFT DOWN RIGHT
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, TD(TD_FN_SWITCH), KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
- [_FL] = LAYOUT(
- // ESC F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 PRINT SCLCK PAUSE
- _______, ROUT_TG, ROUT_FM, ROUT_VD, ROUT_VI, _______, _______, _______, _______, _______, _______, KC_WAKE, KC_SLEP, KC_PAUS, _______, KC_MUTE,
- // ~ 1 2 3 4 5 6 7 8 9 0 - = BCKSP INS HOME PGUP
- RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MSTP, KC_MPLY, KC_VOLU,
- // TAB Q W E R T Y U I O P [ ] \ DEL END PGDN
- _______, RGB_MOD, RGB_SPI, RGB_VAI, RGB_HUI, RGB_SAI, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_MNXT, KC_VOLD,
- // CAPS A S D F G H J K L ; ' ENTER
- _______,RGB_RMOD, RGB_SPD, RGB_VAD, RGB_HUD, RGB_SAD, _______, _______, _______, _______, _______, _______, _______,
- // SHIFT Z X C V B N M , . / RSHIFT UP
- _______, _______, _______,COPY_ALL, _______, MD_BOOT, NK_TOGG, _______, _______, _______, _______, TOG_NPD, KC_BRIU,
- // CTRL GUI ALT SPACE RALT MENU RGUI RCTRL LEFT DOWN RIGHT
- _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_BRID, _______
- ),
- [_GL] = LAYOUT(
- // ESC F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 PRINT SCLCK PAUSE
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- // ~ 1 2 3 4 5 6 7 8 9 0 - = BCKSP INS HOME PGUP
- G_INIT, G_CLONE, G_REMTE, G_RESET, G_PSFWL, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- // TAB Q W E R T Y U I O P [ ] \ DEL END PGDN
- _______, G_PUPST, G_PULL, G_PSORG, G_PUSH, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- // CAPS A S D F G H J K L ; ' ENTER
- _______, G_ADD, G_STAT, G_DIFF, G_FETCH, _______, _______, _______, _______, _______, _______, _______, _______,
- // SHIFT Z X C V B N M , . / RSHIFT UP
- _______, G_LOG, G_CHECK, G_COMM, G_COMSG, G_BRANH, _______, _______, _______, _______, _______, _______, _______,
- // CTRL GUI ALT SPACE RALT MENU RGUI RCTRL LEFT DOWN RIGHT
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
- [_NUMPAD] = LAYOUT(
- // ESC F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 PRINT SCLCK PAUSE
- TOG_NPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- // ~ 1 2 3 4 5 6 7 8 9 0 - = BCKSP INS HOME PGUP
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- // TAB Q W E R T Y U I O P [ ] \ DEL END PGDN
- _______, _______, _______, _______, _______, _______, KC_P7, KC_P8, KC_P9, _______, _______, _______, _______, _______, _______, _______, _______,
- // CAPS A S D F G H J K L ; ' ENTER
- _______, _______, _______, _______, _______, _______, KC_P4, KC_P5, KC_P6, _______, _______, _______, _______,
- // SHIFT Z X C V B N M , . / RSHIFT UP
- _______, _______, _______, _______, _______, KC_P1, KC_P2, KC_P3, KC_PDOT, _______, _______, _______, _______,
- // CTRL GUI ALT SPACE RALT MENU RGUI RCTRL LEFT DOWN RIGHT
- _______, _______, _______, KC_P0, _______, _______, _______, _______, _______, _______, _______
- ),
- /*
- [X] = LAYOUT(
- // ESC F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 PRINT SCLCK PAUSE
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- // ~ 1 2 3 4 5 6 7 8 9 0 - = BCKSP INS HOME PGUP
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- // TAB Q W E R T Y U I O P [ ] \ DEL END PGDN
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- // CAPS A S D F G H J K L ; ' ENTER
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- // SHIFT Z X C V B N M , . / RSHIFT UP
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- // CTRL GUI ALT SPACE RALT MENU RGUI RCTRL LEFT DOWN RIGHT
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
- */
-};
-
-#define __OFF__ {0, 0, 0}
-
-const uint8_t PROGMEM ledmap[][RGB_MATRIX_LED_COUNT][3] = {
- [_FL] = {
- // These remain on base layer rgb to see adjustments ;)
- // |----------------------------------|
- // _______, ROUT_TG, ROUT_FM, ROUT_VD, ROUT_VI, _______, _______, _______, _______, _______, _______, KC_WAKE, KC_SLEP, KC_PAUS, _______, KC_MUTE,
- __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, YELLOW, YELLOW, ORANGE, __OFF__, GOLD,
- // RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MSTP, KC_MPLY, KC_VOLU,
- GOLD, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, RED, SPRING, ORANGE,
- // _______, RGB_MOD, RGB_SPI, RGB_VAI, RGB_HUI, RGB_SAI, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_MNXT, KC_VOLD,
- __OFF__, ORANGE, GREEN, AZURE, GOLDEN, MAGENT, __OFF__, AZURE, AZURE, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, TEAL, TEAL, ORANGE,
- // _______,RGB_RMOD, RGB_SPD, RGB_VAD, RGB_HUD, RGB_SAD, _______, _______, _______, _______, _______, _______, _______,
- __OFF__, ORANGE, GREEN, AZURE, GOLDEN, MAGENT, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__,
- // _______, _______, _______,COPY_ALL, _______, MD_BOOT, NK_TOGG, _______, _______, _______, _______, TO(_NUMPAD), KC_BRIU,
- __OFF__, __OFF__, __OFF__, CORAL, __OFF__, RED, TURQ, __OFF__, __OFF__, __OFF__, __OFF__, CYAN, SPRING,
- // _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_BRID, _______
- __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, SPRING, __OFF__
- },
- [_GL] = {
- // _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__,
- // G_INIT, G_CLONE, G_REMTE, G_RESET, G_PSFWL, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- AZURE, CHART, CHART, RED, CORAL, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__,
- // _______, G_PUPST, G_PULL, G_PSORG, G_PUSH, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- __OFF__, BLUE, PURPLE, MAGENT, PINK, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__,
- // _______, G_ADD, G_STAT, G_DIFF, G_FETCH, _______, _______, _______, _______, _______, _______, _______, _______,
- __OFF__, SPRING, GREEN, TURQ, TEAL, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__,
- // _______, G_LOG, G_CHECK, G_COMM, G_COMSG, G_BRANH, _______, _______, _______, _______, _______, _______, _______,
- __OFF__, CYAN, GOLDEN, YELLOW, GOLD, CHART, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__,
- // _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__
- },
- [_NUMPAD] = {
- // TO(_KL), _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- RED, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__,
- // _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__,
- // _______, _______, _______, _______, _______, _______, KC_P7, KC_P8, KC_P9, _______, _______, _______, _______, _______, _______, _______, _______,
- __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, GREEN, GREEN, GREEN, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__,
- // _______, _______, _______, _______, _______, _______, KC_P4, KC_P5, KC_P6, _______, _______, _______, _______,
- __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, TURQ, TURQ, TURQ, __OFF__, __OFF__, __OFF__, __OFF__,
- // _______, _______, _______, _______, _______, _______, KC_P1, KC_P2, KC_P3, KC_PDOT, _______, _______, _______,
- __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, CYAN, CYAN, CYAN, AZURE, __OFF__, __OFF__, __OFF__, __OFF__,
- // _______, _______, _______, KC_P0, _______, _______, _______, _______, _______, _______, _______
- __OFF__, __OFF__, __OFF__, CYAN, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__, __OFF__
- },
-};
-
-// Runs just one time when the keyboard initializes.
-void matrix_init_user(void) {
- // Enable or disable debugging
- debug_enable = false;
- debug_matrix = false;
- debug_keyboard = false;
- debug_mouse = false;
-
- idle_second_counter = 0; // Counter for number of seconds keyboard has been idle.
- key_event_counter = 0; // Counter to determine if keys are being held, neutral at 0.
- rgb_time_out_seconds = RGB_DEFAULT_TIME_OUT; // RGB timeout initialized to its default configure in keymap.h
- rgb_time_out_enable = false; // Disable RGB timeout by default. Enable using toggle key.
- rgb_time_out_user_value = false; // Has to have the same initial value as rgb_time_out_enable.
- rgb_enabled_flag = true; // Initially, keyboard RGB is enabled. Change to false config.h initializes RGB disabled.
- rgb_time_out_fast_mode_enabled = false; // RGB timeout fast mode disabled initially.
- rgb_time_out_saved_flag = rgb_matrix_get_flags(); // Save RGB matrix state for when keyboard comes back from ide.
-};
-
-void keyboard_post_init_user(void) {
- rgb_matrix_enable();
-}
-
-// Runs constantly in the background, in a loop.
-void matrix_scan_user(void) {
- if(rgb_time_out_enable && rgb_enabled_flag) {
- // If the key event counter is not zero then some key was pressed down but not released, thus reset the timeout counter.
- if (key_event_counter) {
- idle_second_counter = 0;
- } else if (timer_elapsed(idle_timer) > MILLISECONDS_IN_SECOND) {
- idle_second_counter++;
- idle_timer = timer_read();
- }
-
- if (idle_second_counter >= rgb_time_out_seconds) {
- rgb_time_out_saved_flag = rgb_matrix_get_flags();
- rgb_matrix_set_flags(LED_FLAG_NONE);
- rgb_matrix_disable_noeeprom();
- rgb_enabled_flag = false;
- idle_second_counter = 0;
- }
- }
-};
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- static uint32_t key_timer;
-
- // Increment key event counter for every press and decrement for every release.
- if (record->event.pressed) {
- key_event_counter++;
-
- } else {
- key_event_counter--;
- }
-
- if (rgb_time_out_enable) {
- idle_timer = timer_read();
- // Reset the seconds counter. Without this, something like press> leave x seconds> press, would be x seconds on the effective counter not 0 as it should.
- idle_second_counter = 0;
- if (!rgb_enabled_flag) {
- rgb_matrix_enable_noeeprom();
- rgb_matrix_set_flags(rgb_time_out_saved_flag);
- rgb_enabled_flag = true;
- }
- }
-
- switch (keycode) {
- case MD_BOOT:
- if (record->event.pressed) {
- key_timer = timer_read32();
- } else {
- if (timer_elapsed32(key_timer) >= 500) {
- reset_keyboard();
- }
- }
- return false;
- }
-
- if (record->event.pressed) {
- switch (keycode) {
- case RGB_TOG:
- rgb_time_out_enable = rgb_time_out_user_value;
- switch (rgb_matrix_get_flags()) {
- case LED_FLAG_ALL: {
- rgb_matrix_set_flags(LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER);
- rgb_matrix_set_color_all(0, 0, 0);
- }
- break;
- case LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER: {
- rgb_matrix_set_flags(LED_FLAG_UNDERGLOW);
- rgb_matrix_set_color_all(0, 0, 0);
- }
- break;
- case LED_FLAG_UNDERGLOW: {
- // This line is for LED idle timer. It disables the toggle so you can turn off LED completely if you like
- rgb_time_out_enable = false;
- rgb_matrix_set_flags(LED_FLAG_NONE);
- rgb_matrix_disable_noeeprom();
- }
- break;
- default: {
- rgb_matrix_set_flags(LED_FLAG_ALL);
- rgb_matrix_enable_noeeprom();
- }
- break;
- }
- return false;
- // ======================================================== CUSTOM KEYCOADS BELOW ========================================================
- case COPY_ALL:
- // Selects all and text and copy
- SEND_STRING(SS_LCTL("ac"));
- return false;
- case ROUT_TG:
- // Toggle idle LED timeout on or off
- rgb_time_out_enable = !rgb_time_out_enable;
- rgb_time_out_user_value = rgb_time_out_enable;
- return false;
- case ROUT_VI:
- // Increase idle LED timeout value in seconds
- // Only increase if current value is lower than RGB_TIME_OUT_MAX. Don't care what value the result will be
- // Modity RGB_TIME_OUT_STEP for bigger or smaller increments
- if (!rgb_time_out_fast_mode_enabled && rgb_time_out_seconds <= RGB_TIME_OUT_MAX) {
- rgb_time_out_seconds += RGB_TIME_OUT_STEP;
- }
- return false;
- case ROUT_VD:
- // Decrease idle LED timeout value in seconds
- // Only decrease if current value is higher than minimum value and the result is larger than zero
- // Modity RGB_TIME_OUT_STEP for bigger or smaller decrements
- if (!rgb_time_out_fast_mode_enabled && rgb_time_out_seconds > RGB_TIME_OUT_MIN) {
- rgb_time_out_seconds -= RGB_TIME_OUT_STEP;
- }
- return false;
- case ROUT_FM:
- if (rgb_time_out_fast_mode_enabled) {
- rgb_time_out_seconds = rgb_time_out_saved_seconds;
- } else {
- rgb_time_out_saved_seconds = rgb_time_out_seconds;
- rgb_time_out_seconds = RGB_FAST_MODE_TIME_OUT;
- }
- rgb_time_out_fast_mode_enabled = !rgb_time_out_fast_mode_enabled;
- return false;
- case G_INIT ... G_LOG:
- send_string_with_delay(sendstring_commands[keycode - G_INIT], 5);
- return false;
- case TOG_NPD:
- if (get_highest_layer(layer_state) != _NUMPAD) {
- layer_move(_NUMPAD);
- } else {
- layer_move(_KL);
- }
- return false;
- }
- }
- return true;
-}
-
-void set_layer_color(int layer) {
- if (layer == 0) { return; }
- for (int i = 0; i < RGB_MATRIX_LED_COUNT; i++) {
- HSV hsv = {
- .h = pgm_read_byte(&ledmap[layer][i][0]),
- .s = pgm_read_byte(&ledmap[layer][i][1]),
- .v = pgm_read_byte(&ledmap[layer][i][2]),
- };
- if (hsv.h || hsv.s || hsv.v) {
- RGB rgb = hsv_to_rgb(hsv);
- float f = (float)rgb_matrix_config.hsv.v / UINT8_MAX;
- rgb_matrix_set_color(i, f * rgb.r, f * rgb.g, f * rgb.b);
- continue;
- }
- if(layer == _FL && i <= 4 && i >= 1) {
- continue; // Leave RGB for F1-F4 of function layer to adjust RGB settings
- }
-
- rgb_matrix_set_color(i, 0, 0, 0);
- }
-}
-
-bool rgb_matrix_indicators_user(void) {
- if (disable_layer_color ||
- rgb_matrix_get_flags() == LED_FLAG_NONE ||
- rgb_matrix_get_flags() == LED_FLAG_UNDERGLOW) {
- return;
- }
- set_layer_color(get_highest_layer(layer_state));
- return false;
-}
-
-
-
-td_state_t cur_dance(qk_tap_dance_state_t *state) {
- if (state->pressed && !state->interrupted) {
- if (state->count == 1) { return TD_SINGLE_HOLD; }
- return TD_DOUBLE_HOLD;
- }
- return TD_UNKNOWN;
-}
-
-static td_tap_t fn_tap_state = {
- .is_press_action = true,
- .state = TD_NONE
-};
-
-void fn_tap_finished(qk_tap_dance_state_t *state, void *user_data) {
- fn_tap_state.state = cur_dance(state);
- switch (fn_tap_state.state) {
- case TD_SINGLE_HOLD:
- // set function layer
- layer_move(_FL);
- break;
- case TD_DOUBLE_HOLD:
- // set git layer
- layer_move(_GL);
- break;
- case TD_UNKNOWN:
- register_code(KC_APP);
- break;
- default:
- break;
- }
-}
-
-void fn_tap_reset(qk_tap_dance_state_t *state, void *user_data) {
- switch (fn_tap_state.state) {
- case TD_UNKNOWN:
- unregister_code(KC_APP);
- break;
- case TD_DOUBLE_HOLD:
- case TD_SINGLE_HOLD:
- // Set default layer if we didn't activate numpad layer in function
- if (get_highest_layer(layer_state) != _NUMPAD) {
- layer_move(_KL);
- }
- break;
- break;
- default:
- break;
- }
- fn_tap_state.state = TD_NONE;
-}
-
-qk_tap_dance_action_t tap_dance_actions[] = {
- [TD_FN_SWITCH] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, fn_tap_finished, fn_tap_reset)
-};