diff options
| author | Boy_314 <32818287+Boy-314@users.noreply.github.com> | 2019-03-19 17:34:18 -0400 |
|---|---|---|
| committer | Drashna Jaelre <drashna@live.com> | 2019-03-19 14:34:18 -0700 |
| commit | 4b4eba997fd70cf6faf263384f8559c90f6d8529 (patch) | |
| tree | dc9bdb77dc7c6f0161aedfbe2ee66f4035e13fdf /keyboards/40percentclub/half_n_half | |
| parent | 6a4884e3bdc157a00718eb157f72489c1adf30e0 (diff) | |
| download | qmk_firmware-4b4eba997fd70cf6faf263384f8559c90f6d8529.tar.gz qmk_firmware-4b4eba997fd70cf6faf263384f8559c90f6d8529.zip | |
[Keymap] Boy_314's Halfnhalf layout update (#5441)
* added Boy_.314's layout for halfnhalf keyboard
* reset rules.mk to default
* update keymap with qwerty layout, and enable tap dancing
* fixed formatting in layout visualization
* added rules.mk to custom layout
* added mod tap for ctrl/capslock
* fixed typo in config.h, remove excess in rules.mk, revert half_n_half rules.mk
* added Boy_.314's layout for halfnhalf keyboard
* reset rules.mk to default
* update keymap with qwerty layout, and enable tap dancing
* fixed typo in config.h, remove excess in rules.mk, revert half_n_half rules.mk
* added macros to raise layer
* fixed mismatched layout/comments
* fixed layout switching
Diffstat (limited to 'keyboards/40percentclub/half_n_half')
| -rw-r--r-- | keyboards/40percentclub/half_n_half/keymaps/Boy_314/config.h | 2 | ||||
| -rw-r--r-- | keyboards/40percentclub/half_n_half/keymaps/Boy_314/keymap.c | 132 |
2 files changed, 83 insertions, 51 deletions
diff --git a/keyboards/40percentclub/half_n_half/keymaps/Boy_314/config.h b/keyboards/40percentclub/half_n_half/keymaps/Boy_314/config.h index ae39290bc..f73fd055c 100644 --- a/keyboards/40percentclub/half_n_half/keymaps/Boy_314/config.h +++ b/keyboards/40percentclub/half_n_half/keymaps/Boy_314/config.h | |||
| @@ -19,4 +19,4 @@ | |||
| 19 | // place overrides here | 19 | // place overrides here |
| 20 | #define IGNORE_MOD_TAP_INTERRUPT | 20 | #define IGNORE_MOD_TAP_INTERRUPT |
| 21 | #define PERMISSIVE_HOLD | 21 | #define PERMISSIVE_HOLD |
| 22 | #define TAPPING_TERM 200 \ No newline at end of file | 22 | #define TAPPING_TERM 200 |
diff --git a/keyboards/40percentclub/half_n_half/keymaps/Boy_314/keymap.c b/keyboards/40percentclub/half_n_half/keymaps/Boy_314/keymap.c index fa12e7ee0..2eef3dc48 100644 --- a/keyboards/40percentclub/half_n_half/keymaps/Boy_314/keymap.c +++ b/keyboards/40percentclub/half_n_half/keymaps/Boy_314/keymap.c | |||
| @@ -21,10 +21,17 @@ enum { | |||
| 21 | }; | 21 | }; |
| 22 | 22 | ||
| 23 | enum layers { | 23 | enum layers { |
| 24 | DVORAK, | 24 | _DVORAK, |
| 25 | QWERTY, | 25 | _QWERTY, |
| 26 | LOWER, | 26 | _LOWER, |
| 27 | RAISE | 27 | _RAISE, |
| 28 | }; | ||
| 29 | |||
| 30 | enum halfnhalf_keycodes { | ||
| 31 | NEWTAB = SAFE_RANGE, | ||
| 32 | ALTF4, | ||
| 33 | CLSTAB, | ||
| 34 | PRVWIN, | ||
| 28 | }; | 35 | }; |
| 29 | 36 | ||
| 30 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | 37 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { |
| @@ -36,78 +43,78 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
| 36 | * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| | 43 | * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| |
| 37 | * |LShift|; |Q |J |K |X |LAlt |- |B |M |W |V |Z |RShift| | 44 | * |LShift|; |Q |J |K |X |LAlt |- |B |M |W |V |Z |RShift| |
| 38 | * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| | 45 | * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| |
| 39 | * |TD Swap Layer| |Space | | 46 | * |TD Swap Layer| |Space | |
| 40 | * `-------------' `-------------' | 47 | * `-------------' `-------------' |
| 41 | */ | 48 | */ |
| 42 | [DVORAK] = LAYOUT(/* Base Dvorak */ | 49 | [_DVORAK] = LAYOUT(/* Base Dvorak */ |
| 43 | KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_BRIU, KC_EQL, KC_F, KC_G, KC_C, KC_R, KC_L, KC_BSPC, | 50 | KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_BRIU, KC_EQL, KC_F, KC_G, KC_C, KC_R, KC_L, KC_BSPC, |
| 44 | LCTL_T(KC_CAPS), KC_A, KC_O, KC_E, KC_U, KC_I, KC_BRID, LCTL(KC_F), KC_D, KC_H, KC_T, KC_N, KC_S, KC_ENT, | 51 | LCTL_T(KC_CAPS), KC_A, KC_O, KC_E, KC_U, KC_I, KC_BRID, LCTL(KC_F), KC_D, KC_H, KC_T, KC_N, KC_S, KC_ENT, |
| 45 | KC_LSPO, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_LALT, KC_MINS, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSPC, | 52 | KC_LSPO, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_LALT, KC_MINS, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSPC, |
| 46 | TD(TD_SWAP_LAYERS), KC_SPC | 53 | TD(TD_SWAP_LAYERS), KC_SPC |
| 47 | ), | 54 | ), |
| 48 | 55 | ||
| 49 | /* QWERTY | 56 | /* QWERTY |
| 50 | * ,-------------------------------------------------------------------------------------------------. | 57 | * ,-------------------------------------------------------------------------------------------------. |
| 51 | * |Tab |Q |W |E |R |T |Brght+|' |Y |U |I |O |P |Bksp | | 58 | * |Tab |Q |W |E |R |T |Brght+|' |Y |U |I |O |P |Bksp | |
| 52 | * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| | 59 | * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| |
| 53 | * |LCtrl |A |S |D |F |G |Brght-|Ctrl+F|H |J |K |L |; |Enter | | 60 | * |CtlCps|A |S |D |F |G |Brght-|Ctrl+F|H |J |K |L |; |Enter | |
| 54 | * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| | 61 | * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| |
| 55 | * |LShift|Z |X |C |V |B |LAlt |- |N |M |, |. |/ |RShift| | 62 | * |LShift|Z |X |C |V |B |LAlt |- |N |M |, |. |/ |RShift| |
| 56 | * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| | 63 | * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| |
| 57 | * |TD Swap Layer| |Space | | 64 | * |TD Swap Layer| |Space | |
| 58 | * `-------------' `-------------' | 65 | * `-------------' `-------------' |
| 59 | */ | 66 | */ |
| 60 | [QWERTY] = LAYOUT(/* Base Qwerty */ | 67 | [_QWERTY] = LAYOUT(/* Base Qwerty */ |
| 61 | KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_BRIU, KC_QUOT, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, | 68 | KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_BRIU, KC_QUOT, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, |
| 62 | KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_BRID, LCTL(KC_F), KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT, | 69 | LCTL_T(KC_CAPS), KC_A, KC_S, KC_D, KC_F, KC_G, KC_BRID, LCTL(KC_F), KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT, |
| 63 | KC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LALT, KC_MINS, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSPC, | 70 | KC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LALT, KC_MINS, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSPC, |
| 64 | TD(TD_SWAP_LAYERS), KC_SPC | 71 | TD(TD_SWAP_LAYERS), KC_SPC |
| 65 | ), | 72 | ), |
| 66 | 73 | ||
| 67 | /* LOWER | 74 | /* LOWER |
| 68 | * ,-------------------------------------------------------------------------------------------------. | 75 | * ,-------------------------------------------------------------------------------------------------. |
| 69 | * |Esc |1 |2 |3 |4 |5 | |= |6 |7 |8 |9 |0 |/ | | 76 | * |Esc |1 |2 |3 |4 |5 | | |6 |7 |8 |9 |0 |/ | |
| 70 | * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| | 77 | * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| |
| 71 | * |Caps |F1 |F2 |F3 |F4 |F5 |F6 |Vol Up|Play |_ |+ |{ |} || | | 78 | * |Caps |F1 |F2 |F3 |F4 |F5 |F6 |Vol Up|Play |_ |+ |{ |} || | |
| 72 | * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| | 79 | * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| |
| 73 | * | |F7 |F8 |F9 |F10 |F11 |F12 |Vol Dn|Next |Home |PgDn |PgUp |End | | | 80 | * | |F7 |F8 |F9 |F10 |F11 |F12 |Vol Dn|Next |Home |PgDn |PgUp |End | | |
| 74 | * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| | 81 | * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| |
| 75 | * | | | | | 82 | * | | | | |
| 76 | * `-------------' `-------------' | 83 | * `-------------' `-------------' |
| 77 | */ | 84 | */ |
| 78 | [LOWER] = LAYOUT(/* Numbers, Function Row, Media Control, Shifted Symbols, Dvorak Slash Key */ | 85 | [_LOWER] = LAYOUT(/* Numbers, Function Row, Media Control, Shifted Symbols, Dvorak Slash Key */ |
| 79 | KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_TRNS, KC_TRNS, KC_6, KC_7, KC_8, KC_9, KC_0, KC_SLSH, | 86 | KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_TRNS, KC_TRNS, KC_6, KC_7, KC_8, KC_9, KC_0, KC_SLSH, |
| 80 | KC_CAPS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_VOLU, KC_MPLY, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, | 87 | KC_CAPS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_VOLU, KC_MPLY, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, |
| 81 | KC_TRNS, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_VOLD, KC_MNXT, KC_HOME, KC_PGDN, KC_PGUP, KC_END, KC_TRNS, | 88 | KC_TRNS, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_VOLD, KC_MNXT, KC_HOME, KC_PGDN, KC_PGUP, KC_END, KC_TRNS, |
| 82 | KC_TRNS, KC_TRNS | 89 | KC_TRNS, KC_TRNS |
| 83 | ), | 90 | ), |
| 84 | 91 | ||
| 85 | /* RAISE | 92 | /* RAISE |
| 86 | * ,-------------------------------------------------------------------------------------------------. | 93 | * ,-------------------------------------------------------------------------------------------------. |
| 87 | * |Reset | | |Up | | | | | | | | | |Del | | 94 | * |Reset | | |Up | | | |PRVWIN|CLSTAB| | | | |Del | |
| 88 | * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| | 95 | * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| |
| 89 | * |` | |Left |Down |Right | | | | |- |= |[ |] |\ | | 96 | * |` | |Left |Down |Right | | |NEWTAB|ALTF4 |- |= |[ |] |\ | |
| 90 | * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| | 97 | * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| |
| 91 | * | |! |@ |# |$ |% | | |^ |& |* |( |) | | | 98 | * | |! |@ |# |$ |% | | |^ |& |* |( |) | | |
| 92 | * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| | 99 | * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| |
| 93 | * | | | | | 100 | * | | | | |
| 94 | * `-------------' `-------------' | 101 | * `-------------' `-------------' |
| 95 | */ | 102 | */ |
| 96 | [RAISE] = LAYOUT(/* Arrows, Shifted Numbers, Symbols, Delete, Reset Key */ | 103 | [_RAISE] = LAYOUT(/* Arrows, Shifted Numbers, Symbols, Delete, Macros */ |
| 97 | RESET, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL, | 104 | RESET, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, PRVWIN, CLSTAB, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL, |
| 98 | KC_GRV, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, | 105 | KC_GRV, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, NEWTAB, ALTF4, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, |
| 99 | KC_TRNS, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_TRNS, KC_TRNS, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_TRNS, | 106 | KC_TRNS, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_TRNS, KC_TRNS, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_TRNS, |
| 100 | KC_TRNS, KC_TRNS | 107 | KC_TRNS, KC_TRNS |
| 101 | ) | 108 | ) |
| 102 | }; | 109 | }; |
| 103 | 110 | ||
| 104 | void tap_dance_choose_layer (qk_tap_dance_state_t *state, void *user_data) { | 111 | void tap_dance_choose_layer (qk_tap_dance_state_t *state, void *user_data) { |
| 105 | switch (state->count) { | 112 | switch (state->count) { |
| 106 | case 1: | 113 | case 1: |
| 107 | layer_on(LOWER); | 114 | layer_on(_LOWER); |
| 108 | break; | 115 | break; |
| 109 | case 2: | 116 | case 2: |
| 110 | layer_on(RAISE); | 117 | layer_on(_RAISE); |
| 111 | break; | 118 | break; |
| 112 | } | 119 | } |
| 113 | } | 120 | } |
| @@ -115,27 +122,52 @@ void tap_dance_choose_layer (qk_tap_dance_state_t *state, void *user_data) { | |||
| 115 | void tap_dance_choose_layer_reset (qk_tap_dance_state_t *state, void *user_data) { | 122 | void tap_dance_choose_layer_reset (qk_tap_dance_state_t *state, void *user_data) { |
| 116 | switch (state->count) { | 123 | switch (state->count) { |
| 117 | case 1: | 124 | case 1: |
| 118 | layer_off(LOWER); | 125 | layer_off(_LOWER); |
| 119 | break; | 126 | break; |
| 120 | case 2: | 127 | case 2: |
| 121 | layer_off(RAISE); | 128 | layer_off(_RAISE); |
| 122 | break; | 129 | break; |
| 123 | case 3: | 130 | case 3: |
| 124 | if (default_layer_state == DVORAK) { | 131 | if (biton32(default_layer_state) == _DVORAK) { |
| 125 | default_layer_set(QWERTY); | 132 | set_single_persistent_default_layer(_QWERTY); |
| 126 | layer_on(QWERTY); | ||
| 127 | layer_off(DVORAK); | ||
| 128 | } | 133 | } |
| 129 | else if (default_layer_state == QWERTY) { | 134 | else if (biton32(default_layer_state) == _QWERTY) { |
| 130 | default_layer_set(DVORAK); | 135 | set_single_persistent_default_layer(_DVORAK); |
| 131 | layer_on(DVORAK); | ||
| 132 | layer_off(QWERTY); | ||
| 133 | } | 136 | } |
| 134 | break; | 137 | break; |
| 135 | } | 138 | } |
| 136 | } | 139 | } |
| 137 | 140 | ||
| 138 | qk_tap_dance_action_t tap_dance_actions[] = { | 141 | qk_tap_dance_action_t tap_dance_actions[] = { |
| 139 | // ACTION_TAP_DANCE_FN_ADVANCED(on_each_tap_fn, on_dance_finished_fn, on_dance_reset_fn) | ||
| 140 | [TD_SWAP_LAYERS] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, tap_dance_choose_layer, tap_dance_choose_layer_reset) | 142 | [TD_SWAP_LAYERS] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, tap_dance_choose_layer, tap_dance_choose_layer_reset) |
| 141 | }; \ No newline at end of file | 143 | }; |
| 144 | |||
| 145 | bool process_record_user(uint16_t keycode, keyrecord_t *record) { | ||
| 146 | switch (keycode) { | ||
| 147 | // Control + T | ||
| 148 | case NEWTAB: | ||
| 149 | if (record->event.pressed) { | ||
| 150 | SEND_STRING(SS_LCTRL("t")); | ||
| 151 | } | ||
| 152 | break; | ||
| 153 | // Alt + F4 | ||
| 154 | case ALTF4: | ||
| 155 | if (record->event.pressed) { | ||
| 156 | SEND_STRING(SS_DOWN(X_LALT)SS_TAP(X_F4)SS_UP(X_LALT)); | ||
| 157 | } | ||
| 158 | break; | ||
| 159 | // Control + W | ||
| 160 | case CLSTAB: | ||
| 161 | if (record->event.pressed) { | ||
| 162 | SEND_STRING(SS_LCTRL("w")); | ||
| 163 | } | ||
| 164 | break; | ||
| 165 | // Control + Shift + N | ||
| 166 | case PRVWIN: | ||
| 167 | if (record->event.pressed) { | ||
| 168 | SEND_STRING(SS_LCTRL(SS_LSFT("n"))); | ||
| 169 | } | ||
| 170 | break; | ||
| 171 | } | ||
| 172 | return true; | ||
| 173 | } | ||
