diff options
| -rw-r--r-- | keyboards/minidox/keymaps/dustypomerleau/keymap.c | 104 |
1 files changed, 35 insertions, 69 deletions
diff --git a/keyboards/minidox/keymaps/dustypomerleau/keymap.c b/keyboards/minidox/keymaps/dustypomerleau/keymap.c index d0eab98b4..9cfbbfc6c 100644 --- a/keyboards/minidox/keymaps/dustypomerleau/keymap.c +++ b/keyboards/minidox/keymaps/dustypomerleau/keymap.c | |||
| @@ -5,7 +5,7 @@ | |||
| 5 | 5 | ||
| 6 | extern keymap_config_t keymap_config; | 6 | extern keymap_config_t keymap_config; |
| 7 | 7 | ||
| 8 | enum custom_layers { | 8 | enum my_layers { |
| 9 | _CMK_DHM, | 9 | _CMK_DHM, |
| 10 | _QWERTY, | 10 | _QWERTY, |
| 11 | _SYS, | 11 | _SYS, |
| @@ -15,7 +15,7 @@ enum custom_layers { | |||
| 15 | _SYM | 15 | _SYM |
| 16 | }; | 16 | }; |
| 17 | 17 | ||
| 18 | enum custom_keycodes { | 18 | enum my_keycodes { |
| 19 | CMK_DHM = SAFE_RANGE, | 19 | CMK_DHM = SAFE_RANGE, |
| 20 | QWERTY, | 20 | QWERTY, |
| 21 | SYS, | 21 | SYS, |
| @@ -25,25 +25,21 @@ enum custom_keycodes { | |||
| 25 | SYM | 25 | SYM |
| 26 | }; | 26 | }; |
| 27 | 27 | ||
| 28 | typedef struct { | 28 | enum td_keycodes { |
| 29 | bool is_press_action; | 29 | ALT_OP, |
| 30 | int state; | ||
| 31 | } tap; | ||
| 32 | |||
| 33 | enum { | ||
| 34 | SINGLE_TAP = 1, | ||
| 35 | SINGLE_HOLD = 2, | ||
| 36 | DOUBLE_SINGLE_TAP = 3 | ||
| 37 | }; | ||
| 38 | |||
| 39 | enum { | ||
| 40 | ALT_OP = 0, | ||
| 41 | CTL_CCB, | 30 | CTL_CCB, |
| 42 | GUI_CP, | 31 | GUI_CP, |
| 43 | SFT_OCB, | 32 | SFT_OCB, |
| 44 | SFT_PLS | 33 | SFT_PLS |
| 45 | }; | 34 | }; |
| 46 | 35 | ||
| 36 | typedef enum { | ||
| 37 | SINGLE_TAP, | ||
| 38 | SINGLE_HOLD, | ||
| 39 | DOUBLE_SINGLE_TAP | ||
| 40 | } td_state_t; | ||
| 41 | |||
| 42 | static td_state_t td_state; | ||
| 47 | int cur_dance (qk_tap_dance_state_t *state); | 43 | int cur_dance (qk_tap_dance_state_t *state); |
| 48 | void altop_finished (qk_tap_dance_state_t *state, void *user_data); | 44 | void altop_finished (qk_tap_dance_state_t *state, void *user_data); |
| 49 | void altop_reset (qk_tap_dance_state_t *state, void *user_data); | 45 | void altop_reset (qk_tap_dance_state_t *state, void *user_data); |
| @@ -153,7 +149,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
| 153 | * If you use QWERTY + the Vanilla numbers primarily, change NUMLK_E to NUMLK_N here. | 149 | * If you use QWERTY + the Vanilla numbers primarily, change NUMLK_E to NUMLK_N here. |
| 154 | * | 150 | * |
| 155 | * ,----------------------------------. ,----------------------------------. | 151 | * ,----------------------------------. ,----------------------------------. |
| 156 | * | RESET|DEBUG |QWERTY|CMKDHM| | | | VOL--| VOL++| | | | 152 | * | RESET|DEBUG |QWERTY|CMKDHM| | | | VOL--| VOL++|BRITE-|BRITE+| |
| 157 | * |------+------+------+------+------| |------+------+------+------+------| | 153 | * |------+------+------+------+------| |------+------+------+------+------| |
| 158 | * | SHIFT| CTRL | ALT | GUI |NAV LK| | POWER| VOL- | VOL+ | MUTE | MPLY | | 154 | * | SHIFT| CTRL | ALT | GUI |NAV LK| | POWER| VOL- | VOL+ | MUTE | MPLY | |
| 159 | * |------+------+------+------+------| |------+------+------+------+------| | 155 | * |------+------+------+------+------| |------+------+------+------+------| |
| @@ -201,7 +197,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
| 201 | * |------+------+------+------+------| |------+------+------+------+------| | 197 | * |------+------+------+------+------| |------+------+------+------+------| |
| 202 | * | SFT/7| CTL/5| ALT/3| GUI/1| 9 | | 8 | GUI/0| ALT/2| CTL/4| SFT/6| | 198 | * | SFT/7| CTL/5| ALT/3| GUI/1| 9 | | 8 | GUI/0| ALT/2| CTL/4| SFT/6| |
| 203 | * |------+------+------+------+------| |------+------+------+------+------| | 199 | * |------+------+------+------+------| |------+------+------+------+------| |
| 204 | * | | | F11 | F12 | BSPC | | DEL |NUM LK| | | | | 200 | * | F11 | F12 | - | SPACE| BSPC | | DEL |NUM LK| | | / | |
| 205 | * `----------------------------------' `----------------------------------' | 201 | * `----------------------------------' `----------------------------------' |
| 206 | * ,--------------------. ,--------------------. | 202 | * ,--------------------. ,--------------------. |
| 207 | * | | TAB | | | | | | | 203 | * | | TAB | | | | | | |
| @@ -212,7 +208,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
| 212 | [_NUM_E] = LAYOUT( \ | 208 | [_NUM_E] = LAYOUT( \ |
| 213 | KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, \ | 209 | KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, \ |
| 214 | SFT_7, CTRL_5, ALT_3, GUI_1, KC_9, KC_8, GUI_0, ALT_2, CTRL_4, SFT_6, \ | 210 | SFT_7, CTRL_5, ALT_3, GUI_1, KC_9, KC_8, GUI_0, ALT_2, CTRL_4, SFT_6, \ |
| 215 | KC_F11, KC_F12, KC_MINS, KC_SLSH, KC_BSPC, KC_DEL, NUMLK_E, _______, _______, _______, \ | 211 | KC_F11, KC_F12, KC_MINS, KC_SPC, KC_BSPC, KC_DEL, NUMLK_E, _______, _______, KC_SLSH, \ |
| 216 | _______, KC_TAB, KC_ESC, _______, _______, _______ \ | 212 | _______, KC_TAB, KC_ESC, _______, _______, _______ \ |
| 217 | ), | 213 | ), |
| 218 | 214 | ||
| @@ -223,7 +219,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
| 223 | * |------+------+------+------+------| |------+------+------+------+------| | 219 | * |------+------+------+------+------| |------+------+------+------+------| |
| 224 | * | SFT/1| CTL/2| ALT/3| GUI/4| 5 | | 6 | GUI/7| ALT/8| CTL/9| SFT/0| | 220 | * | SFT/1| CTL/2| ALT/3| GUI/4| 5 | | 6 | GUI/7| ALT/8| CTL/9| SFT/0| |
| 225 | * |------+------+------+------+------| |------+------+------+------+------| | 221 | * |------+------+------+------+------| |------+------+------+------+------| |
| 226 | * | | | F11 | F12 | BSPC | | DEL |NUM LK| | | | | 222 | * | F11 | F12 | - | SPACE| BSPC | | DEL |NUM LK| | | / | |
| 227 | * `----------------------------------' `----------------------------------' | 223 | * `----------------------------------' `----------------------------------' |
| 228 | * ,--------------------. ,--------------------. | 224 | * ,--------------------. ,--------------------. |
| 229 | * | | TAB | | | | | | | 225 | * | | TAB | | | | | | |
| @@ -232,10 +228,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
| 232 | * `------' `------' | 228 | * `------' `------' |
| 233 | */ | 229 | */ |
| 234 | [_NUM_N] = LAYOUT( \ | 230 | [_NUM_N] = LAYOUT( \ |
| 235 | KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, \ | 231 | KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, \ |
| 236 | SFT_1, CTRL_2, ALT_3, GUI_4, KC_5, KC_6, GUI_7, ALT_8, CTRL_9, SFT_0, \ | 232 | SFT_1, CTRL_2, ALT_3, GUI_4, KC_5, KC_6, GUI_7, ALT_8, CTRL_9, SFT_0, \ |
| 237 | KC_F11, KC_F12, KC_MINS, KC_SLSH, KC_BSPC, KC_DEL, NUMLK_N, _______, _______, _______, \ | 233 | KC_F11, KC_F12, KC_MINS, KC_SPC, KC_BSPC, KC_DEL, NUMLK_N, _______, _______, KC_SLSH, \ |
| 238 | _______, KC_TAB, KC_ESC, _______, _______, _______ \ | 234 | _______, KC_TAB, KC_ESC, _______, _______, _______ \ |
| 239 | ), | 235 | ), |
| 240 | 236 | ||
| 241 | 237 | ||
| @@ -286,17 +282,12 @@ int cur_dance (qk_tap_dance_state_t *state) { | |||
| 286 | else return SINGLE_HOLD; | 282 | else return SINGLE_HOLD; |
| 287 | } | 283 | } |
| 288 | if (state->count == 2) return DOUBLE_SINGLE_TAP; | 284 | if (state->count == 2) return DOUBLE_SINGLE_TAP; |
| 289 | else return 8; | 285 | else return 3; |
| 290 | } | 286 | } |
| 291 | 287 | ||
| 292 | static tap altop_tap_state = { | ||
| 293 | .is_press_action = true, | ||
| 294 | .state = 0 | ||
| 295 | }; | ||
| 296 | |||
| 297 | void altop_finished (qk_tap_dance_state_t *state, void *user_data) { | 288 | void altop_finished (qk_tap_dance_state_t *state, void *user_data) { |
| 298 | altop_tap_state.state = cur_dance(state); | 289 | td_state = cur_dance(state); |
| 299 | switch (altop_tap_state.state) { | 290 | switch (td_state) { |
| 300 | case SINGLE_TAP: | 291 | case SINGLE_TAP: |
| 301 | register_mods(MOD_BIT(KC_LSFT)); | 292 | register_mods(MOD_BIT(KC_LSFT)); |
| 302 | register_code(KC_9); | 293 | register_code(KC_9); |
| @@ -312,7 +303,7 @@ void altop_finished (qk_tap_dance_state_t *state, void *user_data) { | |||
| 312 | } | 303 | } |
| 313 | 304 | ||
| 314 | void altop_reset (qk_tap_dance_state_t *state, void *user_data) { | 305 | void altop_reset (qk_tap_dance_state_t *state, void *user_data) { |
| 315 | switch (altop_tap_state.state) { | 306 | switch (td_state) { |
| 316 | case SINGLE_TAP: | 307 | case SINGLE_TAP: |
| 317 | unregister_code(KC_9); | 308 | unregister_code(KC_9); |
| 318 | unregister_mods(MOD_BIT(KC_LSFT)); | 309 | unregister_mods(MOD_BIT(KC_LSFT)); |
| @@ -324,17 +315,11 @@ void altop_reset (qk_tap_dance_state_t *state, void *user_data) { | |||
| 324 | unregister_code(KC_9); | 315 | unregister_code(KC_9); |
| 325 | unregister_mods(MOD_BIT(KC_LSFT)); | 316 | unregister_mods(MOD_BIT(KC_LSFT)); |
| 326 | } | 317 | } |
| 327 | altop_tap_state.state = 0; | ||
| 328 | } | 318 | } |
| 329 | 319 | ||
| 330 | static tap ctlccb_tap_state = { | ||
| 331 | .is_press_action = true, | ||
| 332 | .state = 0 | ||
| 333 | }; | ||
| 334 | |||
| 335 | void ctlccb_finished (qk_tap_dance_state_t *state, void *user_data) { | 320 | void ctlccb_finished (qk_tap_dance_state_t *state, void *user_data) { |
| 336 | ctlccb_tap_state.state = cur_dance(state); | 321 | td_state = cur_dance(state); |
| 337 | switch (ctlccb_tap_state.state) { | 322 | switch (td_state) { |
| 338 | case SINGLE_TAP: | 323 | case SINGLE_TAP: |
| 339 | register_mods(MOD_BIT(KC_LSFT)); | 324 | register_mods(MOD_BIT(KC_LSFT)); |
| 340 | register_code(KC_RBRC); | 325 | register_code(KC_RBRC); |
| @@ -350,7 +335,7 @@ void ctlccb_finished (qk_tap_dance_state_t *state, void *user_data) { | |||
| 350 | } | 335 | } |
| 351 | 336 | ||
| 352 | void ctlccb_reset (qk_tap_dance_state_t *state, void *user_data) { | 337 | void ctlccb_reset (qk_tap_dance_state_t *state, void *user_data) { |
| 353 | switch (ctlccb_tap_state.state) { | 338 | switch (td_state) { |
| 354 | case SINGLE_TAP: | 339 | case SINGLE_TAP: |
| 355 | unregister_code(KC_RBRC); | 340 | unregister_code(KC_RBRC); |
| 356 | unregister_mods(MOD_BIT(KC_LSFT)); | 341 | unregister_mods(MOD_BIT(KC_LSFT)); |
| @@ -362,17 +347,11 @@ void ctlccb_reset (qk_tap_dance_state_t *state, void *user_data) { | |||
| 362 | unregister_code(KC_RBRC); | 347 | unregister_code(KC_RBRC); |
| 363 | unregister_mods(MOD_BIT(KC_LSFT)); | 348 | unregister_mods(MOD_BIT(KC_LSFT)); |
| 364 | } | 349 | } |
| 365 | ctlccb_tap_state.state = 0; | ||
| 366 | } | 350 | } |
| 367 | 351 | ||
| 368 | static tap guicp_tap_state = { | ||
| 369 | .is_press_action = true, | ||
| 370 | .state = 0 | ||
| 371 | }; | ||
| 372 | |||
| 373 | void guicp_finished (qk_tap_dance_state_t *state, void *user_data) { | 352 | void guicp_finished (qk_tap_dance_state_t *state, void *user_data) { |
| 374 | guicp_tap_state.state = cur_dance(state); | 353 | td_state = cur_dance(state); |
| 375 | switch (guicp_tap_state.state) { | 354 | switch (td_state) { |
| 376 | case SINGLE_TAP: | 355 | case SINGLE_TAP: |
| 377 | register_mods(MOD_BIT(KC_LSFT)); | 356 | register_mods(MOD_BIT(KC_LSFT)); |
| 378 | register_code(KC_0); | 357 | register_code(KC_0); |
| @@ -388,7 +367,7 @@ void guicp_finished (qk_tap_dance_state_t *state, void *user_data) { | |||
| 388 | } | 367 | } |
| 389 | 368 | ||
| 390 | void guicp_reset (qk_tap_dance_state_t *state, void *user_data) { | 369 | void guicp_reset (qk_tap_dance_state_t *state, void *user_data) { |
| 391 | switch (guicp_tap_state.state) { | 370 | switch (td_state) { |
| 392 | case SINGLE_TAP: | 371 | case SINGLE_TAP: |
| 393 | unregister_code(KC_0); | 372 | unregister_code(KC_0); |
| 394 | unregister_mods(MOD_BIT(KC_LSFT)); | 373 | unregister_mods(MOD_BIT(KC_LSFT)); |
| @@ -400,17 +379,11 @@ void guicp_reset (qk_tap_dance_state_t *state, void *user_data) { | |||
| 400 | unregister_code(KC_0); | 379 | unregister_code(KC_0); |
| 401 | unregister_mods(MOD_BIT(KC_LSFT)); | 380 | unregister_mods(MOD_BIT(KC_LSFT)); |
| 402 | } | 381 | } |
| 403 | guicp_tap_state.state = 0; | ||
| 404 | } | 382 | } |
| 405 | 383 | ||
| 406 | static tap sftocb_tap_state = { | ||
| 407 | .is_press_action = true, | ||
| 408 | .state = 0 | ||
| 409 | }; | ||
| 410 | |||
| 411 | void sftocb_finished (qk_tap_dance_state_t *state, void *user_data) { | 384 | void sftocb_finished (qk_tap_dance_state_t *state, void *user_data) { |
| 412 | sftocb_tap_state.state = cur_dance(state); | 385 | td_state = cur_dance(state); |
| 413 | switch (sftocb_tap_state.state) { | 386 | switch (td_state) { |
| 414 | case SINGLE_TAP: | 387 | case SINGLE_TAP: |
| 415 | register_mods(MOD_BIT(KC_LSFT)); | 388 | register_mods(MOD_BIT(KC_LSFT)); |
| 416 | register_code(KC_LBRC); | 389 | register_code(KC_LBRC); |
| @@ -426,7 +399,7 @@ void sftocb_finished (qk_tap_dance_state_t *state, void *user_data) { | |||
| 426 | } | 399 | } |
| 427 | 400 | ||
| 428 | void sftocb_reset (qk_tap_dance_state_t *state, void *user_data) { | 401 | void sftocb_reset (qk_tap_dance_state_t *state, void *user_data) { |
| 429 | switch (sftocb_tap_state.state) { | 402 | switch (td_state) { |
| 430 | case SINGLE_TAP: | 403 | case SINGLE_TAP: |
| 431 | unregister_code(KC_LBRC); | 404 | unregister_code(KC_LBRC); |
| 432 | unregister_mods(MOD_BIT(KC_LSFT)); | 405 | unregister_mods(MOD_BIT(KC_LSFT)); |
| @@ -438,17 +411,11 @@ void sftocb_reset (qk_tap_dance_state_t *state, void *user_data) { | |||
| 438 | unregister_code(KC_LBRC); | 411 | unregister_code(KC_LBRC); |
| 439 | unregister_mods(MOD_BIT(KC_LSFT)); | 412 | unregister_mods(MOD_BIT(KC_LSFT)); |
| 440 | } | 413 | } |
| 441 | sftocb_tap_state.state = 0; | ||
| 442 | } | 414 | } |
| 443 | 415 | ||
| 444 | static tap sftpls_tap_state = { | ||
| 445 | .is_press_action = true, | ||
| 446 | .state = 0 | ||
| 447 | }; | ||
| 448 | |||
| 449 | void sftpls_finished (qk_tap_dance_state_t *state, void *user_data) { | 416 | void sftpls_finished (qk_tap_dance_state_t *state, void *user_data) { |
| 450 | sftpls_tap_state.state = cur_dance(state); | 417 | td_state = cur_dance(state); |
| 451 | switch (sftpls_tap_state.state) { | 418 | switch (td_state) { |
| 452 | case SINGLE_TAP: | 419 | case SINGLE_TAP: |
| 453 | register_mods(MOD_BIT(KC_LSFT)); | 420 | register_mods(MOD_BIT(KC_LSFT)); |
| 454 | register_code(KC_EQL); | 421 | register_code(KC_EQL); |
| @@ -464,7 +431,7 @@ void sftpls_finished (qk_tap_dance_state_t *state, void *user_data) { | |||
| 464 | } | 431 | } |
| 465 | 432 | ||
| 466 | void sftpls_reset (qk_tap_dance_state_t *state, void *user_data) { | 433 | void sftpls_reset (qk_tap_dance_state_t *state, void *user_data) { |
| 467 | switch (sftpls_tap_state.state) { | 434 | switch (td_state) { |
| 468 | case SINGLE_TAP: | 435 | case SINGLE_TAP: |
| 469 | unregister_code(KC_EQL); | 436 | unregister_code(KC_EQL); |
| 470 | unregister_mods(MOD_BIT(KC_LSFT)); | 437 | unregister_mods(MOD_BIT(KC_LSFT)); |
| @@ -476,7 +443,6 @@ void sftpls_reset (qk_tap_dance_state_t *state, void *user_data) { | |||
| 476 | unregister_code(KC_EQL); | 443 | unregister_code(KC_EQL); |
| 477 | unregister_mods(MOD_BIT(KC_LSFT)); | 444 | unregister_mods(MOD_BIT(KC_LSFT)); |
| 478 | } | 445 | } |
| 479 | sftpls_tap_state.state = 0; | ||
| 480 | } | 446 | } |
| 481 | 447 | ||
| 482 | qk_tap_dance_action_t tap_dance_actions[] = { | 448 | qk_tap_dance_action_t tap_dance_actions[] = { |
