diff options
| author | noroadsleft <18669334+noroadsleft@users.noreply.github.com> | 2019-02-14 07:07:32 -0800 |
|---|---|---|
| committer | MechMerlin <30334081+mechmerlin@users.noreply.github.com> | 2019-02-14 07:07:32 -0800 |
| commit | ce465c084bfdfb3dbd24414397b2542176da423d (patch) | |
| tree | fdc6cb8df9a3b5f907350cbcfd230b650e91adc9 | |
| parent | 54f18ce0f71efbcb1306cbfe620ed2ad42ee31bc (diff) | |
| download | qmk_firmware-ce465c084bfdfb3dbd24414397b2542176da423d.tar.gz qmk_firmware-ce465c084bfdfb3dbd24414397b2542176da423d.zip | |
Updates to noroadsleft keymap for KC60 (#5127)
* NUBS_Z: initial version
Create a keycode that is normally Z, but KC_NUBS when tapped while Alt is being held.
This removes the possibility of using an Alt+Z shortcut.
* NUBS_Z: modification
Modify NUBS_Z macro to only use alternate operation if Right Alt is being held, rather than responding to either Alt key.
Also add QMK version keycode to System layer, Equals key.
* Remove unneeded breaks from process_record_user
* Macro refactoring
- removed G_RST and G_C10R macros
- updated G_BRCH macro
- outputs `master` if used while Shift is held down; or my git alias for the current branch otherwise
- updated G_FTCH macro
- outputs `git pull upstream ` if used with Shift; `git fetch upstream ` otherwise
- swapped `modifiers` variable for `get_mods()` function directly for checking modifier state
- swapped keymap-level modifier mask macros for QMK-core mod mask macros (thanks vomindoraan #4337)
- renamed MODS_RALT_MASK to MOD_MASK_RALT (more consistent with the above change)
* Update readme files
| -rw-r--r-- | keyboards/kc60/keymaps/noroadsleft/keymap.c | 83 | ||||
| -rw-r--r-- | keyboards/kc60/keymaps/noroadsleft/readme.md | 2 | ||||
| -rw-r--r-- | keyboards/kc60/keymaps/noroadsleft/readme_ch1.md | 2 | ||||
| -rw-r--r-- | keyboards/kc60/keymaps/noroadsleft/readme_ch2.md | 2 | ||||
| -rw-r--r-- | keyboards/kc60/keymaps/noroadsleft/readme_ch3.md | 6 | ||||
| -rw-r--r-- | keyboards/kc60/keymaps/noroadsleft/readme_ch4.md | 4 | ||||
| -rw-r--r-- | keyboards/kc60/keymaps/noroadsleft/readme_ch5.md | 84 | ||||
| -rw-r--r-- | keyboards/kc60/keymaps/noroadsleft/readme_git.md | 62 |
8 files changed, 147 insertions, 98 deletions
diff --git a/keyboards/kc60/keymaps/noroadsleft/keymap.c b/keyboards/kc60/keymaps/noroadsleft/keymap.c index f28f2144f..ee1f69e91 100644 --- a/keyboards/kc60/keymaps/noroadsleft/keymap.c +++ b/keyboards/kc60/keymaps/noroadsleft/keymap.c | |||
| @@ -1,4 +1,5 @@ | |||
| 1 | #include QMK_KEYBOARD_H | 1 | #include QMK_KEYBOARD_H |
| 2 | #include "version.h" | ||
| 2 | #include <sendstring_dvorak.h> | 3 | #include <sendstring_dvorak.h> |
| 3 | //#include <sendstring_colemak.h> | 4 | //#include <sendstring_colemak.h> |
| 4 | #include <print.h> | 5 | #include <print.h> |
| @@ -84,19 +85,19 @@ enum custom_keycodes { | |||
| 84 | Q2_ESC, | 85 | Q2_ESC, |
| 85 | Q2_GRV, | 86 | Q2_GRV, |
| 86 | MC_UNDO, | 87 | MC_UNDO, |
| 87 | MC_PSTE | 88 | MC_PSTE, |
| 89 | NUBS_Z, | ||
| 90 | VRSN | ||
| 88 | }; | 91 | }; |
| 89 | 92 | ||
| 90 | 93 | ||
| 91 | // define modifiers | 94 | /******************* |
| 92 | #define MODS_SHIFT_MASK (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT)) | 95 | ** MODIFIER MASKS ** |
| 93 | #define MODS_CTRL_MASK (MOD_BIT(KC_LCTL)|MOD_BIT(KC_RCTRL)) | 96 | *******************/ |
| 94 | #define MODS_ALT_MASK (MOD_BIT(KC_LALT)|MOD_BIT(KC_RALT)) | 97 | #define MOD_MASK_RALT (MOD_BIT(KC_RALT)) |
| 95 | #define MODS_GUI_MASK (MOD_BIT(KC_LGUI)|MOD_BIT(KC_RGUI)) | ||
| 96 | 98 | ||
| 97 | 99 | ||
| 98 | bool process_record_user(uint16_t keycode, keyrecord_t *record) { | 100 | bool process_record_user(uint16_t keycode, keyrecord_t *record) { |
| 99 | uint8_t modifiers = get_mods(); | ||
| 100 | switch(keycode) { | 101 | switch(keycode) { |
| 101 | // these are our macros! | 102 | // these are our macros! |
| 102 | case F_CAPS: | 103 | case F_CAPS: |
| @@ -118,60 +119,49 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { | |||
| 118 | } | 119 | } |
| 119 | }; | 120 | }; |
| 120 | return false; | 121 | return false; |
| 121 | break; | ||
| 122 | case T_L3DED: | 122 | case T_L3DED: |
| 123 | if (record->event.pressed) { | 123 | if (record->event.pressed) { |
| 124 | SEND_STRING("lavak3DED "); | 124 | SEND_STRING("lavak3DED "); |
| 125 | }; | 125 | }; |
| 126 | return false; | 126 | return false; |
| 127 | break; | ||
| 128 | case G_PUSH: | 127 | case G_PUSH: |
| 129 | if (record->event.pressed) { | 128 | if (record->event.pressed) { |
| 130 | SEND_STRING("git push origin "); | 129 | SEND_STRING("git push origin "); |
| 131 | }; | 130 | }; |
| 132 | return false; | 131 | return false; |
| 133 | break; | ||
| 134 | case G_FTCH: | 132 | case G_FTCH: |
| 135 | if (record->event.pressed) { | 133 | if (record->event.pressed) { |
| 136 | SEND_STRING("git fetch upstream"); | 134 | if ( get_mods() & MOD_MASK_SHIFT ) { |
| 135 | clear_mods(); | ||
| 136 | SEND_STRING("git pull upstream "); | ||
| 137 | } else { | ||
| 138 | SEND_STRING("git fetch upstream "); | ||
| 139 | } | ||
| 137 | }; | 140 | }; |
| 138 | return false; | 141 | return false; |
| 139 | break; | ||
| 140 | case G_COMM: | 142 | case G_COMM: |
| 141 | if (record->event.pressed) { | 143 | if (record->event.pressed) { |
| 142 | SEND_STRING("git commit -m \"\"" SS_TAP(X_LEFT)); | 144 | SEND_STRING("git commit -m \"\"" SS_TAP(X_LEFT)); |
| 143 | layer_off(_MACROS); | 145 | layer_off(_MACROS); |
| 144 | }; | 146 | }; |
| 145 | return false; | 147 | return false; |
| 146 | break; | ||
| 147 | case G_RST: | ||
| 148 | if (record->event.pressed) { | ||
| 149 | SEND_STRING("git histt -n 10" SS_TAP(X_ENTER) "git reset --soft "); | ||
| 150 | layer_off(_MACROS); | ||
| 151 | }; | ||
| 152 | return false; | ||
| 153 | break; | ||
| 154 | case G_C10R: | ||
| 155 | if (record->event.pressed) { | ||
| 156 | SEND_STRING("cf/"); | ||
| 157 | layer_off(_MACROS); | ||
| 158 | }; | ||
| 159 | return false; | ||
| 160 | break; | ||
| 161 | case G_BRCH: | 148 | case G_BRCH: |
| 162 | if (record->event.pressed) { | 149 | if (record->event.pressed) { |
| 163 | SEND_STRING("$(git branch-name)"); | 150 | if ( get_mods() & MOD_MASK_SHIFT ) { |
| 151 | clear_mods(); | ||
| 152 | SEND_STRING("master"); | ||
| 153 | } else { | ||
| 154 | SEND_STRING("$(git branch-name)"); | ||
| 155 | } | ||
| 164 | layer_off(_MACROS); | 156 | layer_off(_MACROS); |
| 165 | }; | 157 | }; |
| 166 | return false; | 158 | return false; |
| 167 | break; | ||
| 168 | case SIGNA: | 159 | case SIGNA: |
| 169 | if (record->event.pressed) { | 160 | if (record->event.pressed) { |
| 170 | SEND_STRING("\\- @noroadsleft" SS_TAP(X_ENTER)); | 161 | SEND_STRING("\\- @noroadsleft" SS_TAP(X_ENTER)); |
| 171 | layer_off(_MACROS); | 162 | layer_off(_MACROS); |
| 172 | }; | 163 | }; |
| 173 | return false; | 164 | return false; |
| 174 | break; | ||
| 175 | case GO_Q2: | 165 | case GO_Q2: |
| 176 | if (record->event.pressed) { | 166 | if (record->event.pressed) { |
| 177 | //default_layer_set(_QWERTY); | 167 | //default_layer_set(_QWERTY); |
| @@ -180,7 +170,6 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { | |||
| 180 | //layer_off(_SYSTEM); | 170 | //layer_off(_SYSTEM); |
| 181 | }; | 171 | }; |
| 182 | return false; | 172 | return false; |
| 183 | break; | ||
| 184 | case Q2_ON: | 173 | case Q2_ON: |
| 185 | if (record->event.pressed) { | 174 | if (record->event.pressed) { |
| 186 | SEND_STRING(SS_TAP(X_ENTER)); | 175 | SEND_STRING(SS_TAP(X_ENTER)); |
| @@ -188,7 +177,6 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { | |||
| 188 | layer_on(_QUAKE2_DVORAK); | 177 | layer_on(_QUAKE2_DVORAK); |
| 189 | }; | 178 | }; |
| 190 | return false; | 179 | return false; |
| 191 | break; | ||
| 192 | case Q2_OFF: | 180 | case Q2_OFF: |
| 193 | if (record->event.pressed) { | 181 | if (record->event.pressed) { |
| 194 | SEND_STRING(SS_TAP(X_ENTER)); | 182 | SEND_STRING(SS_TAP(X_ENTER)); |
| @@ -196,7 +184,6 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { | |||
| 196 | layer_on(_QUAKE2); | 184 | layer_on(_QUAKE2); |
| 197 | }; | 185 | }; |
| 198 | return false; | 186 | return false; |
| 199 | break; | ||
| 200 | case Q2_ESC: | 187 | case Q2_ESC: |
| 201 | if (record->event.pressed) { | 188 | if (record->event.pressed) { |
| 202 | SEND_STRING(SS_TAP(X_ESCAPE)); | 189 | SEND_STRING(SS_TAP(X_ESCAPE)); |
| @@ -204,7 +191,6 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { | |||
| 204 | layer_on(_QUAKE2); | 191 | layer_on(_QUAKE2); |
| 205 | }; | 192 | }; |
| 206 | return false; | 193 | return false; |
| 207 | break; | ||
| 208 | case Q2_GRV: | 194 | case Q2_GRV: |
| 209 | if (record->event.pressed) { | 195 | if (record->event.pressed) { |
| 210 | SEND_STRING(SS_TAP(X_GRAVE)); | 196 | SEND_STRING(SS_TAP(X_GRAVE)); |
| @@ -213,27 +199,38 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { | |||
| 213 | layer_on(_QUAKE2_CONSOLE); | 199 | layer_on(_QUAKE2_CONSOLE); |
| 214 | }; | 200 | }; |
| 215 | return false; | 201 | return false; |
| 216 | break; | ||
| 217 | case MC_UNDO: | 202 | case MC_UNDO: |
| 218 | if (record->event.pressed) { | 203 | if (record->event.pressed) { |
| 219 | if ( modifiers & MODS_SHIFT_MASK ) { | 204 | if ( get_mods() & MOD_MASK_SHIFT ) { |
| 220 | SEND_STRING( SS_DOWN(X_LSHIFT) SS_DOWN(X_LGUI) SS_TAP(X_Z) SS_UP(X_LGUI) SS_UP(X_LSHIFT) ); | 205 | SEND_STRING( SS_DOWN(X_LSHIFT) SS_DOWN(X_LGUI) SS_TAP(X_Z) SS_UP(X_LGUI) SS_UP(X_LSHIFT) ); |
| 221 | } else { | 206 | } else { |
| 222 | SEND_STRING( SS_DOWN(X_LGUI) SS_TAP(X_Z) SS_UP(X_LGUI) ); | 207 | SEND_STRING( SS_DOWN(X_LGUI) SS_TAP(X_Z) SS_UP(X_LGUI) ); |
| 223 | } | 208 | } |
| 224 | }; | 209 | }; |
| 225 | return false; | 210 | return false; |
| 226 | break; | ||
| 227 | case MC_PSTE: | 211 | case MC_PSTE: |
| 228 | if (record->event.pressed) { | 212 | if (record->event.pressed) { |
| 229 | if ( modifiers & MODS_SHIFT_MASK ) { | 213 | if ( get_mods() & MOD_MASK_SHIFT ) { |
| 230 | SEND_STRING( SS_DOWN(X_LSHIFT) SS_DOWN(X_LGUI) SS_DOWN(X_LALT) SS_TAP(X_V) SS_UP(X_LALT) SS_UP(X_LGUI) SS_UP(X_LSHIFT) ); | 214 | SEND_STRING( SS_DOWN(X_LSHIFT) SS_DOWN(X_LGUI) SS_DOWN(X_LALT) SS_TAP(X_V) SS_UP(X_LALT) SS_UP(X_LGUI) SS_UP(X_LSHIFT) ); |
| 231 | } else { | 215 | } else { |
| 232 | SEND_STRING( SS_DOWN(X_LGUI) SS_TAP(X_V) SS_UP(X_LGUI) ); | 216 | SEND_STRING( SS_DOWN(X_LGUI) SS_TAP(X_V) SS_UP(X_LGUI) ); |
| 233 | } | 217 | } |
| 234 | }; | 218 | }; |
| 235 | return false; | 219 | return false; |
| 236 | break; | 220 | case NUBS_Z: |
| 221 | if (record->event.pressed) { | ||
| 222 | if ( get_mods() & MOD_MASK_RALT ) { | ||
| 223 | SEND_STRING( SS_TAP(X_NONUS_BSLASH) ); | ||
| 224 | } else { | ||
| 225 | SEND_STRING( SS_TAP(X_Z) ); | ||
| 226 | } | ||
| 227 | }; | ||
| 228 | return false; | ||
| 229 | case VRSN: | ||
| 230 | if (record->event.pressed) { | ||
| 231 | SEND_STRING( QMK_KEYBOARD "/" QMK_KEYMAP " @ " QMK_VERSION ); | ||
| 232 | } | ||
| 233 | return false; | ||
| 237 | } // switch() | 234 | } // switch() |
| 238 | return true; | 235 | return true; |
| 239 | }; | 236 | }; |
| @@ -252,7 +249,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
| 252 | KC_GESC, 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, \ | 249 | KC_GESC, 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, \ |
| 253 | 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, \ | 250 | 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, \ |
| 254 | FW_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, \ | 251 | FW_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, \ |
| 255 | KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, \ | 252 | KC_LSFT, NUBS_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, \ |
| 256 | KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(_FW), KC_RCTL \ | 253 | KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(_FW), KC_RCTL \ |
| 257 | ), | 254 | ), |
| 258 | 255 | ||
| @@ -375,15 +372,15 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
| 375 | // 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | 372 | // 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
| 376 | TG(_MA), _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \ | 373 | TG(_MA), _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \ |
| 377 | _______, _______, _______, G_PUSH, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \ | 374 | _______, _______, _______, G_PUSH, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \ |
| 378 | _______, _______, G_RST, G_FTCH, G_COMM, _______, _______, _______, _______, T_L3DED, _______, _______, _______, \ | 375 | _______, _______, _______, G_FTCH, G_COMM, _______, _______, _______, _______, T_L3DED, _______, _______, _______, \ |
| 379 | _______, _______, _______, G_C10R, _______, G_BRCH, SIGNA, _______, _______, _______, _______, _______, \ | 376 | _______, _______, _______, _______, _______, G_BRCH, SIGNA, _______, _______, _______, _______, _______, \ |
| 380 | _______, _______, _______, _______, _______, _______, NO_CHNG, _______ \ | 377 | _______, _______, _______, _______, _______, _______, NO_CHNG, _______ \ |
| 381 | ), | 378 | ), |
| 382 | 379 | ||
| 383 | /* System layer */ | 380 | /* System layer */ |
| 384 | [_SYSTEM] = LAYOUT_60_ansi( | 381 | [_SYSTEM] = LAYOUT_60_ansi( |
| 385 | // 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | 382 | // 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
| 386 | TG(_SY), TO(_QW), TO(_DV), TO(_CM), GO_Q2, XXXXXXX, XXXXXXX, XXXXXXX, RESET, XXXXXXX, DEBUG, XXXXXXX, XXXXXXX, XXXXXXX, \ | 383 | TG(_SY), TO(_QW), TO(_DV), TO(_CM), GO_Q2, XXXXXXX, XXXXXXX, XXXXXXX, RESET, XXXXXXX, DEBUG, XXXXXXX, VRSN, XXXXXXX, \ |
| 387 | XXXXXXX, XXXXXXX, TG(_MC), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \ | 384 | XXXXXXX, XXXXXXX, TG(_MC), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \ |
| 388 | XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \ | 385 | XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \ |
| 389 | XXXXXXX, XXXXXXX, XXXXXXX, BL_DEC, BL_TOGG, BL_INC, BL_BRTG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \ | 386 | XXXXXXX, XXXXXXX, XXXXXXX, BL_DEC, BL_TOGG, BL_INC, BL_BRTG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \ |
diff --git a/keyboards/kc60/keymaps/noroadsleft/readme.md b/keyboards/kc60/keymaps/noroadsleft/readme.md index 737fdc06b..59fbfd246 100644 --- a/keyboards/kc60/keymaps/noroadsleft/readme.md +++ b/keyboards/kc60/keymaps/noroadsleft/readme.md | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | # @noroadsleft's KC60 keymap | 1 | # @noroadsleft's KC60 keymap |
| 2 | 2 | ||
| 3 | ### Last updated: September 2, 2018, 1:03 PM UTC-0700 | 3 | ### Last updated: February 14, 2019, 3:50 AM UTC-0800 |
| 4 | 4 | ||
| 5 |  | 5 |  |
| 6 | 6 | ||
diff --git a/keyboards/kc60/keymaps/noroadsleft/readme_ch1.md b/keyboards/kc60/keymaps/noroadsleft/readme_ch1.md index bee0709f4..fff80760e 100644 --- a/keyboards/kc60/keymaps/noroadsleft/readme_ch1.md +++ b/keyboards/kc60/keymaps/noroadsleft/readme_ch1.md | |||
| @@ -7,8 +7,6 @@ | |||
| 7 | 4. [Function Layers](./readme_ch4.md) | 7 | 4. [Function Layers](./readme_ch4.md) |
| 8 | 5. [Other Layers](./readme_ch5.md) | 8 | 5. [Other Layers](./readme_ch5.md) |
| 9 | 9 | ||
| 10 | ### Last updated: September 2, 2018, 1:03 PM UTC-0700 | ||
| 11 | |||
| 12 | 10 | ||
| 13 | ---- | 11 | ---- |
| 14 | 12 | ||
diff --git a/keyboards/kc60/keymaps/noroadsleft/readme_ch2.md b/keyboards/kc60/keymaps/noroadsleft/readme_ch2.md index 75a4fc524..142fe302f 100644 --- a/keyboards/kc60/keymaps/noroadsleft/readme_ch2.md +++ b/keyboards/kc60/keymaps/noroadsleft/readme_ch2.md | |||
| @@ -7,8 +7,6 @@ | |||
| 7 | 4. [Function Layers](./readme_ch4.md) | 7 | 4. [Function Layers](./readme_ch4.md) |
| 8 | 5. [Other Layers](./readme_ch5.md) | 8 | 5. [Other Layers](./readme_ch5.md) |
| 9 | 9 | ||
| 10 | ### Last updated: September 2, 2018, 1:03 PM UTC-0700 | ||
| 11 | |||
| 12 | 10 | ||
| 13 | ---- | 11 | ---- |
| 14 | 12 | ||
diff --git a/keyboards/kc60/keymaps/noroadsleft/readme_ch3.md b/keyboards/kc60/keymaps/noroadsleft/readme_ch3.md index 80549ba5c..ebcb3cca8 100644 --- a/keyboards/kc60/keymaps/noroadsleft/readme_ch3.md +++ b/keyboards/kc60/keymaps/noroadsleft/readme_ch3.md | |||
| @@ -7,8 +7,6 @@ | |||
| 7 | 4. [Function Layers](./readme_ch4.md) | 7 | 4. [Function Layers](./readme_ch4.md) |
| 8 | 5. [Other Layers](./readme_ch5.md) | 8 | 5. [Other Layers](./readme_ch5.md) |
| 9 | 9 | ||
| 10 | ### Last updated: September 2, 2018, 1:03 PM UTC-0700 | ||
| 11 | |||
| 12 | 10 | ||
| 13 | ---- | 11 | ---- |
| 14 | 12 | ||
| @@ -18,9 +16,9 @@ | |||
| 18 | 16 | ||
| 19 | These layers were born out of the confusion I have had trying to use the in-game chat and the console in [Quake 2](https://en.wikipedia.org/wiki/Quake_II). When Quake 2 came out, alternate keyboard layouts weren't really a thing. As a result, all in-game text input is hard-locked to US QWERTY, regardless of what the operating system is using for its input method. | 17 | These layers were born out of the confusion I have had trying to use the in-game chat and the console in [Quake 2](https://en.wikipedia.org/wiki/Quake_II). When Quake 2 came out, alternate keyboard layouts weren't really a thing. As a result, all in-game text input is hard-locked to US QWERTY, regardless of what the operating system is using for its input method. |
| 20 | 18 | ||
| 21 | I'm attempting to solve this by some creative use of QMK's macro feature. The keycode in the System layer that enables these layers, [`GO_Q2`](./keymap.c#L386), is a [macro](./keymap.c#L175-183) that sets the default layer to the QWERTY layer, then turns the Quake 2 layer `_Q2` on. The result is a partially-overwritten QWERTY layer, that has some keycodes with some creative layer switching. | 19 | I'm attempting to solve this by some creative use of QMK's macro feature. The keycode in the System layer that enables these layers, [`GO_Q2`](./keymap.c#L383), is a [macro](./keymap.c#L165-172) that sets the default layer to the QWERTY layer, then turns the Quake 2 layer `_Q2` on. The result is a partially-overwritten QWERTY layer, that has some keycodes with some creative layer switching. |
| 22 | 20 | ||
| 23 | When I hit the `Enter` key (bound in-game to text chat), the [macro keycode](./keymap.c#L184-L191) I've created sends the keycode for `Enter`, then follows with enabling the Hardware Dvorak layer and its corresponding overlay. Now the game is in text chat mode, and my keyboard is in Dvorak. When I hit `Enter` again, another `Enter` [keycode macro](./keymap.c#L192-L199) is sent, which sends the message, then the macro brings me back to the standard QWERTY+Quake 2 setup. Hitting `Escape` instead runs a [macro](./keymap.c#L200-L207) that cancels the sending of the message, and undoes the layers. | 21 | When I hit the `Enter` key (bound in-game to text chat), the [macro keycode](./keymap.c#L173-L179) I've created sends the keycode for `Enter`, then follows with enabling the Hardware Dvorak layer and its corresponding overlay. Now the game is in text chat mode, and my keyboard is in Dvorak. When I hit `Enter` again, another `Enter` [keycode macro](./keymap.c#L180-L186) is sent, which sends the message, then the macro brings me back to the standard QWERTY+Quake 2 setup. Hitting `Escape` instead runs a [macro](./keymap.c#L187-L193) that cancels the sending of the message, and undoes the layers. |
| 24 | 22 | ||
| 25 | I have been testing this configuration for a few months. Sometimes I end up still in Dvorak mode without any text input systems (in-game chat or the console) running, but it pretty much always happens when I'm focused on the game, so I don't know the cause yet. | 23 | I have been testing this configuration for a few months. Sometimes I end up still in Dvorak mode without any text input systems (in-game chat or the console) running, but it pretty much always happens when I'm focused on the game, so I don't know the cause yet. |
| 26 | 24 | ||
diff --git a/keyboards/kc60/keymaps/noroadsleft/readme_ch4.md b/keyboards/kc60/keymaps/noroadsleft/readme_ch4.md index f1b50846d..00e6b781b 100644 --- a/keyboards/kc60/keymaps/noroadsleft/readme_ch4.md +++ b/keyboards/kc60/keymaps/noroadsleft/readme_ch4.md | |||
| @@ -7,8 +7,6 @@ | |||
| 7 | 4. **Function Layers** | 7 | 4. **Function Layers** |
| 8 | 5. [Other Layers](./readme_ch5.md) | 8 | 5. [Other Layers](./readme_ch5.md) |
| 9 | 9 | ||
| 10 | ### Last updated: September 2, 2018, 1:03 PM UTC-0700 | ||
| 11 | |||
| 12 | 10 | ||
| 13 | ---- | 11 | ---- |
| 14 | 12 | ||
| @@ -44,7 +42,7 @@ Based on the Windows function layer, but removes some functions that are pointle | |||
| 44 | 42 | ||
| 45 | Keycode(s) Sent | Notes | 43 | Keycode(s) Sent | Notes |
| 46 | :-------------------------------- | :---- | 44 | :-------------------------------- | :---- |
| 47 | [`Q2_GRV`](./keymap.c#L208-L216) | Sends `KC_GRV`, then enables the Dvorak, Quake 2 Dvorak, and Quake 2 Console layers. | 45 | [`Q2_GRV`](./keymap.c#L194-L201) | Sends `KC_GRV`, then enables the Dvorak, Quake 2 Dvorak, and Quake 2 Console layers. |
| 48 | 46 | ||
| 49 | 47 | ||
| 50 | 48 | ||
diff --git a/keyboards/kc60/keymaps/noroadsleft/readme_ch5.md b/keyboards/kc60/keymaps/noroadsleft/readme_ch5.md index 64102eb88..e5ee7cbde 100644 --- a/keyboards/kc60/keymaps/noroadsleft/readme_ch5.md +++ b/keyboards/kc60/keymaps/noroadsleft/readme_ch5.md | |||
| @@ -7,8 +7,6 @@ | |||
| 7 | 4. [Function Layers](./readme_ch4.md) | 7 | 4. [Function Layers](./readme_ch4.md) |
| 8 | 5. **Other Layers** | 8 | 5. **Other Layers** |
| 9 | 9 | ||
| 10 | ### Last updated: September 2, 2018, 1:03 PM UTC-0700 | ||
| 11 | |||
| 12 | 10 | ||
| 13 | ---- | 11 | ---- |
| 14 | 12 | ||
| @@ -36,37 +34,79 @@ Tapping `Esc` exits the Macro layer, if the macro used doesn't do it automatical | |||
| 36 | 34 | ||
| 37 | ### Macros | 35 | ### Macros |
| 38 | 36 | ||
| 39 | [](./keymap.c#L122-L127) | 37 | #### [T_L3DED](./keymap.c#L122-L126) |
| 40 | Inputs: `lavak3DED ` | 38 | |
| 41 | Twitch emote for [a streamer I watch a lot](https://www.twitch.tv/lavak3_). | 39 | Output: `lavak3DED ` |
| 40 | |||
| 41 | Twitch emote for [a streamer I watch a lot](https://www.twitch.tv/lavak3_). | ||
| 42 |  | ||
| 43 | |||
| 44 | #### [G_PUSH](./keymap.c#L127-L131) | ||
| 45 | |||
| 46 | Output: `git push origin ` | ||
| 42 | 47 | ||
| 43 | [G_PUSH](./keymap.c#L128-L133) | ||
| 44 | Inputs: `git push origin ` | ||
| 45 | Everything from here down is related to Git or GitHub. | 48 | Everything from here down is related to Git or GitHub. |
| 46 | 49 | ||
| 47 | [G_FTCH](./keymap.c#L134-L139) | 50 | #### [G_FTCH](./keymap.c#L132-L141) |
| 48 | Inputs: `git fetch upstream` | 51 | |
| 52 | | Condition | Output | | ||
| 53 | | :-------- | :----- | | ||
| 54 | | If <kbd>Shift</kbd> is active | `git pull upstream ` | | ||
| 55 | | Otherwise | `git fetch upstream ` | | ||
| 56 | |||
| 57 | #### [G_COMM](./keymap.c#L142-L147) | ||
| 58 | |||
| 59 | Output: `git commit -m ""` <kbd>Left</kbd> | ||
| 49 | 60 | ||
| 50 | [G_COMM](./keymap.c#L140-L146) | ||
| 51 | Inputs: `git commit -m ""` `[Left]` | ||
| 52 | Readies a `git commit` command, moves the cursor between the quotation marks, then disables the Macro layer. | 61 | Readies a `git commit` command, moves the cursor between the quotation marks, then disables the Macro layer. |
| 53 | 62 | ||
| 54 | [G_RST](./keymap.c#L147-L153) | 63 | #### [G_BRCH](./keymap.c#L148-158) |
| 55 | Inputs: `git histt -n 10`, Enter, `git reset --soft ` | 64 | |
| 56 | Runs a [git alias](./readme_git.md) that shows my last ten commits, then readies a `git reset --soft`. For when I commit something too soon. Disables the Macro layer when complete. | 65 | | Condition | Output | |
| 66 | | :-------- | :----- | | ||
| 67 | | If <kbd>Shift</kbd> is active | `master` | | ||
| 68 | | Otherwise | `$(git branch-name)` | | ||
| 57 | 69 | ||
| 58 | [G_C10R](./keymap.c#L154-L160) | 70 | `$(git branch-name)` is a [git alias](./readme_git.md) that returns the name of the current branch. This macro disables the Macro layer when finished. |
| 59 | Inputs: `cf/` | ||
| 60 | A branch prefix I use for my current work in QMK. Disables the Macro layer when finished. | ||
| 61 | 71 | ||
| 62 | [G_BRCH](./keymap.c#L161-L167) | 72 | #### [SIGNA](./keymap.c#L159-L164) |
| 63 | Inputs: `$(git branch-name)` | 73 | |
| 64 | A [git alias](./readme_git.md) that returns the name of the current branch. Disables the Macro layer when finished. | 74 | Output: `\- @noroadsleft` <kbd>Enter</kbd> |
| 65 | 75 | ||
| 66 | [SIGNA](./keymap.c#L168-L174) | ||
| 67 | Inputs: `\- @noroadsleft` `[Enter]` | ||
| 68 | Sometimes on GitHub, I sign my comments. Types my GitHub name in Markdown syntax, and then taps the `Enter` key. Disables the Macro layer when finished. | 76 | Sometimes on GitHub, I sign my comments. Types my GitHub name in Markdown syntax, and then taps the `Enter` key. Disables the Macro layer when finished. |
| 69 | 77 | ||
| 78 | #### [MC_UNDO](./keymap.c#L202-L210) | ||
| 79 | |||
| 80 | | Condition | Output | | ||
| 81 | | :-------- | :----- | | ||
| 82 | | If <kbd>Shift</kbd> is active | <kbd>Shift</kbd> + <kbd>Command</kbd> + <kbd>Z</kbd> | | ||
| 83 | | Otherwise | <kbd>Command</kbd> + <kbd>Z</kbd> | | ||
| 84 | |||
| 85 | An Undo shortcut that turns to Redo if <kbd>Shift</kbd> is being held. I'm not sure that part is required to get that behavior, but it works as desired, so I'm not messing with it. | ||
| 86 | |||
| 87 | #### [MC_PSTE](./keymap.c#L211-L219) | ||
| 88 | |||
| 89 | | Condition | Output | | ||
| 90 | | :-------- | :----- | | ||
| 91 | | If <kbd>Shift</kbd> is active | <kbd>Shift</kbd> + <kbd>Command</kbd> + <kbd>Option</kbd> + <kbd>V</kbd> | | ||
| 92 | | Otherwise | <kbd>Command</kbd> + <kbd>V</kbd> | | ||
| 93 | |||
| 94 | The program I use this in uses <kbd>Shift</kbd> + <kbd>Command</kbd> + <kbd>Option</kbd> + <kbd>V</kbd> to paste while maintaining formatting (typeface, text size, etc.). Sometimes I want this and sometimes I don't. Using <kbd>Shift</kbd> changes the behavior. | ||
| 95 | |||
| 96 | #### [NUBS_Z](./keymap.c#L220-L228) | ||
| 97 | |||
| 98 | | Condition | Output | | ||
| 99 | | :-------- | :----- | | ||
| 100 | | If Right <kbd>Alt</kbd> is active | `KC_NUBS` | | ||
| 101 | | Otherwise | `KC_Z` | | ||
| 102 | |||
| 103 | Sometimes I type in languages from countries that use ISO layout, but my keyboard is ANSI, so I have one key fewer. This macro simulates the Non-US Backslash key if I use Right Alt + Z. | ||
| 104 | |||
| 105 | #### [VRSN](./keymap.c#L229-L233) | ||
| 106 | |||
| 107 | Outputs a string that tells me the Git commit from which my flashed firmware was built. Looks something like: | ||
| 108 | |||
| 109 | kc60/noroadsleft @ 0.6.240-20-ge91549-dirty | ||
| 70 | 110 | ||
| 71 | ---- | 111 | ---- |
| 72 | 112 | ||
diff --git a/keyboards/kc60/keymaps/noroadsleft/readme_git.md b/keyboards/kc60/keymaps/noroadsleft/readme_git.md index 585d9c890..b81bb9409 100644 --- a/keyboards/kc60/keymaps/noroadsleft/readme_git.md +++ b/keyboards/kc60/keymaps/noroadsleft/readme_git.md | |||
| @@ -4,46 +4,55 @@ | |||
| 4 | 4 | ||
| 5 | ``` | 5 | ``` |
| 6 | [alias] | 6 | [alias] |
| 7 | # change branches | 7 | # Change branches |
| 8 | co = checkout | 8 | co = checkout |
| 9 | cob = checkout -b | 9 | cob = checkout -b |
| 10 | 10 | ||
| 11 | # sync master | 11 | # Cherry Pick |
| 12 | sync = "!f() { if [ $(git branch-name) != "master" ]; then git checkout master; fi; git pull upstream master; git push origin master; }; f" | 12 | cp = cherry-pick |
| 13 | |||
| 14 | # Check out a Pull Request | ||
| 15 | cop = "!f() { git fetch upstream pull/$1/head:pr/$1; git checkout pr/$1; }; f" | ||
| 16 | |||
| 17 | # Sync master branch | ||
| 18 | sync = !git checkout master && git fetch upstream 2> /dev/null && git pull -n upstream master && git push origin master | ||
| 19 | |||
| 20 | # Return the abbreviated SHA-1 of the last three commits, oldest to newest | ||
| 21 | rl = rev-list -n 3 --abbrev-commit --reverse HEAD | ||
| 22 | |||
| 23 | # Add remote repo (for sending PRs to other forks, or checking out someone else's developments) | ||
| 24 | ar = "!f() { git remote add $1 https://github.com/$2/qmk_firmware.git; }; f" | ||
| 13 | 25 | ||
| 14 | # Return the last five commits on the branch, in a more compact format | 26 | # Return the last five commits on the branch, in a more compact format |
| 15 | hist = log --pretty=format:\"%C(yellow)%h%Creset %Cgreen%ad%Creset%n %w(100,0,3)%s%d [%an]%n\" --graph --date=iso-local -n 5 | 27 | hist = log --pretty=format:\"%C(yellow)%h%Creset %Cgreen%ad%Creset %Cblue[%an%Cgreen% GK%Cblue]%C(yellow)%d%Creset%n %w(100,0,2)%s%n\" --graph --date=iso-local -n 5 |
| 16 | histm = log --pretty=format:\"%C(yellow)%h%Creset %w(100,0,3)%s%d [%an]\" --graph --date=iso-local -n 5 | 28 | histt = log --pretty=format:\"* %C(yellow)%h%Creset %<(58,trunc)%s %Cblue%>(18,trunc)%an%Cgreen% G?%Creset @ %Cgreen%ad%Creset\" --date=iso-local -n 5 |
| 17 | histt = log --pretty=format:\"%C(yellow)%h%Creset %<(88,trunc)%s [%an]\" --graph --date=iso-local -n 5 | 29 | histb = log --reverse --pretty=format:\"- %Cblue%>(20,trunc)%an %Creset%<(97,trunc)%s\" --date=iso-local -n 5 |
| 18 | histb = log --reverse --pretty=format:\"- %<(98,trunc)%s [%an]\" --date=iso-local -n 5 | 30 | |
| 31 | # Follow a file's filename history | ||
| 32 | follow = log --follow --name-only --pretty=format:\"%C(yellow)commit %H%Creset%d\nAuthor: %an <%ae>\nDate: %ad%n%n %s%n\" --date=iso-local | ||
| 19 | 33 | ||
| 20 | # compact diff | 34 | # compact diff |
| 21 | df = "diff --compact-summary" | 35 | df = "diff --compact-summary" |
| 22 | 36 | ||
| 37 | # List all the files changed in a commit | ||
| 38 | dt = "diff-tree --no-commit-id --name-only -r" | ||
| 39 | |||
| 23 | # Short-form status | 40 | # Short-form status |
| 24 | st = "!git status --short" | 41 | st = "!git status --short --untracked-files=no" |
| 25 | 42 | ||
| 26 | # Returns the name of the current branch | 43 | # Returns the name of the current branch |
| 27 | branch-name = "!git rev-parse --abbrev-ref HEAD" | 44 | branch-name = "!git rev-parse --abbrev-ref HEAD" |
| 45 | bn = "!git branch-name" # short-form of the above | ||
| 28 | 46 | ||
| 29 | # short-form of the above | 47 | # Compare commit counts between current branch and QMK master |
| 30 | bn = "!git branch-name" | 48 | cc = "!f() { git fetch upstream; echo \"[0;32m$(git branch-name)[0m vs. [0;31mupstream/master[0m\"; git rev-list --left-right --count $(git branch-name)...upstream/master; }; f" |
| 31 | 49 | ||
| 32 | po = "push origin ($(git branch-name))" | 50 | # Push to origin repo |
| 51 | po = "push origin $(git branch-name)" | ||
| 33 | 52 | ||
| 34 | # List the stashes | 53 | # List the stashes |
| 35 | sl = "stash list" | 54 | sl = "stash list" |
| 36 | 55 | ||
| 37 | # Show the contents of a numbered stash | ||
| 38 | # Syntax: | ||
| 39 | # git st-show <int> | ||
| 40 | st-show = "!f() { git stash show stash@{$1} -p; }; f" | ||
| 41 | |||
| 42 | # Apply a stash, without deleting it from the list of stashes | ||
| 43 | # Syntax: | ||
| 44 | # git st-copy <int> | ||
| 45 | st-copy = "!f() { git stash apply stash@{$1}; }; f" | ||
| 46 | |||
| 47 | # Unstage a file | 56 | # Unstage a file |
| 48 | unstage = "reset HEAD" | 57 | unstage = "reset HEAD" |
| 49 | 58 | ||
| @@ -53,4 +62,15 @@ | |||
| 53 | # Compare local master repo to its upstream branch. If anything is returned, local branch has diverged from upstream. | 62 | # Compare local master repo to its upstream branch. If anything is returned, local branch has diverged from upstream. |
| 54 | cm = "!f() { git fetch upstream master; git diff $(git branch-name) upstream/master --compact-summary; }; f" | 63 | cm = "!f() { git fetch upstream master; git diff $(git branch-name) upstream/master --compact-summary; }; f" |
| 55 | cml = "!f() { git fetch upstream master; git diff $(git branch-name) upstream/master; }; f" | 64 | cml = "!f() { git fetch upstream master; git diff $(git branch-name) upstream/master; }; f" |
| 65 | |||
| 66 | # Delete a branch from local and remote | ||
| 67 | del-branch = "!f() { git branch -d $1; git push origin :$1; git fetch -p origin; }; f" | ||
| 68 | |||
| 69 | # Rebase with signatures | ||
| 70 | rbv = rebase --exec 'git commit --amend --no-edit -n -S' -i | ||
| 71 | |||
| 72 | # Force push without overwriting established history | ||
| 73 | pushf = push --force-with-lease | ||
| 74 | |||
| 75 | |||
| 56 | ``` | 76 | ``` |
