diff options
| author | heartrobotninja <heartrobotninja@users.noreply.github.com> | 2017-10-21 12:59:31 -0700 |
|---|---|---|
| committer | Jack Humbert <jack.humb@gmail.com> | 2017-10-21 09:59:31 -1000 |
| commit | b25338a8098f1b9988707b5c1a6ad8d99f55baf6 (patch) | |
| tree | f566b9ac2a20db3560398414373e43fc044af0ae | |
| parent | 78923cb8843618388408af64c1bfe53f0caf01b6 (diff) | |
| download | qmk_firmware-b25338a8098f1b9988707b5c1a6ad8d99f55baf6.tar.gz qmk_firmware-b25338a8098f1b9988707b5c1a6ad8d99f55baf6.zip | |
heartrobotninja ergodox_ez and lets_split layouts (#1874)
6 files changed, 999 insertions, 0 deletions
diff --git a/keyboards/ergodox_ez/keymaps/heartrobotninja/config.h b/keyboards/ergodox_ez/keymaps/heartrobotninja/config.h new file mode 100644 index 000000000..40d80b701 --- /dev/null +++ b/keyboards/ergodox_ez/keymaps/heartrobotninja/config.h | |||
| @@ -0,0 +1,18 @@ | |||
| 1 | #ifndef CONFIG_HEARTROBOTNINJA_H | ||
| 2 | #define CONFIG_HEARTROBOTNINJA_H | ||
| 3 | |||
| 4 | #include "../../config.h" | ||
| 5 | |||
| 6 | #define ONESHOT_TAP_TOGGLE 2 | ||
| 7 | #define ONESHOT_TIMEOUT 1000 | ||
| 8 | |||
| 9 | #undef LEADER_TIMEOUT | ||
| 10 | #define LEADER_TIMEOUT 1000 | ||
| 11 | |||
| 12 | #undef TAPPING_TERM | ||
| 13 | #define TAPPING_TERM 200 | ||
| 14 | |||
| 15 | #undef TAPPING_TOGGLE | ||
| 16 | #define TAPPING_TOGGLE 2 | ||
| 17 | |||
| 18 | #endif \ No newline at end of file | ||
diff --git a/keyboards/ergodox_ez/keymaps/heartrobotninja/keymap.c b/keyboards/ergodox_ez/keymaps/heartrobotninja/keymap.c new file mode 100644 index 000000000..cc0ffba87 --- /dev/null +++ b/keyboards/ergodox_ez/keymaps/heartrobotninja/keymap.c | |||
| @@ -0,0 +1,680 @@ | |||
| 1 | #include "action_layer.h" | ||
| 2 | #include "action_util.h" | ||
| 3 | #include "debug.h" | ||
| 4 | #include "eeconfig.h" | ||
| 5 | #include "ergodox_ez.h" | ||
| 6 | #include "version.h" | ||
| 7 | #include "wait.h" | ||
| 8 | |||
| 9 | /* Aliases */ | ||
| 10 | #define ____ KC_TRNS | ||
| 11 | |||
| 12 | /* Layers */ | ||
| 13 | enum | ||
| 14 | { | ||
| 15 | COLE = 0, | ||
| 16 | LOWER, // right hand 10 key | ||
| 17 | RAISE, // Function keys | ||
| 18 | AUX, // Things like rebooting the board to be flashed. NUM + RAISE | ||
| 19 | }; | ||
| 20 | |||
| 21 | /* Macros */ | ||
| 22 | enum | ||
| 23 | { | ||
| 24 | NONE = 0, | ||
| 25 | |||
| 26 | // OS Functions | ||
| 27 | F_PASTE, | ||
| 28 | |||
| 29 | // Config Macros | ||
| 30 | CF_EPRM, | ||
| 31 | CF_VERS, | ||
| 32 | |||
| 33 | // RGB Macro | ||
| 34 | RGB_ANI, | ||
| 35 | }; | ||
| 36 | |||
| 37 | /* Tap Dancery */ | ||
| 38 | enum | ||
| 39 | { | ||
| 40 | TD_BTK, | ||
| 41 | TD_TDE, | ||
| 42 | TD_LPRN, | ||
| 43 | TD_RPRN, | ||
| 44 | TD_MIN, | ||
| 45 | TD_USC, | ||
| 46 | TD_COPY, | ||
| 47 | TD_UNDO, | ||
| 48 | TD_FIND, | ||
| 49 | }; | ||
| 50 | |||
| 51 | /* OS Identifier */ | ||
| 52 | enum | ||
| 53 | { | ||
| 54 | OS_WIN = 0, | ||
| 55 | OS_OSX, | ||
| 56 | OS_LIN, | ||
| 57 | }; | ||
| 58 | |||
| 59 | uint8_t os_type = OS_WIN; | ||
| 60 | |||
| 61 | static uint16_t rgb_timer; | ||
| 62 | bool time_travel = false; | ||
| 63 | bool skip_leds = false; | ||
| 64 | |||
| 65 | /* Keymaps */ | ||
| 66 | |||
| 67 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
| 68 | |||
| 69 | /* Keymap 0: Colemak Layer | ||
| 70 | * | ||
| 71 | * ,-----------------------------------------------------. ,-----------------------------------------------------. | ||
| 72 | * | Find | 1 ! | 2 @ | 3 # | 4 $ | 5 % | Undo | | VOLUP| 6 ^ | 7 & | 8 * | 9 ( | 0 ) | ---- | | ||
| 73 | * | | | | | | | | | | | | | | | | | ||
| 74 | * |-----------+------+------+------+------+------+------| |------+------+------+------+------+------+-----------| | ||
| 75 | * | ' " ` | Q | W | F | P | G | CCopy| | VOLDN| J | L | U Ü | Y | = + | ~ : ; | | ||
| 76 | * |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------| | ||
| 77 | * | ( [ { | A Ä | R | S ß | T | D |------| |------| H | N | E | I | O Ö | ) ] } | | ||
| 78 | * |-----------+------+------+------+------+------| Paste| | MUTE |------+------+------+------+------+-----------| | ||
| 79 | * | - , < | Z | X | C | V | B | | | | K | M | / ? | \ | | ^ | _ . > | | ||
| 80 | * `-----------+------+------+------+------+-------------' `-------------+------+------+------+------+-----------' | ||
| 81 | * | AUX | RAISE | LOWER | LEAD | GUI | | ESC | LOCK | < | v | > | | ||
| 82 | * `-----------------------------------' `-----------------------------------' | ||
| 83 | * ,-------------. ,-------------. | ||
| 84 | * | ALT | CTRL | | HOME | END | | ||
| 85 | * ,------|------|------| |------+------+------. | ||
| 86 | * | | | Del | | PGUP | | | | ||
| 87 | * | Space|Backsp|------| |------| Enter| Shift| | ||
| 88 | * | | | Tab | | PGDN | | | | ||
| 89 | * `--------------------' `--------------------' | ||
| 90 | */ | ||
| 91 | |||
| 92 | [COLE] = KEYMAP( | ||
| 93 | // Left Hand | ||
| 94 | TD(TD_FIND), KC_1, KC_2, KC_3, KC_4, KC_5, TD(TD_UNDO), | ||
| 95 | TD(TD_BTK), KC_Q, KC_W, KC_F, KC_P, KC_G, TD(TD_COPY), | ||
| 96 | TD(TD_LPRN), KC_A, KC_R, KC_S, KC_T, KC_D, | ||
| 97 | TD(TD_MIN), KC_Z, KC_X, KC_C, KC_V, KC_B, M(F_PASTE), | ||
| 98 | TT(AUX), TT(RAISE), TT(LOWER), KC_LEAD, OSM(MOD_LGUI), | ||
| 99 | OSM(MOD_LALT), OSM(MOD_LCTL), | ||
| 100 | KC_DEL, | ||
| 101 | KC_SPC, KC_BSPC, KC_TAB, | ||
| 102 | |||
| 103 | // Right Hand | ||
| 104 | KC_VOLU, KC_6, KC_7, KC_8, KC_9, KC_0, ____, | ||
| 105 | KC_VOLD, KC_J, KC_L, KC_U, KC_Y, KC_MINS, TD(TD_TDE), | ||
| 106 | KC_H, KC_N, KC_E, KC_I, KC_O, TD(TD_RPRN), | ||
| 107 | KC_MUTE, KC_K, KC_M, KC_SLSH, KC_BSLS, KC_UP, TD(TD_USC), | ||
| 108 | KC_ESC, LGUI(KC_L), KC_LEFT, KC_DOWN, KC_RGHT, | ||
| 109 | KC_HOME, KC_END, | ||
| 110 | KC_PGUP, | ||
| 111 | KC_PGDOWN, KC_ENT, OSM(MOD_LSFT)), | ||
| 112 | |||
| 113 | /* Keymap 2: LOWER Layer | ||
| 114 | * | ||
| 115 | * ,-----------------------------------------------------. ,-----------------------------------------------------. | ||
| 116 | * | ---- | ---- | ---- | ---- | ---- | ---- | | | | ( | ) | ^ | / | ---- | | | ||
| 117 | * | | | | | | | ---- | | ---- | | | | | | ---- | | ||
| 118 | * |-----------+------+------+------+------+------+------| |------+------+------+------+------+------+-----------| | ||
| 119 | * | ---- | ---- | ---- | ---- | ---- | ---- | | | | 7 | 8 | 9 | * | ---- | ---- | | ||
| 120 | * |-----------+------+------+------+------+------| ---- | | ---- |------+------+------+------+------+-----------| | ||
| 121 | * | ---- | ---- | ---- | ---- | ---- | ---- |------| |------| 4 | 5 | 6 | - | ---- | ---- | | ||
| 122 | * |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------| | ||
| 123 | * | ---- | ---- | ---- | ---- | ---- | ---- | ---- | | ---- | 1 | 2 | 3 | + | ---- | ---- | | ||
| 124 | * `-----------+------+------+------+------+-------------' `-------------+------+------+------+------+-----------' | ||
| 125 | * | ---- | ---- | ---- | ---- | ---- | | 0 | = | ---- | ---- | ---- | | ||
| 126 | * `-----------------------------------' `-------------------------------------' | ||
| 127 | * ,-------------. ,-------------. | ||
| 128 | * | ---- | ---- | | ---- | ---- | | ||
| 129 | * ,------|------|------| |------+------+------. | ||
| 130 | * | | | ---- | | ---- | | | | ||
| 131 | * | ---- | ---- |------| |------| ---- | ---- | | ||
| 132 | * | | | ---- | | ---- | | | | ||
| 133 | * `--------------------' `--------------------' | ||
| 134 | */ | ||
| 135 | [LOWER] = KEYMAP( | ||
| 136 | // Left Hand | ||
| 137 | ____, ____, ____, ____, ____, ____, ____, | ||
| 138 | ____, ____, ____, ____, ____, ____, ____, | ||
| 139 | ____, ____, ____, ____, ____, ____, | ||
| 140 | ____, ____, ____, ____, ____, ____, ____, | ||
| 141 | ____, ____, ____, ____, ____, | ||
| 142 | ____, ____, | ||
| 143 | ____, | ||
| 144 | ____, ____, ____, | ||
| 145 | |||
| 146 | // Right Hand | ||
| 147 | ____, KC_LPRN, KC_RPRN, KC_CIRC, KC_PSLS, ____, ____, | ||
| 148 | ____, KC_7, KC_8, KC_9, KC_PAST, ____, ____, | ||
| 149 | KC_4, KC_5, KC_6, KC_PMNS, ____, ____, | ||
| 150 | ____, KC_1, KC_2, KC_3, KC_PPLS, ____, ____, | ||
| 151 | KC_0, KC_PEQL, ____, ____, ____, | ||
| 152 | ____, ____, | ||
| 153 | ____, | ||
| 154 | ____, ____, ____), | ||
| 155 | |||
| 156 | /* Keymap 3: RAISE Layer | ||
| 157 | * | ||
| 158 | * ,-----------------------------------------------------. ,-----------------------------------------------------. | ||
| 159 | * | F1 | F2 | F3 | F4 | F5 | F6 | ---- | | ---- | ! | @ | # | $ | % | ` ~ | | ||
| 160 | * | | | | | | | | | | | | | | | | | ||
| 161 | * |-----------+------+------+------+------+------+------| |------+------+------+------+------+------+-----------| | ||
| 162 | * | F7 | F8 | F9 | F10 | F11 | F12 | ---- | | ---- | ^ | & | * | ( | ) | - _ | | ||
| 163 | * |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------| | ||
| 164 | * | ---- | ---- | ---- | ---- | ---- | ---- |------| |------| [ { | } ] | \ | | ; : | ' " | = + | | ||
| 165 | * |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------| | ||
| 166 | * | ---- | ---- | ---- | ---- | ---- | ---- | ---- | | ---- | , < | > . | / ? | ---- | ---- | ---- | | ||
| 167 | * `-----------+------+------+------+------+-------------' `-------------+------+------+------+------+-----------' | ||
| 168 | * | ---- | ---- | ---- | ---- | ---- | | ---- | ---- | ---- | ---- | ---- | | ||
| 169 | * `-----------------------------------' `-----------------------------------' | ||
| 170 | * ,-------------. ,-------------. | ||
| 171 | * | ---- | ---- | | ---- | ---- | | ||
| 172 | * ,------|------|------| |------+------+------. | ||
| 173 | * | | | ---- | | ---- | | | | ||
| 174 | * | ---- | ---- |------| |------| ---- | ---- | | ||
| 175 | * | | | ---- | | ---- | | | | ||
| 176 | * `--------------------' `--------------------' | ||
| 177 | */ | ||
| 178 | [RAISE] = KEYMAP( | ||
| 179 | // Left Hand | ||
| 180 | KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, ____, | ||
| 181 | KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, ____, | ||
| 182 | ____, ____, ____, ____, ____, ____, | ||
| 183 | ____, ____, ____, ____, ____, ____, ____, | ||
| 184 | ____, ____, ____, ____, ____, | ||
| 185 | ____, ____, | ||
| 186 | ____, | ||
| 187 | ____, ____, ____, | ||
| 188 | |||
| 189 | // Right Hand | ||
| 190 | ____, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_GRV, | ||
| 191 | ____, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_MINS, | ||
| 192 | KC_LBRC, KC_RBRC, KC_BSLS, KC_SCLN, KC_QUOT, KC_EQL, | ||
| 193 | ____, KC_COMM, KC_DOT, KC_SLSH, ____, ____, ____, | ||
| 194 | ____, ____, ____, ____, ____, | ||
| 195 | ____, ____, | ||
| 196 | ____, | ||
| 197 | ____, ____, ____), | ||
| 198 | |||
| 199 | /* Keymap 7: Configuration Layer | ||
| 200 | * | ||
| 201 | * ,-----------------------------------------------------. ,-----------------------------------------------------. | ||
| 202 | * | EEPROM | ---- | ---- | ---- | ---- | ---- | ---- | | PWR | ---- | ---- | ---- | ---- | ---- | | | ||
| 203 | * | | | | | | | | | | | | | | | VERSION | | ||
| 204 | * |-----------+------+------+------+------+------+------| |------+------+------+------+------+------+-----------| | ||
| 205 | * | ---- | ---- | ---- | ---- | ---- | ---- | | | | ---- | ---- | ---- | ---- | ---- | ---- | | ||
| 206 | * |-----------+------+------+------+------+------| ---- | | SLP |------+------+------+------+------+-----------| | ||
| 207 | * | ---- | ---- | ---- | ---- | ---- | ---- |------| |------| ---- | ---- | ---- | ---- | ---- | ---- | | ||
| 208 | * |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------| | ||
| 209 | * | ---- | ---- | ---- | ---- | ---- | ---- | ---- | | WAKE | ---- | ---- | ---- | ---- | ---- | ---- | | ||
| 210 | * `-----------+------+------+------+------+-------------' `-------------+------+------+------+------+-----------' | ||
| 211 | * | ---- | ---- | ---- | ---- | ---- | | ---- | ---- | ---- | ---- | ---- | | ||
| 212 | * `-----------------------------------' `-----------------------------------' | ||
| 213 | * ,-------------. ,-------------. | ||
| 214 | * | ---- | ---- | | TOG | ANI | | ||
| 215 | * ,------|------|------| |------+------+------. | ||
| 216 | * | | | ---- | | VAI | | | | ||
| 217 | * | ---- | ---- |------| |------| HUI | HUID | | ||
| 218 | * | | | ---- | | VAD | | | | ||
| 219 | * `--------------------' `--------------------' | ||
| 220 | */ | ||
| 221 | [AUX] = KEYMAP( | ||
| 222 | // Left Hand | ||
| 223 | M(CF_EPRM), ____, ____, ____, ____, ____, KC_PWR, | ||
| 224 | ____, ____, ____, ____, ____, ____, KC_SLEP, | ||
| 225 | ____, ____, ____, ____, ____, ____, | ||
| 226 | ____, ____, ____, ____, ____, ____, KC_WAKE, | ||
| 227 | ____, ____, ____, ____, ____, | ||
| 228 | ____, ____, | ||
| 229 | ____, | ||
| 230 | ____, ____, ____, | ||
| 231 | |||
| 232 | // Right Hand | ||
| 233 | KC_PWR, ____, ____, ____, ____, ____, M(CF_VERS), | ||
| 234 | KC_SLEP, ____, ____, ____, ____, ____, ____, | ||
| 235 | ____, ____, ____, ____, ____, ____, | ||
| 236 | KC_WAKE, ____, ____, ____, ____, ____, ____, | ||
| 237 | ____, ____, ____, ____, ____, | ||
| 238 | RGB_TOG, M(RGB_ANI), | ||
| 239 | RGB_VAI, | ||
| 240 | RGB_VAD, RGB_HUI, RGB_HUD), | ||
| 241 | }; | ||
| 242 | |||
| 243 | void unredo(qk_tap_dance_state_t *state, void *user_data) | ||
| 244 | { | ||
| 245 | if (state->count > 1) | ||
| 246 | { | ||
| 247 | register_code(KC_LCTL); | ||
| 248 | register_code(KC_Y); | ||
| 249 | unregister_code(KC_Y); | ||
| 250 | unregister_code(KC_LCTL); | ||
| 251 | } | ||
| 252 | else | ||
| 253 | { | ||
| 254 | register_code(KC_LCTL); | ||
| 255 | register_code(KC_Z); | ||
| 256 | unregister_code(KC_Z); | ||
| 257 | unregister_code(KC_LCTL); | ||
| 258 | } | ||
| 259 | reset_tap_dance(state); | ||
| 260 | } | ||
| 261 | |||
| 262 | void ccopy(qk_tap_dance_state_t *state, void *user_data) | ||
| 263 | { | ||
| 264 | if (state->count > 1) | ||
| 265 | { | ||
| 266 | register_code(KC_LCTL); | ||
| 267 | register_code(KC_X); | ||
| 268 | unregister_code(KC_X); | ||
| 269 | unregister_code(KC_LCTL); | ||
| 270 | } | ||
| 271 | else | ||
| 272 | { | ||
| 273 | register_code(KC_LCTL); | ||
| 274 | register_code(KC_C); | ||
| 275 | unregister_code(KC_C); | ||
| 276 | unregister_code(KC_LCTL); | ||
| 277 | } | ||
| 278 | reset_tap_dance(state); | ||
| 279 | } | ||
| 280 | |||
| 281 | void findreplace(qk_tap_dance_state_t *state, void *user_data) | ||
| 282 | { | ||
| 283 | if (state->count > 1) | ||
| 284 | { | ||
| 285 | register_code(KC_LCTL); | ||
| 286 | register_code(KC_H); | ||
| 287 | unregister_code(KC_H); | ||
| 288 | unregister_code(KC_LCTL); | ||
| 289 | } | ||
| 290 | else | ||
| 291 | { | ||
| 292 | register_code(KC_LCTL); | ||
| 293 | register_code(KC_F); | ||
| 294 | unregister_code(KC_F); | ||
| 295 | unregister_code(KC_LCTL); | ||
| 296 | } | ||
| 297 | reset_tap_dance(state); | ||
| 298 | } | ||
| 299 | |||
| 300 | qk_tap_dance_action_t tap_dance_actions[] = { | ||
| 301 | [TD_BTK] = ACTION_TAP_DANCE_DOUBLE(KC_QUOT, KC_GRV), | ||
| 302 | [TD_TDE] = ACTION_TAP_DANCE_DOUBLE(KC_SCLN, KC_TILD), | ||
| 303 | [TD_LPRN] = ACTION_TAP_DANCE_DOUBLE(KC_LBRC, KC_LPRN), | ||
| 304 | [TD_RPRN] = ACTION_TAP_DANCE_DOUBLE(KC_RBRC, KC_RPRN), | ||
| 305 | [TD_MIN] = ACTION_TAP_DANCE_DOUBLE(KC_COMM, KC_MINS), | ||
| 306 | [TD_USC] = ACTION_TAP_DANCE_DOUBLE(KC_DOT, KC_UNDS), | ||
| 307 | [TD_COPY] = ACTION_TAP_DANCE_FN(ccopy), | ||
| 308 | [TD_UNDO] = ACTION_TAP_DANCE_FN(unredo), | ||
| 309 | [TD_FIND] = ACTION_TAP_DANCE_FN(findreplace)}; | ||
| 310 | |||
| 311 | const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) | ||
| 312 | { | ||
| 313 | switch (id) | ||
| 314 | { | ||
| 315 | case F_PASTE: | ||
| 316 | if (record->event.pressed) | ||
| 317 | { | ||
| 318 | register_code(KC_LCTL); | ||
| 319 | register_code(KC_V); | ||
| 320 | unregister_code(KC_V); | ||
| 321 | unregister_code(KC_LCTL); | ||
| 322 | } | ||
| 323 | break; | ||
| 324 | case RGB_ANI: | ||
| 325 | if (record->event.pressed) | ||
| 326 | { | ||
| 327 | rgb_timer = timer_read(); | ||
| 328 | } | ||
| 329 | else | ||
| 330 | { | ||
| 331 | if (timer_elapsed(rgb_timer) > 300) | ||
| 332 | { | ||
| 333 | rgblight_mode(1); | ||
| 334 | } | ||
| 335 | else | ||
| 336 | { | ||
| 337 | rgblight_step(); | ||
| 338 | } | ||
| 339 | } | ||
| 340 | case CF_EPRM: | ||
| 341 | if (record->event.pressed) | ||
| 342 | { | ||
| 343 | eeconfig_init(); | ||
| 344 | } | ||
| 345 | return false; | ||
| 346 | break; | ||
| 347 | case CF_VERS: | ||
| 348 | if (record->event.pressed) | ||
| 349 | { | ||
| 350 | SEND_STRING(QMK_KEYBOARD "/" QMK_KEYMAP " @ " QMK_VERSION); | ||
| 351 | } | ||
| 352 | return false; | ||
| 353 | break; | ||
| 354 | } | ||
| 355 | return MACRO_NONE; | ||
| 356 | }; | ||
| 357 | |||
| 358 | /* | ||
| 359 | bool process_record_user(uint16_t keycode, keyrecord_t *record) | ||
| 360 | {} | ||
| 361 | */ | ||
| 362 | |||
| 363 | void tap(uint16_t code) | ||
| 364 | { | ||
| 365 | register_code(code); | ||
| 366 | unregister_code(code); | ||
| 367 | } | ||
| 368 | |||
| 369 | LEADER_EXTERNS(); | ||
| 370 | void matrix_scan_user(void) | ||
| 371 | { | ||
| 372 | |||
| 373 | uint8_t layer = biton32(layer_state); | ||
| 374 | |||
| 375 | if (keyboard_report->mods & MOD_BIT(KC_LSFT) || | ||
| 376 | ((get_oneshot_mods() & MOD_BIT(KC_LSFT)) && | ||
| 377 | !has_oneshot_mods_timed_out())) | ||
| 378 | { | ||
| 379 | ergodox_right_led_1_set(LED_BRIGHTNESS_HI); | ||
| 380 | ergodox_right_led_1_on(); | ||
| 381 | } | ||
| 382 | else if (layer == RAISE || layer == AUX) | ||
| 383 | { | ||
| 384 | ergodox_right_led_1_set(LED_BRIGHTNESS_LO); | ||
| 385 | ergodox_right_led_1_on(); | ||
| 386 | } | ||
| 387 | else | ||
| 388 | { | ||
| 389 | ergodox_right_led_1_off(); | ||
| 390 | } | ||
| 391 | |||
| 392 | if (keyboard_report->mods & MOD_BIT(KC_LCTL) || | ||
| 393 | ((get_oneshot_mods() & MOD_BIT(KC_LCTL)) && | ||
| 394 | !has_oneshot_mods_timed_out())) | ||
| 395 | { | ||
| 396 | ergodox_right_led_2_set(LED_BRIGHTNESS_HI); | ||
| 397 | ergodox_right_led_2_on(); | ||
| 398 | } | ||
| 399 | else if (layer == LOWER || layer == AUX) | ||
| 400 | { | ||
| 401 | ergodox_right_led_2_set(LED_BRIGHTNESS_LO); | ||
| 402 | ergodox_right_led_2_on(); | ||
| 403 | } | ||
| 404 | else | ||
| 405 | { | ||
| 406 | ergodox_right_led_2_off(); | ||
| 407 | } | ||
| 408 | |||
| 409 | if (keyboard_report->mods & MOD_BIT(KC_LALT) || | ||
| 410 | ((get_oneshot_mods() & MOD_BIT(KC_LALT)) && | ||
| 411 | !has_oneshot_mods_timed_out())) | ||
| 412 | { | ||
| 413 | ergodox_right_led_3_set(LED_BRIGHTNESS_HI); | ||
| 414 | ergodox_right_led_3_on(); | ||
| 415 | } | ||
| 416 | else if (layer == COLE || layer == AUX) | ||
| 417 | { | ||
| 418 | ergodox_right_led_3_set(LED_BRIGHTNESS_LO); | ||
| 419 | ergodox_right_led_3_on(); | ||
| 420 | } | ||
| 421 | else | ||
| 422 | { | ||
| 423 | ergodox_right_led_3_off(); | ||
| 424 | } | ||
| 425 | |||
| 426 | LEADER_DICTIONARY() | ||
| 427 | { | ||
| 428 | leading = false; | ||
| 429 | leader_end(); | ||
| 430 | |||
| 431 | SEQ_THREE_KEYS(KC_W, KC_I, KC_N) { os_type = OS_WIN; }; | ||
| 432 | SEQ_THREE_KEYS(KC_O, KC_S, KC_X) { os_type = OS_OSX; }; | ||
| 433 | SEQ_THREE_KEYS(KC_L, KC_I, KC_N) { os_type = OS_LIN; }; | ||
| 434 | |||
| 435 | SEQ_ONE_KEY(KC_A) | ||
| 436 | { | ||
| 437 | switch (os_type) | ||
| 438 | { | ||
| 439 | case OS_WIN: | ||
| 440 | tap(KC_NLCK); | ||
| 441 | register_code(KC_RALT); | ||
| 442 | tap(KC_KP_0); | ||
| 443 | tap(KC_KP_2); | ||
| 444 | tap(KC_KP_2); | ||
| 445 | tap(KC_KP_8); | ||
| 446 | unregister_code(KC_RALT); | ||
| 447 | tap(KC_NLCK); | ||
| 448 | break; | ||
| 449 | case OS_OSX: | ||
| 450 | register_code(KC_RALT); | ||
| 451 | register_code(KC_RSFT); | ||
| 452 | register_code(KC_SCLN); | ||
| 453 | unregister_code(KC_SCLN); | ||
| 454 | unregister_code(KC_RSFT); | ||
| 455 | unregister_code(KC_RALT); | ||
| 456 | tap(KC_A); | ||
| 457 | break; | ||
| 458 | case OS_LIN: | ||
| 459 | tap(KC_RALT); | ||
| 460 | tap(KC_DQT); | ||
| 461 | tap(KC_A); | ||
| 462 | break; | ||
| 463 | } | ||
| 464 | } | ||
| 465 | SEQ_TWO_KEYS(KC_A, KC_A) | ||
| 466 | { | ||
| 467 | switch (os_type) | ||
| 468 | { | ||
| 469 | case OS_WIN: | ||
| 470 | tap(KC_NLCK); | ||
| 471 | register_code(KC_RALT); | ||
| 472 | tap(KC_KP_0); | ||
| 473 | tap(KC_KP_1); | ||
| 474 | tap(KC_KP_9); | ||
| 475 | tap(KC_KP_6); | ||
| 476 | unregister_code(KC_RALT); | ||
| 477 | tap(KC_NLCK); | ||
| 478 | break; | ||
| 479 | case OS_OSX: | ||
| 480 | register_code(KC_RALT); | ||
| 481 | register_code(KC_RSFT); | ||
| 482 | register_code(KC_SCLN); | ||
| 483 | unregister_code(KC_SCLN); | ||
| 484 | unregister_code(KC_RSFT); | ||
| 485 | unregister_code(KC_RALT); | ||
| 486 | register_code(KC_LSFT); | ||
| 487 | register_code(KC_A); | ||
| 488 | unregister_code(KC_A); | ||
| 489 | unregister_code(KC_LSFT); | ||
| 490 | break; | ||
| 491 | case OS_LIN: | ||
| 492 | tap(KC_RALT); | ||
| 493 | tap(KC_DQT); | ||
| 494 | register_code(KC_LSFT); | ||
| 495 | register_code(KC_A); | ||
| 496 | unregister_code(KC_A); | ||
| 497 | unregister_code(KC_LSFT); | ||
| 498 | break; | ||
| 499 | } | ||
| 500 | } | ||
| 501 | SEQ_ONE_KEY(KC_O) | ||
| 502 | { | ||
| 503 | switch (os_type) | ||
| 504 | { | ||
| 505 | case OS_WIN: | ||
| 506 | tap(KC_NLCK); | ||
| 507 | register_code(KC_RALT); | ||
| 508 | tap(KC_KP_0); | ||
| 509 | tap(KC_KP_2); | ||
| 510 | tap(KC_KP_4); | ||
| 511 | tap(KC_KP_6); | ||
| 512 | unregister_code(KC_RALT); | ||
| 513 | tap(KC_NLCK); | ||
| 514 | break; | ||
| 515 | case OS_OSX: | ||
| 516 | register_code(KC_RALT); | ||
| 517 | register_code(KC_RSFT); | ||
| 518 | register_code(KC_SCLN); | ||
| 519 | unregister_code(KC_SCLN); | ||
| 520 | unregister_code(KC_RSFT); | ||
| 521 | unregister_code(KC_RALT); | ||
| 522 | tap(KC_O); | ||
| 523 | break; | ||
| 524 | case OS_LIN: | ||
| 525 | tap(KC_RALT); | ||
| 526 | tap(KC_DQT); | ||
| 527 | tap(KC_O); | ||
| 528 | break; | ||
| 529 | } | ||
| 530 | } | ||
| 531 | SEQ_TWO_KEYS(KC_O, KC_O) | ||
| 532 | { | ||
| 533 | switch (os_type) | ||
| 534 | { | ||
| 535 | case OS_WIN: | ||
| 536 | tap(KC_NLCK); | ||
| 537 | register_code(KC_RALT); | ||
| 538 | tap(KC_KP_0); | ||
| 539 | tap(KC_KP_2); | ||
| 540 | tap(KC_KP_1); | ||
| 541 | tap(KC_KP_4); | ||
| 542 | unregister_code(KC_RALT); | ||
| 543 | tap(KC_NLCK); | ||
| 544 | break; | ||
| 545 | case OS_OSX: | ||
| 546 | register_code(KC_RALT); | ||
| 547 | register_code(KC_RSFT); | ||
| 548 | register_code(KC_SCLN); | ||
| 549 | unregister_code(KC_SCLN); | ||
| 550 | unregister_code(KC_RSFT); | ||
| 551 | unregister_code(KC_RALT); | ||
| 552 | tap(LSFT(KC_O)); | ||
| 553 | break; | ||
| 554 | case OS_LIN: | ||
| 555 | tap(KC_RALT); | ||
| 556 | tap(KC_DQT); | ||
| 557 | register_code(KC_LSFT); | ||
| 558 | register_code(KC_O); | ||
| 559 | unregister_code(KC_O); | ||
| 560 | unregister_code(KC_LSFT); | ||
| 561 | break; | ||
| 562 | } | ||
| 563 | } | ||
| 564 | SEQ_ONE_KEY(KC_U) | ||
| 565 | { | ||
| 566 | switch (os_type) | ||
| 567 | { | ||
| 568 | case OS_WIN: | ||
| 569 | tap(KC_NLCK); | ||
| 570 | register_code(KC_RALT); | ||
| 571 | tap(KC_KP_0); | ||
| 572 | tap(KC_KP_2); | ||
| 573 | tap(KC_KP_5); | ||
| 574 | tap(KC_KP_2); | ||
| 575 | unregister_code(KC_RALT); | ||
| 576 | tap(KC_NLCK); | ||
| 577 | break; | ||
| 578 | case OS_OSX: | ||
| 579 | register_code(KC_RALT); | ||
| 580 | register_code(KC_RSFT); | ||
| 581 | register_code(KC_SCLN); | ||
| 582 | unregister_code(KC_SCLN); | ||
| 583 | unregister_code(KC_RSFT); | ||
| 584 | unregister_code(KC_RALT); | ||
| 585 | tap(KC_U); | ||
| 586 | break; | ||
| 587 | case OS_LIN: | ||
| 588 | tap(KC_RALT); | ||
| 589 | tap(KC_DQT); | ||
| 590 | tap(KC_U); | ||
| 591 | break; | ||
| 592 | } | ||
| 593 | } | ||
| 594 | SEQ_TWO_KEYS(KC_U, KC_U) | ||
| 595 | { | ||
| 596 | switch (os_type) | ||
| 597 | { | ||
| 598 | case OS_WIN: | ||
| 599 | tap(KC_NLCK); | ||
| 600 | register_code(KC_RALT); | ||
| 601 | tap(KC_KP_0); | ||
| 602 | tap(KC_KP_2); | ||
| 603 | tap(KC_KP_2); | ||
| 604 | tap(KC_KP_0); | ||
| 605 | unregister_code(KC_RALT); | ||
| 606 | tap(KC_NLCK); | ||
| 607 | break; | ||
| 608 | case OS_OSX: | ||
| 609 | register_code(KC_RALT); | ||
| 610 | register_code(KC_RSFT); | ||
| 611 | register_code(KC_SCLN); | ||
| 612 | unregister_code(KC_SCLN); | ||
| 613 | unregister_code(KC_RSFT); | ||
| 614 | unregister_code(KC_RALT); | ||
| 615 | tap(LSFT(KC_U)); | ||
| 616 | break; | ||
| 617 | case OS_LIN: | ||
| 618 | tap(KC_RALT); | ||
| 619 | tap(KC_DQT); | ||
| 620 | register_code(KC_LSFT); | ||
| 621 | register_code(KC_U); | ||
| 622 | unregister_code(KC_U); | ||
| 623 | unregister_code(KC_LSFT); | ||
| 624 | break; | ||
| 625 | } | ||
| 626 | } | ||
| 627 | SEQ_ONE_KEY(KC_S) | ||
| 628 | { | ||
| 629 | switch (os_type) | ||
| 630 | { | ||
| 631 | case OS_WIN: | ||
| 632 | tap(KC_NLCK); | ||
| 633 | register_code(KC_RALT); | ||
| 634 | tap(KC_KP_0); | ||
| 635 | tap(KC_KP_2); | ||
| 636 | tap(KC_KP_2); | ||
| 637 | tap(KC_KP_3); | ||
| 638 | unregister_code(KC_RALT); | ||
| 639 | tap(KC_NLCK); | ||
| 640 | break; | ||
| 641 | case OS_OSX: | ||
| 642 | register_code(KC_RALT); | ||
| 643 | tap(KC_S); | ||
| 644 | unregister_code(KC_RALT); | ||
| 645 | break; | ||
| 646 | case OS_LIN: | ||
| 647 | tap(KC_RALT); | ||
| 648 | tap(KC_S); | ||
| 649 | tap(KC_S); | ||
| 650 | break; | ||
| 651 | } | ||
| 652 | } | ||
| 653 | } | ||
| 654 | } | ||
| 655 | |||
| 656 | void matrix_init_user(void) | ||
| 657 | { | ||
| 658 | |||
| 659 | ergodox_led_all_on(); | ||
| 660 | rgblight_init(); | ||
| 661 | rgblight_enable(); | ||
| 662 | rgblight_setrgb(255, 0, 0); | ||
| 663 | for (int i = LED_BRIGHTNESS_HI; i > LED_BRIGHTNESS_LO; i--) | ||
| 664 | { | ||
| 665 | ergodox_led_all_set(i); | ||
| 666 | wait_ms(5); | ||
| 667 | } | ||
| 668 | rgblight_setrgb(255, 255, 0); | ||
| 669 | wait_ms(1000); | ||
| 670 | for (int i = LED_BRIGHTNESS_LO; i > 0; i--) | ||
| 671 | { | ||
| 672 | ergodox_led_all_set(i); | ||
| 673 | wait_ms(10); | ||
| 674 | } | ||
| 675 | rgblight_setrgb(0, 255, 255); | ||
| 676 | ergodox_led_all_off(); | ||
| 677 | wait_ms(1000); | ||
| 678 | |||
| 679 | rgblight_effect_knight(50); | ||
| 680 | } \ No newline at end of file | ||
diff --git a/keyboards/ergodox_ez/keymaps/heartrobotninja/rules.mk b/keyboards/ergodox_ez/keymaps/heartrobotninja/rules.mk new file mode 100644 index 000000000..38112a906 --- /dev/null +++ b/keyboards/ergodox_ez/keymaps/heartrobotninja/rules.mk | |||
| @@ -0,0 +1,34 @@ | |||
| 1 | BOOTMAGIC_ENABLE=no | ||
| 2 | COMMAND_ENABLE=no | ||
| 3 | SLEEP_LED_ENABLE=no | ||
| 4 | NKRO_ENABLE = yes | ||
| 5 | FORCE_NKRO = no | ||
| 6 | DEBUG_ENABLE = no | ||
| 7 | CONSOLE_ENABLE = no | ||
| 8 | TAP_DANCE_ENABLE = yes | ||
| 9 | KEYLOGGER_ENABLE = no | ||
| 10 | UCIS_ENABLE = no | ||
| 11 | MOUSEKEY_ENABLE = no | ||
| 12 | AUTOLOG_ENABLE = no | ||
| 13 | RGBLIGHT_ENABLE = yes | ||
| 14 | RGBLIGHT_ANIMATION = yes | ||
| 15 | EXTRAKEY_ENABLE = yes | ||
| 16 | |||
| 17 | OPT_DEFS += -DUSER_PRINT | ||
| 18 | |||
| 19 | KEYMAP_VERSION = $(shell \ | ||
| 20 | if [ -d "${KEYMAP_PATH}/.git" ]; then \ | ||
| 21 | cd "${KEYMAP_PATH}" && git describe --abbrev=6 --dirty --always --tags --match 'v*' 2>/dev/null; \ | ||
| 22 | else echo QMK; fi) | ||
| 23 | |||
| 24 | KEYMAP_BRANCH = $(shell \ | ||
| 25 | if [ -d "${KEYMAP_PATH}/.git" ]; then \ | ||
| 26 | cd "${KEYMAP_PATH}"; \ | ||
| 27 | fi; \ | ||
| 28 | git rev-parse --abbrev-ref HEAD 2>/dev/null) | ||
| 29 | |||
| 30 | OPT_DEFS += -DKEYMAP_VERSION=\"$(KEYMAP_VERSION)\\\#$(KEYMAP_BRANCH)\" | ||
| 31 | |||
| 32 | ifndef QUANTUM_DIR | ||
| 33 | include ../../../../Makefile | ||
| 34 | endif \ No newline at end of file | ||
diff --git a/keyboards/lets_split/keymaps/heartrobotninja/config.h b/keyboards/lets_split/keymaps/heartrobotninja/config.h new file mode 100644 index 000000000..bb3556e57 --- /dev/null +++ b/keyboards/lets_split/keymaps/heartrobotninja/config.h | |||
| @@ -0,0 +1,58 @@ | |||
| 1 | /* | ||
| 2 | This is the c configuration file for the keymap | ||
| 3 | |||
| 4 | Copyright 2012 Jun Wako <wakojun@gmail.com> | ||
| 5 | Copyright 2015 Jack Humbert | ||
| 6 | |||
| 7 | This program is free software: you can redistribute it and/or modify | ||
| 8 | it under the terms of the GNU General Public License as published by | ||
| 9 | the Free Software Foundation, either version 2 of the License, or | ||
| 10 | (at your option) any later version. | ||
| 11 | |||
| 12 | This program is distributed in the hope that it will be useful, | ||
| 13 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 15 | GNU General Public License for more details. | ||
| 16 | |||
| 17 | You should have received a copy of the GNU General Public License | ||
| 18 | along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 19 | */ | ||
| 20 | |||
| 21 | #ifndef CONFIG_USER_H | ||
| 22 | #define CONFIG_USER_H | ||
| 23 | |||
| 24 | #include "../../config.h" | ||
| 25 | |||
| 26 | /* Use I2C or Serial, not both */ | ||
| 27 | |||
| 28 | #define USE_SERIAL | ||
| 29 | |||
| 30 | /* Select hand configuration */ | ||
| 31 | |||
| 32 | // #define MASTER_LEFT | ||
| 33 | // #define MASTER_RIGHT | ||
| 34 | #define EE_HANDS | ||
| 35 | |||
| 36 | #define ONESHOT_TAP_TOGGLE 2 | ||
| 37 | #define ONESHOT_TIMEOUT 1000 | ||
| 38 | |||
| 39 | #undef LEADER_TIMEOUT | ||
| 40 | #define LEADER_TIMEOUT 1000 | ||
| 41 | |||
| 42 | #undef TAPPING_TERM | ||
| 43 | #define TAPPING_TERM 200 | ||
| 44 | |||
| 45 | #undef TAPPING_TOGGLE | ||
| 46 | #define TAPPING_TOGGLE 2 | ||
| 47 | |||
| 48 | #ifdef SUBPROJECT_rev1 | ||
| 49 | #include "../../rev1/config.h" | ||
| 50 | #endif | ||
| 51 | #ifdef SUBPROJECT_rev2 | ||
| 52 | #include "../../rev2/config.h" | ||
| 53 | #endif | ||
| 54 | #ifdef SUBPROJECT_rev2fliphalf | ||
| 55 | #include "../../rev2fliphalf/config.h" | ||
| 56 | #endif | ||
| 57 | |||
| 58 | #endif \ No newline at end of file | ||
diff --git a/keyboards/lets_split/keymaps/heartrobotninja/keymap.c b/keyboards/lets_split/keymaps/heartrobotninja/keymap.c new file mode 100644 index 000000000..aa28ebe92 --- /dev/null +++ b/keyboards/lets_split/keymaps/heartrobotninja/keymap.c | |||
| @@ -0,0 +1,183 @@ | |||
| 1 | #include "lets_split.h" | ||
| 2 | #include "action_layer.h" | ||
| 3 | #include "action_util.h" | ||
| 4 | #include "debug.h" | ||
| 5 | #include "eeconfig.h" | ||
| 6 | |||
| 7 | extern keymap_config_t keymap_config; | ||
| 8 | |||
| 9 | // Each layer gets a name for readability, which is then used in the keymap matrix below. | ||
| 10 | // The underscores don't mean anything - you can have a layer called STUFF or any other name. | ||
| 11 | // Layer names don't all need to be of the same length, obviously, and you can also skip them | ||
| 12 | // entirely and just use numbers. | ||
| 13 | #define _COLE 0 | ||
| 14 | #define _LOWER 1 | ||
| 15 | #define _RAISE 2 | ||
| 16 | #define _AUX 16 | ||
| 17 | |||
| 18 | /* Layers */ | ||
| 19 | enum | ||
| 20 | { | ||
| 21 | COLE = 0, | ||
| 22 | LOWER, // right hand 10 key. | ||
| 23 | RAISE, // left hand Fn, right hand symbols. | ||
| 24 | AUX, | ||
| 25 | }; | ||
| 26 | |||
| 27 | /* Tap Dancery */ | ||
| 28 | enum | ||
| 29 | { | ||
| 30 | TD_BTK, | ||
| 31 | TD_TDE, | ||
| 32 | TD_LPRN, | ||
| 33 | TD_RPRN, | ||
| 34 | TD_MIN, | ||
| 35 | TD_USC, | ||
| 36 | }; | ||
| 37 | |||
| 38 | bool time_travel = false; | ||
| 39 | |||
| 40 | // Fillers to make layering more clear | ||
| 41 | #define ____ KC_TRNS | ||
| 42 | |||
| 43 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
| 44 | |||
| 45 | /* Colemak | ||
| 46 | * ,-----------------------------------------------------------------------------------. | ||
| 47 | * | ' " `| Q | W | F | P | G | J | L | U | Y | = + | ~ ; :| | ||
| 48 | * |------+------+------+------+------+-------------+------+------+------+------+------| | ||
| 49 | * | ( [ {| A | R | S | T | D | H | N | E | I | O | ) ] }| | ||
| 50 | * |------+------+------+------+------+------|------+------+------+------+------+------| | ||
| 51 | * | - , <| Z | X | C | V | B | K | M | ? | | | ^ | _ . >| | ||
| 52 | * |------+------+------+------+------+------+------+------+------+------+------+------| | ||
| 53 | * |Lower |Raise | Ctrl | Alt | Bksp | Spc |Enter |LShft | ESC | < | v | > | | ||
| 54 | * `-----------------------------------------------------------------------------------' | ||
| 55 | */ | ||
| 56 | [_COLE] = KEYMAP( | ||
| 57 | TD(TD_BTK), KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_EQL, TD(TD_TDE), | ||
| 58 | TD(TD_LPRN), KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, TD(TD_RPRN), | ||
| 59 | TD(TD_MIN), KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_SLSH, KC_BSLS, KC_UP, TD(TD_USC), | ||
| 60 | LOWER, RAISE, OSM(MOD_LCTL), OSM(MOD_LALT), KC_SPC, KC_BSPC, KC_ENT, OSM(MOD_LSFT), KC_ESC, KC_LEFT, KC_DOWN, KC_RGHT), | ||
| 61 | |||
| 62 | /* Lower | ||
| 63 | * ,-----------------------------------------------------------------------------------. | ||
| 64 | * | ---- | ---- | ---- | ---- | ---- | ---- | 7 | 8 | 9 | * | / | ^ | | ||
| 65 | * |------+------+------+------+------+-------------+------+------+------+------+------| | ||
| 66 | * | ---- | ---- | ---- | ---- | ---- | ---- | 4 | 5 | 6 | + | - | ---- | | ||
| 67 | * |------+------+------+------+------+------|------+------+------+------+------+------| | ||
| 68 | * | ---- | ---- | ---- | ---- | ---- | ---- | 1 | 2 | 3 | = | ---- | ---- | | ||
| 69 | * |------+------+------+------+------+------+------+------+------+------+------+------| | ||
| 70 | * | ---- | ---- | ---- | ---- | ---- | ---- | ---- | 0 | . | ---- | ---- | ---- | | ||
| 71 | * `-----------------------------------------------------------------------------------' | ||
| 72 | */ | ||
| 73 | [_LOWER] = KEYMAP( | ||
| 74 | ____, ____, ____, ____, ____, ____, KC_7, KC_8, KC_9, KC_PAST, KC_PSLS, KC_CIRC, | ||
| 75 | ____, ____, ____, ____, ____, ____, KC_4, KC_5, KC_6, KC_PPLS, KC_PMNS, ____, | ||
| 76 | ____, ____, ____, ____, ____, ____, KC_1, KC_2, KC_3, KC_PEQL, ____, ____, | ||
| 77 | ____, ____, ____, ____, ____, ____, ____, KC_0, KC_MNXT, ____, ____, ____), | ||
| 78 | |||
| 79 | /* Raise | ||
| 80 | * ,-----------------------------------------------------------------------------------. | ||
| 81 | * | F1 | F2 | F3 | F4 | F5 | F6 | ! | @ | # | $ | % | ` ~ | | ||
| 82 | * |------+------+------+------+------+-------------+------+------+------+------+------| | ||
| 83 | * | F7 | F8 | F9 | F10 | F11 | F12 | ^ | & | * | ( | ) | - _ | | ||
| 84 | * |------+------+------+------+------+------|------+------+------+------+------+------| | ||
| 85 | * | ____ | ____ | ____ | ____ | ____ | ____ | [ { | ] } | \ | | ; : | ' " | = + | | ||
| 86 | * |------+------+------+------+------+------+------+------+------+------+------+------| | ||
| 87 | * | ____ | ____ | ____ | ____ | ____ | ____ | ____ | ____ | ____ | , < | . > | / ? | | ||
| 88 | * `-----------------------------------------------------------------------------------' | ||
| 89 | */ | ||
| 90 | [_RAISE] = KEYMAP( | ||
| 91 | KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_GRV, | ||
| 92 | KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_MINS, | ||
| 93 | KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_LBRC, KC_RBRC, KC_BSLS, KC_SCLN, KC_QUOT, KC_EQL, | ||
| 94 | ____, ____, ____, ____, ____, ____, ____, ____, ____, KC_COMM, KC_DOT, KC_SLSH), | ||
| 95 | |||
| 96 | /* Adjust (Lower + Raise) | ||
| 97 | * ,-----------------------------------------------------------------------------------. | ||
| 98 | * | Reset| ____ | ____ | ____ | ____ | ____ | ____ | LOCK | ____ | ____ | ____ | VUP | | ||
| 99 | * |------+------+------+------+------+-------------+------+------+------+------+------| | ||
| 100 | * | ____ | ____ | RUN | ____ | ____ | ____ | ____ | ____ | ____ | ____ | ____ | VDWN | | ||
| 101 | * |------+------+------+------+------+------|------+------+------+------+------+------| | ||
| 102 | * | ____ | ____ | ____ | ____ | ____ | ____ | ____ | ____ | ____ | ____ | PGUP | MUTE | | ||
| 103 | * |------+------+------+------+------+------+------+------+------+------+------+------| | ||
| 104 | * | ____ | ____ | ____ | ____ | ____ | ____ | ____ | ____ | ____ | HOME | PGDN | END | | ||
| 105 | * `-----------------------------------------------------------------------------------' | ||
| 106 | */ | ||
| 107 | [_AUX] = KEYMAP( | ||
| 108 | RESET, ____, ____, ____, ____, ____, ____, LGUI(KC_L), ____, ____, ____, KC_VOLU, | ||
| 109 | ____, ____, LGUI(KC_R), ____, ____, ____, ____, ____, ____, ____, ____, KC_VOLD, | ||
| 110 | ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, KC_PGUP, KC_MUTE, | ||
| 111 | ____, ____, ____, ____, KC_TAB, KC_DEL, ____, ____, ____, KC_HOME, KC_PGDOWN, KC_END) | ||
| 112 | |||
| 113 | }; | ||
| 114 | |||
| 115 | qk_tap_dance_action_t tap_dance_actions[] = { | ||
| 116 | [TD_BTK] = ACTION_TAP_DANCE_DOUBLE(KC_QUOT, KC_GRV), | ||
| 117 | [TD_TDE] = ACTION_TAP_DANCE_DOUBLE(KC_SCLN, KC_TILD), | ||
| 118 | [TD_LPRN] = ACTION_TAP_DANCE_DOUBLE(KC_LBRC, KC_LPRN), | ||
| 119 | [TD_RPRN] = ACTION_TAP_DANCE_DOUBLE(KC_RBRC, KC_RPRN), | ||
| 120 | [TD_MIN] = ACTION_TAP_DANCE_DOUBLE(KC_COMM, KC_MINS), | ||
| 121 | [TD_USC] = ACTION_TAP_DANCE_DOUBLE(KC_DOT, KC_UNDS)}; | ||
| 122 | |||
| 123 | void persistent_default_layer_set(uint16_t default_layer) | ||
| 124 | { | ||
| 125 | eeconfig_update_default_layer(default_layer); | ||
| 126 | default_layer_set(default_layer); | ||
| 127 | }; | ||
| 128 | |||
| 129 | void matrix_scan_user(void){}; | ||
| 130 | |||
| 131 | void matrix_init_user(void){}; | ||
| 132 | |||
| 133 | bool process_record_user(uint16_t keycode, keyrecord_t *record) | ||
| 134 | { | ||
| 135 | switch (keycode) | ||
| 136 | { | ||
| 137 | case COLE: | ||
| 138 | if (record->event.pressed) | ||
| 139 | { | ||
| 140 | persistent_default_layer_set(1UL << _COLE); | ||
| 141 | } | ||
| 142 | return false; | ||
| 143 | break; | ||
| 144 | case LOWER: | ||
| 145 | if (record->event.pressed) | ||
| 146 | { | ||
| 147 | layer_on(_LOWER); | ||
| 148 | update_tri_layer(_LOWER, _RAISE, _AUX); | ||
| 149 | } | ||
| 150 | else | ||
| 151 | { | ||
| 152 | layer_off(_LOWER); | ||
| 153 | update_tri_layer(_LOWER, _RAISE, _AUX); | ||
| 154 | } | ||
| 155 | return false; | ||
| 156 | break; | ||
| 157 | case RAISE: | ||
| 158 | if (record->event.pressed) | ||
| 159 | { | ||
| 160 | layer_on(_RAISE); | ||
| 161 | update_tri_layer(_LOWER, _RAISE, _AUX); | ||
| 162 | } | ||
| 163 | else | ||
| 164 | { | ||
| 165 | layer_off(_RAISE); | ||
| 166 | update_tri_layer(_LOWER, _RAISE, _AUX); | ||
| 167 | } | ||
| 168 | return false; | ||
| 169 | break; | ||
| 170 | case AUX: | ||
| 171 | if (record->event.pressed) | ||
| 172 | { | ||
| 173 | layer_on(_AUX); | ||
| 174 | } | ||
| 175 | else | ||
| 176 | { | ||
| 177 | layer_off(_AUX); | ||
| 178 | } | ||
| 179 | return false; | ||
| 180 | break; | ||
| 181 | } | ||
| 182 | return true; | ||
| 183 | } | ||
diff --git a/keyboards/lets_split/keymaps/heartrobotninja/rules.mk b/keyboards/lets_split/keymaps/heartrobotninja/rules.mk new file mode 100644 index 000000000..d5e58dad4 --- /dev/null +++ b/keyboards/lets_split/keymaps/heartrobotninja/rules.mk | |||
| @@ -0,0 +1,26 @@ | |||
| 1 | # Build Options | ||
| 2 | # change to "no" to disable the options, or define them in the Makefile in | ||
| 3 | # the appropriate keymap folder that will get included automatically | ||
| 4 | # | ||
| 5 | BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) | ||
| 6 | MOUSEKEY_ENABLE = no # Mouse keys(+4700) | ||
| 7 | EXTRAKEY_ENABLE = yes # Audio control and System control(+450) | ||
| 8 | CONSOLE_ENABLE = no # Console for debug(+400) | ||
| 9 | COMMAND_ENABLE = no # Commands for debug and configuration | ||
| 10 | TAP_DANCE_ENABLE = yes | ||
| 11 | NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work | ||
| 12 | BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality | ||
| 13 | MIDI_ENABLE = no # MIDI controls | ||
| 14 | AUDIO_ENABLE = no # Audio output on port C6 | ||
| 15 | UNICODE_ENABLE = no # Unicode | ||
| 16 | BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID | ||
| 17 | RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. Do not enable this with audio at the same time. | ||
| 18 | ONEHAND_ENABLE = no # Enable one-hand typing | ||
| 19 | |||
| 20 | # Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE | ||
| 21 | SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend | ||
| 22 | |||
| 23 | ifndef QUANTUM_DIR | ||
| 24 | include ../../../../Makefile | ||
| 25 | endif | ||
| 26 | |||
