diff options
| author | roguepullrequest <roguepullrequest@users.noreply.github.com> | 2019-04-17 20:39:50 -0500 |
|---|---|---|
| committer | Drashna Jaelre <drashna@live.com> | 2019-04-17 18:39:50 -0700 |
| commit | 8bdbac14a36f8da5da3175006cff5eb3a3d60c1d (patch) | |
| tree | 29791647ce5c18e34564f3fc249b9c196528c968 | |
| parent | 01f4b67ef03e0fe403ae6a17defe23bed6ec6e55 (diff) | |
| download | qmk_firmware-8bdbac14a36f8da5da3175006cff5eb3a3d60c1d.tar.gz qmk_firmware-8bdbac14a36f8da5da3175006cff5eb3a3d60c1d.zip | |
[Keymap] Roguepullrequest Planck layout update (#5640)
* First publish of roguepullreqest programmer dvorak planck layout
* Removed junk line
* Update keyboards/planck/keymaps/roguepullrequest/keymap.c
Co-Authored-By: roguepullrequest <roguepullrequest@users.noreply.github.com>
* Update keyboards/planck/keymaps/roguepullrequest/keymap.c
Co-Authored-By: roguepullrequest <roguepullrequest@users.noreply.github.com>
* Update keyboards/planck/keymaps/roguepullrequest/keymap.c
Co-Authored-By: roguepullrequest <roguepullrequest@users.noreply.github.com>
* Update keyboards/planck/keymaps/roguepullrequest/keymap.c
Co-Authored-By: roguepullrequest <roguepullrequest@users.noreply.github.com>
* Removed layer songs
Removed layer songs for cleanliness. Will use them later.
* Update keyboards/planck/keymaps/roguepullrequest/readme.md
Co-Authored-By: roguepullrequest <roguepullrequest@users.noreply.github.com>
* Made basic LSHIFT framework but is not working. Listed other tapdances.
* Got LSHIFT to work
* Added working RSHIFT
* Added working TD_S
* Cleaned up LEFT and RIGHT [ { ] } on the UPPER layer.
* Cleaned up layout.
* Reenabled audio space is not needed right now.
| -rw-r--r-- | keyboards/planck/keymaps/roguepullrequest/keymap.c | 87 |
1 files changed, 77 insertions, 10 deletions
diff --git a/keyboards/planck/keymaps/roguepullrequest/keymap.c b/keyboards/planck/keymaps/roguepullrequest/keymap.c index 64d9cfb2b..51c740dc4 100644 --- a/keyboards/planck/keymaps/roguepullrequest/keymap.c +++ b/keyboards/planck/keymaps/roguepullrequest/keymap.c | |||
| @@ -24,14 +24,18 @@ enum { | |||
| 24 | // Tap dance enums | 24 | // Tap dance enums |
| 25 | enum { | 25 | enum { |
| 26 | X_AT_FUN = 0, | 26 | X_AT_FUN = 0, |
| 27 | SH_M_LPAREN, | 27 | RSHIFT, |
| 28 | SH_M_RPAREN | 28 | LSHIFT, |
| 29 | TD_S | ||
| 29 | }; | 30 | }; |
| 30 | 31 | ||
| 31 | int cur_dance (qk_tap_dance_state_t *state); | 32 | int cur_dance (qk_tap_dance_state_t *state); |
| 32 | 33 | ||
| 33 | void x_finished (qk_tap_dance_state_t *state, void *user_data); | 34 | void x_finished (qk_tap_dance_state_t *state, void *user_data); |
| 34 | void x_reset (qk_tap_dance_state_t *state, void *user_data); | 35 | void x_reset (qk_tap_dance_state_t *state, void *user_data); |
| 36 | void lshift_finished (qk_tap_dance_state_t *state, void *user_data); | ||
| 37 | void lshift_reset(qk_tap_dance_state_t *state, void *user_data); | ||
| 38 | |||
| 35 | 39 | ||
| 36 | bool is_alt_tab_active = false; | 40 | bool is_alt_tab_active = false; |
| 37 | uint16_t alt_tab_timer = 0; | 41 | uint16_t alt_tab_timer = 0; |
| @@ -102,17 +106,18 @@ void matrix_scan_user(void) { | |||
| 102 | 106 | ||
| 103 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | 107 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { |
| 104 | 108 | ||
| 105 | /* Programmer Dvorak */ | 109 | |
| 110 | /* Programmer Dvorak */ | ||
| 106 | [_PDVORAK] = LAYOUT_planck_grid( | 111 | [_PDVORAK] = LAYOUT_planck_grid( |
| 107 | KC_GESC, KC_SCOLON, KC_COMMA, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_BSPC, | 112 | KC_GESC, KC_SCOLON, KC_COMMA, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_BSPC, |
| 108 | KC_LAST, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_SLASH, | 113 | KC_LAST, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, TD(TD_S), KC_SLASH, |
| 109 | KC_LSPO, KC_QUOT, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSPC, | 114 | TD(LSHIFT), KC_QUOT, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, TD(RSHIFT), |
| 110 | TD(X_AT_FUN), KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, ALT_TAB, KC_SPACE, KC_ENTER, MT(MOD_LCTL | MOD_LSFT, KC_LGUI), KC_PGUP, KC_PGDN, LT(_LOWER, KC_PLUS) | 115 | TD(X_AT_FUN), KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, ALT_TAB, KC_SPACE, KC_ENTER, MT(MOD_LCTL | MOD_LSFT, KC_LGUI), KC_PGUP, KC_PGDN, LT(_LOWER, KC_PLUS) |
| 111 | ), | 116 | ), |
| 112 | 117 | ||
| 113 | [_UPPER] = LAYOUT_planck_grid( | 118 | [_UPPER] = LAYOUT_planck_grid( |
| 114 | KC_GRAVE, KC_AMPR, KC_PERC, KC_LBRC, KC_LCBR, KC_EQL, KC_ASTR, KC_RCBR, KC_RBRC, KC_EXLM, KC_HASH, KC_TRNS, | 119 | KC_GRAVE, KC_AMPR, KC_PERC, KC_NO, KC_NO, KC_EQL, KC_ASTR, KC_NO, KC_NO, KC_EXLM, KC_HASH, KC_TRNS, |
| 115 | KC_PLUS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_MINUS, KC_BSLASH, | 120 | KC_PLUS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_BSLASH, |
| 116 | KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, | 121 | KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, |
| 117 | KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS | 122 | KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS |
| 118 | ), | 123 | ), |
| @@ -145,6 +150,10 @@ int cur_dance (qk_tap_dance_state_t *state) { | |||
| 145 | if (state->interrupted || !state->pressed) return DOUBLE_TAP; | 150 | if (state->interrupted || !state->pressed) return DOUBLE_TAP; |
| 146 | else return DOUBLE_HOLD; | 151 | else return DOUBLE_HOLD; |
| 147 | } | 152 | } |
| 153 | else if (state->count == 3) { | ||
| 154 | if (state->interrupted || !state->pressed)return TRIPLE_TAP; | ||
| 155 | else return TRIPLE_HOLD; | ||
| 156 | } | ||
| 148 | else return 8; // magic number that i dont believe works. | 157 | else return 8; // magic number that i dont believe works. |
| 149 | } | 158 | } |
| 150 | 159 | ||
| @@ -164,6 +173,35 @@ void x_finished (qk_tap_dance_state_t *state, void *user_data) { | |||
| 164 | case DOUBLE_HOLD: reset_keyboard(); break; | 173 | case DOUBLE_HOLD: reset_keyboard(); break; |
| 165 | } | 174 | } |
| 166 | } | 175 | } |
| 176 | |||
| 177 | void lshift_finished (qk_tap_dance_state_t *state, void *user_data) { | ||
| 178 | xtap_state.state = cur_dance(state); | ||
| 179 | switch (xtap_state.state) { | ||
| 180 | case SINGLE_TAP: register_code16(KC_LSFT); register_code16(KC_9); break; | ||
| 181 | case SINGLE_HOLD: register_code16(KC_LSFT); break; | ||
| 182 | case DOUBLE_TAP: register_code16(KC_LBRC); break; | ||
| 183 | case TRIPLE_TAP: register_code16(KC_LSFT); register_code16(KC_LBRC); break; | ||
| 184 | } | ||
| 185 | } | ||
| 186 | void s_finished (qk_tap_dance_state_t *state, void *user_data) { | ||
| 187 | xtap_state.state = cur_dance(state); | ||
| 188 | switch (xtap_state.state) { | ||
| 189 | case SINGLE_TAP: register_code16(KC_S); break; | ||
| 190 | case DOUBLE_TAP: register_code16(KC_MINUS); break; | ||
| 191 | case TRIPLE_TAP: register_code16(KC_LSFT); register_code16(KC_MINUS); break; | ||
| 192 | } | ||
| 193 | } | ||
| 194 | |||
| 195 | void rshift_finished (qk_tap_dance_state_t *state, void *user_data) { | ||
| 196 | xtap_state.state = cur_dance(state); | ||
| 197 | switch (xtap_state.state) { | ||
| 198 | case SINGLE_TAP: register_code16(KC_LSFT); register_code16(KC_0); break; | ||
| 199 | case SINGLE_HOLD: register_code16(KC_RSFT); break; | ||
| 200 | case DOUBLE_TAP: register_code16(KC_RBRC); break; | ||
| 201 | case TRIPLE_TAP: register_code16(KC_LSFT); register_code16(KC_RBRC); break; | ||
| 202 | } | ||
| 203 | } | ||
| 204 | |||
| 167 | // forgetting keypresses | 205 | // forgetting keypresses |
| 168 | 206 | ||
| 169 | void x_reset (qk_tap_dance_state_t *state, void *user_data) { | 207 | void x_reset (qk_tap_dance_state_t *state, void *user_data) { |
| @@ -175,9 +213,38 @@ void x_reset (qk_tap_dance_state_t *state, void *user_data) { | |||
| 175 | } | 213 | } |
| 176 | xtap_state.state = 0; | 214 | xtap_state.state = 0; |
| 177 | } | 215 | } |
| 216 | void lshift_reset (qk_tap_dance_state_t *state, void *user_data) { | ||
| 217 | switch (xtap_state.state) { | ||
| 218 | case SINGLE_TAP: unregister_code16(KC_9); unregister_code16(KC_LSFT); break; | ||
| 219 | case SINGLE_HOLD: unregister_code16(KC_LSFT); break; | ||
| 220 | case DOUBLE_TAP: unregister_code16(KC_LBRC); break; | ||
| 221 | case TRIPLE_TAP: unregister_code16(KC_LBRC); unregister_code16(KC_LSFT); break; | ||
| 222 | } | ||
| 223 | xtap_state.state = 0; | ||
| 224 | } | ||
| 178 | 225 | ||
| 226 | void rshift_reset (qk_tap_dance_state_t *state, void *user_data) { | ||
| 227 | switch (xtap_state.state) { | ||
| 228 | case SINGLE_TAP: unregister_code16(KC_0); unregister_code16(KC_LSFT); break; | ||
| 229 | case SINGLE_HOLD: unregister_code16(KC_RSFT); break; | ||
| 230 | case DOUBLE_TAP: unregister_code16(KC_RBRC); break; | ||
| 231 | case TRIPLE_TAP: unregister_code16(KC_RBRC); unregister_code16(KC_LSFT); break; | ||
| 232 | } | ||
| 233 | xtap_state.state = 0; | ||
| 234 | } | ||
| 235 | void s_reset (qk_tap_dance_state_t *state, void *user_data) { | ||
| 236 | switch (xtap_state.state) { | ||
| 237 | case SINGLE_TAP: unregister_code16(KC_S); break; | ||
| 238 | case DOUBLE_TAP: unregister_code16(KC_MINUS); break; | ||
| 239 | case TRIPLE_TAP: unregister_code16(KC_MINUS); unregister_code16(KC_LSFT); break; | ||
| 240 | } | ||
| 241 | xtap_state.state = 0; | ||
| 242 | } | ||
| 179 | qk_tap_dance_action_t tap_dance_actions[] = { | 243 | qk_tap_dance_action_t tap_dance_actions[] = { |
| 180 | [X_AT_FUN] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, x_finished, x_reset) | 244 | [X_AT_FUN] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, x_finished, x_reset), |
| 245 | [LSHIFT] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, lshift_finished, lshift_reset), | ||
| 246 | [RSHIFT] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, rshift_finished, rshift_reset), | ||
| 247 | [TD_S] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, s_finished, s_reset), | ||
| 181 | }; | 248 | }; |
| 182 | 249 | ||
| 183 | void shutdown_user(void) { clear_keyboard(); } | 250 | void shutdown_user(void) { clear_keyboard(); } |
