diff options
| -rw-r--r-- | keyboards/frosty_flake/keymaps/nikchi/config.h | 3 | ||||
| -rw-r--r-- | keyboards/frosty_flake/keymaps/nikchi/keymap.c | 48 |
2 files changed, 38 insertions, 13 deletions
diff --git a/keyboards/frosty_flake/keymaps/nikchi/config.h b/keyboards/frosty_flake/keymaps/nikchi/config.h index 45825781d..e91d082c8 100644 --- a/keyboards/frosty_flake/keymaps/nikchi/config.h +++ b/keyboards/frosty_flake/keymaps/nikchi/config.h | |||
| @@ -3,7 +3,7 @@ | |||
| 3 | 3 | ||
| 4 | #include "../../config.h" | 4 | #include "../../config.h" |
| 5 | 5 | ||
| 6 | #define TAPPING_TERM 200 | 6 | #define TAPPING_TERM 300 |
| 7 | #define LEADER_TIMEOUT 400 | 7 | #define LEADER_TIMEOUT 400 |
| 8 | 8 | ||
| 9 | #define DISABLE_SPACE_CADET_ROLLOVER | 9 | #define DISABLE_SPACE_CADET_ROLLOVER |
| @@ -21,3 +21,4 @@ | |||
| 21 | // place overrides here | 21 | // place overrides here |
| 22 | 22 | ||
| 23 | #endif | 23 | #endif |
| 24 | |||
diff --git a/keyboards/frosty_flake/keymaps/nikchi/keymap.c b/keyboards/frosty_flake/keymaps/nikchi/keymap.c index 5bb553de0..c9e220721 100644 --- a/keyboards/frosty_flake/keymaps/nikchi/keymap.c +++ b/keyboards/frosty_flake/keymaps/nikchi/keymap.c | |||
| @@ -7,10 +7,12 @@ | |||
| 7 | 7 | ||
| 8 | #define _______ KC_TRNS | 8 | #define _______ KC_TRNS |
| 9 | 9 | ||
| 10 | |||
| 11 | //declarations for tap dancing emojis | ||
| 10 | void register_hex32(uint32_t hex); | 12 | void register_hex32(uint32_t hex); |
| 11 | void cycleEmojis(qk_tap_dance_state_t *state, void *user_data); | 13 | void cycleEmojis(qk_tap_dance_state_t *state, void *user_data); |
| 12 | void cycleAnimals(qk_tap_dance_state_t *state, void *user_data); | 14 | void cycleAnimals(qk_tap_dance_state_t *state, void *user_data); |
| 13 | void resetEmojis(qk_tap_dance_state_t *state, void *user_data); | 15 | void cycleHands(qk_tap_dance_state_t *state, void *user_data); |
| 14 | 16 | ||
| 15 | void tap(uint16_t keycode){ | 17 | void tap(uint16_t keycode){ |
| 16 | register_code(keycode); | 18 | register_code(keycode); |
| @@ -21,10 +23,11 @@ void tap(uint16_t keycode){ | |||
| 21 | enum taps{ | 23 | enum taps{ |
| 22 | TD_CTCPS = 0, | 24 | TD_CTCPS = 0, |
| 23 | EMOJIS, | 25 | EMOJIS, |
| 24 | ANIMAL | 26 | ANIMAL, |
| 27 | HAND | ||
| 25 | }; | 28 | }; |
| 26 | 29 | ||
| 27 | enum unicode_name { | 30 | enum unicode_name { // split every five emojis |
| 28 | THINK = 1, // thinking face 🤔 | 31 | THINK = 1, // thinking face 🤔 |
| 29 | GRIN, // grinning face 😊 | 32 | GRIN, // grinning face 😊 |
| 30 | SMRK, // smirk 😏 | 33 | SMRK, // smirk 😏 |
| @@ -37,6 +40,12 @@ enum unicode_name { | |||
| 37 | MONKEY, // 🐒 | 40 | MONKEY, // 🐒 |
| 38 | CHICK, // 🐥 | 41 | CHICK, // 🐥 |
| 39 | 42 | ||
| 43 | OKOK, // 👌 | ||
| 44 | EFFU, // 🖕 | ||
| 45 | INUP, // 👆 | ||
| 46 | THUP, // 👍 | ||
| 47 | THDN, // 👎 | ||
| 48 | |||
| 40 | BBB, // dat B 🅱 | 49 | BBB, // dat B 🅱 |
| 41 | POO, // poop 💩 | 50 | POO, // poop 💩 |
| 42 | HUNDR, // 100 💯 | 51 | HUNDR, // 100 💯 |
| @@ -66,8 +75,9 @@ enum quick { | |||
| 66 | qk_tap_dance_action_t tap_dance_actions[] = { | 75 | qk_tap_dance_action_t tap_dance_actions[] = { |
| 67 | // Tap once for CTRL, twice for Caps Lock | 76 | // Tap once for CTRL, twice for Caps Lock |
| 68 | [TD_CTCPS] = ACTION_TAP_DANCE_DOUBLE(KC_LCTL, KC_CAPS), | 77 | [TD_CTCPS] = ACTION_TAP_DANCE_DOUBLE(KC_LCTL, KC_CAPS), |
| 69 | [EMOJIS] = ACTION_TAP_DANCE_FN_ADVANCED(cycleEmojis, NULL, resetEmojis), | 78 | [EMOJIS] = ACTION_TAP_DANCE_FN_ADVANCED(cycleEmojis, NULL, NULL), |
| 70 | [ANIMAL] = ACTION_TAP_DANCE_FN_ADVANCED(cycleAnimals, NULL, resetEmojis) | 79 | [ANIMAL] = ACTION_TAP_DANCE_FN_ADVANCED(cycleAnimals, NULL, NULL), |
| 80 | [HAND] = ACTION_TAP_DANCE_FN_ADVANCED(cycleHands, NULL, NULL) | ||
| 71 | // Other declarations would go here, separated by commas, if you have them | 81 | // Other declarations would go here, separated by commas, if you have them |
| 72 | }; | 82 | }; |
| 73 | 83 | ||
| @@ -115,9 +125,13 @@ const uint32_t PROGMEM unicode_map[] = { | |||
| 115 | [PENGUIN] = 0x1F427, | 125 | [PENGUIN] = 0x1F427, |
| 116 | [MONKEY] = 0x1F412, | 126 | [MONKEY] = 0x1F412, |
| 117 | [CHICK] = 0x1F425, | 127 | [CHICK] = 0x1F425, |
| 118 | [DRAGON] = 0x1F409 | 128 | [DRAGON] = 0x1F409, |
| 129 | [OKOK] = 0x1F44C, | ||
| 130 | [EFFU] = 0x1F595, | ||
| 131 | [INUP] = 0x1F446, | ||
| 132 | [THDN] = 0x1F44E, | ||
| 133 | [THUP] = 0x1F44D | ||
| 119 | }; | 134 | }; |
| 120 | |||
| 121 | // Layouts | 135 | // Layouts |
| 122 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | 136 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { |
| 123 | [0] = KEYMAP(\ | 137 | [0] = KEYMAP(\ |
| @@ -129,7 +143,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
| 129 | TD(TD_CTCPS),KC_LGUI,KC_LALT, KC_SPC, KC_LEAD,KC_RGUI, KC_APP,MO(1) , KC_LEFT,KC_DOWN,KC_RGHT, KC_P0,KC_PDOT), | 143 | TD(TD_CTCPS),KC_LGUI,KC_LALT, KC_SPC, KC_LEAD,KC_RGUI, KC_APP,MO(1) , KC_LEFT,KC_DOWN,KC_RGHT, KC_P0,KC_PDOT), |
| 130 | [1] = KEYMAP(\ | 144 | [1] = KEYMAP(\ |
| 131 | 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_SLCK,KC_PAUS, \ | 145 | 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_SLCK,KC_PAUS, \ |
| 132 | TD(EMOJIS),TD(ANIMAL),X(THINK),X(SMRK),X(WEARY),X(UNAMU), KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL,KC_BSPC, KC_MPRV,KC_MPLY,KC_MNXT, KC_NLCK,KC_PSLS,KC_PAST,KC_PMNS, \ | 146 | TD(EMOJIS),TD(ANIMAL),TD(HAND),X(SMRK),X(WEARY),X(UNAMU), KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL,KC_BSPC, KC_MPRV,KC_MPLY,KC_MNXT, KC_NLCK,KC_PSLS,KC_PAST,KC_PMNS, \ |
| 133 | KC_TAB, KC_Q, M(0), KC_E, KC_R,X(EGGPL),X(WATER), KC_U, KC_I, KC_O, KC_P, KC_UP ,KC_RBRC,KC_BSLS, KC_MUTE,KC_VOLD,KC_VOLU, KC_P7, KC_P8, KC_P9,KC_PPLS, \ | 147 | KC_TAB, KC_Q, M(0), KC_E, KC_R,X(EGGPL),X(WATER), KC_U, KC_I, KC_O, KC_P, KC_UP ,KC_RBRC,KC_BSLS, KC_MUTE,KC_VOLD,KC_VOLU, KC_P7, KC_P8, KC_P9,KC_PPLS, \ |
| 134 | KC_LCTL, M(1), M(3), M(2), KC_F, X(LIT), X(SNEK), KC_J, KC_K, KC_L,KC_LEFT,KC_RGHT, KC_ENT, KC_P4, KC_P5, KC_P6, \ | 148 | KC_LCTL, M(1), M(3), M(2), KC_F, X(LIT), X(SNEK), KC_J, KC_K, KC_L,KC_LEFT,KC_RGHT, KC_ENT, KC_P4, KC_P5, KC_P6, \ |
| 135 | KC_LSFT,KC_NUBS, KC_Z, KC_X, KC_C, X(HUNDR), X(BBB), X(POO), KC_M,KC_COMM, KC_DOT,KC_DOWN, KC_RSFT, KC_MS_U, KC_P1, KC_P2, KC_P3,KC_PENT, \ | 149 | KC_LSFT,KC_NUBS, KC_Z, KC_X, KC_C, X(HUNDR), X(BBB), X(POO), KC_M,KC_COMM, KC_DOT,KC_DOWN, KC_RSFT, KC_MS_U, KC_P1, KC_P2, KC_P3,KC_PENT, \ |
| @@ -150,7 +164,7 @@ void matrix_scan_user(void) { | |||
| 150 | leading = false; | 164 | leading = false; |
| 151 | leader_end(); | 165 | leader_end(); |
| 152 | 166 | ||
| 153 | SEQ_TWO_KEYS(KC_A, KC_A) { | 167 | SEQ_TWO_KEYS(KC_A, KC_A) { // select all and copy |
| 154 | register_code(KC_LCTL); | 168 | register_code(KC_LCTL); |
| 155 | tap(KC_A); | 169 | tap(KC_A); |
| 156 | tap(KC_C); | 170 | tap(KC_C); |
| @@ -180,7 +194,7 @@ void cycleEmojis(qk_tap_dance_state_t *state, void *user_data) { | |||
| 180 | } | 194 | } |
| 181 | }; | 195 | }; |
| 182 | 196 | ||
| 183 | void cycleAnimals(qk_tap_dance_state_t *state, void *user_data) { | 197 | void cycleAnimals(qk_tap_dance_state_t *state, void *user_data) { |
| 184 | if(state->count == 1) { | 198 | if(state->count == 1) { |
| 185 | unicode_input_start(); | 199 | unicode_input_start(); |
| 186 | register_hex32(pgm_read_dword(&unicode_map[state->count+5])); | 200 | register_hex32(pgm_read_dword(&unicode_map[state->count+5])); |
| @@ -194,7 +208,17 @@ void cycleAnimals(qk_tap_dance_state_t *state, void *user_data) { | |||
| 194 | } | 208 | } |
| 195 | }; | 209 | }; |
| 196 | 210 | ||
| 197 | void resetEmojis(qk_tap_dance_state_t *state, void *user_data) { | 211 | void cycleHands(qk_tap_dance_state_t *state, void *user_data) { |
| 198 | 212 | if(state->count == 1) { | |
| 213 | unicode_input_start(); | ||
| 214 | register_hex32(pgm_read_dword(&unicode_map[state->count+10])); | ||
| 215 | unicode_input_finish(); | ||
| 216 | } | ||
| 217 | else if(state->count <= 5) { | ||
| 218 | tap(KC_BSPC); | ||
| 219 | unicode_input_start(); | ||
| 220 | register_hex32(pgm_read_dword(&unicode_map[state->count+10])); | ||
| 221 | unicode_input_finish(); | ||
| 222 | } | ||
| 199 | }; | 223 | }; |
| 200 | 224 | ||
