diff options
| author | wanleg <32079073+wanleg@users.noreply.github.com> | 2018-09-25 15:39:41 -0700 |
|---|---|---|
| committer | Drashna Jaelre <drashna@live.com> | 2018-09-25 15:39:41 -0700 |
| commit | 223081bf2b201a53fb0383d6be0cacb8cde39140 (patch) | |
| tree | ebc0ffe94d3b19999392f5680958cc7fb6928113 | |
| parent | 61f95410666319ac5ef0cb3d533b820f45ae237c (diff) | |
| download | qmk_firmware-223081bf2b201a53fb0383d6be0cacb8cde39140.tar.gz qmk_firmware-223081bf2b201a53fb0383d6be0cacb8cde39140.zip | |
Keymap: 4x4 pro micro (#3976)
* 4x4 - pro micro version
* pro-micro setup on 4x4
* tap dance LCTL/RESET key
* remove test file
* more research
* revert a couple un-intended edits
* opt_defs version of adding custom rules.mk variables
* cleanup
* cleanup
* cleanup
* cleanup
* layout edits
* layout edits
* keymap edit
* numpad layout change
* got tap dance layer-switch working
* keymap changes
* temporary revert
* restore previous settings
* misc fixes
* layer order change
* fix layout matrix
* Update tapdances.c
| -rw-r--r-- | keyboards/4x4/4x4.h | 4 | ||||
| -rw-r--r-- | layouts/community/ortho_4x12/wanleg/config.h | 19 | ||||
| -rw-r--r-- | layouts/community/ortho_4x12/wanleg/keymap.c | 17 | ||||
| -rw-r--r-- | users/wanleg/rules.mk | 12 | ||||
| -rw-r--r-- | users/wanleg/tapdances.c | 77 | ||||
| -rw-r--r-- | users/wanleg/wanleg.c | 6 | ||||
| -rw-r--r-- | users/wanleg/wanleg.h | 51 |
7 files changed, 158 insertions, 28 deletions
diff --git a/keyboards/4x4/4x4.h b/keyboards/4x4/4x4.h index db67ab34e..ec75c3e28 100644 --- a/keyboards/4x4/4x4.h +++ b/keyboards/4x4/4x4.h | |||
| @@ -43,7 +43,7 @@ | |||
| 43 | { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0a, K0b, ___, ___, ___, ___}, \ | 43 | { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0a, K0b, ___, ___, ___, ___}, \ |
| 44 | { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1a, K1b, ___, ___, ___, ___}, \ | 44 | { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1a, K1b, ___, ___, ___, ___}, \ |
| 45 | { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2a, K2b, ___, ___, ___, ___}, \ | 45 | { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2a, K2b, ___, ___, ___, ___}, \ |
| 46 | { K30, K31, K32, K33, K34, K35, K35, K37, K38, K39, K3a, K3b, ___, ___, ___, ___} \ | 46 | { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3a, K3b, ___, ___, ___, ___} \ |
| 47 | } | 47 | } |
| 48 | 48 | ||
| 49 | #define LAYOUT_ortho_4x16( \ | 49 | #define LAYOUT_ortho_4x16( \ |
| @@ -56,7 +56,7 @@ | |||
| 56 | { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0a, K0b, K0c, K0d, K0e, K0f }, \ | 56 | { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0a, K0b, K0c, K0d, K0e, K0f }, \ |
| 57 | { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1a, K1b, K1c, K1d, K1e, K1f }, \ | 57 | { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1a, K1b, K1c, K1d, K1e, K1f }, \ |
| 58 | { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2a, K2b, K2c, K2d, K2e, K2f }, \ | 58 | { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2a, K2b, K2c, K2d, K2e, K2f }, \ |
| 59 | { K30, K31, K32, K33, K34, K35, K35, K37, K38, K39, K3a, K3b, K3c, K3d, K3e, K3f } \ | 59 | { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3a, K3b, K3c, K3d, K3e, K3f } \ |
| 60 | } | 60 | } |
| 61 | 61 | ||
| 62 | #endif | 62 | #endif |
diff --git a/layouts/community/ortho_4x12/wanleg/config.h b/layouts/community/ortho_4x12/wanleg/config.h index 0d2cc591e..2444b8b97 100644 --- a/layouts/community/ortho_4x12/wanleg/config.h +++ b/layouts/community/ortho_4x12/wanleg/config.h | |||
| @@ -1,7 +1,7 @@ | |||
| 1 | #ifndef CONFIG_USER_H | 1 | #ifndef CONFIG_USER_H |
| 2 | #define CONFIG_USER_H | 2 | #define CONFIG_USER_H |
| 3 | 3 | ||
| 4 | //QMK DFU settings (ProMicro boards) | 4 | //QMK DFU settings (ProMicro boards with QMK bootloader) |
| 5 | // set top left key as bootloader mode escape key on Lets Split rev2 | 5 | // set top left key as bootloader mode escape key on Lets Split rev2 |
| 6 | #if defined(KEYBOARD_lets_split_rev2) | 6 | #if defined(KEYBOARD_lets_split_rev2) |
| 7 | #define QMK_LED B0 | 7 | #define QMK_LED B0 |
| @@ -13,10 +13,25 @@ | |||
| 13 | #endif | 13 | #endif |
| 14 | 14 | ||
| 15 | // set top left key as bootloader mode escape key on 4x4 48key layout | 15 | // set top left key as bootloader mode escape key on 4x4 48key layout |
| 16 | #if defined(KEYBOARD_4x4) | 16 | #if defined(KEYBOARD_4x4) && !defined(PRO_MICRO) |
| 17 | #define QMK_LED B0 | 17 | #define QMK_LED B0 |
| 18 | #define QMK_ESC_OUTPUT C6 // usually COL | 18 | #define QMK_ESC_OUTPUT C6 // usually COL |
| 19 | #define QMK_ESC_INPUT B2 // usually ROW | 19 | #define QMK_ESC_INPUT B2 // usually ROW |
| 20 | #endif | 20 | #endif |
| 21 | 21 | ||
| 22 | // use alternate settings for 4x4 board using ProMicro instead of Micro | ||
| 23 | // usage: make 4x4:wanleg PM=yes | ||
| 24 | #if defined(KEYBOARD_4x4) && defined(PRO_MICRO) | ||
| 25 | #define QMK_ESC_OUTPUT F4 // usually COL | ||
| 26 | #define QMK_ESC_INPUT D1 // usually ROW | ||
| 27 | #define QMK_LED B0 | ||
| 28 | |||
| 29 | //need to undefine standard 4x4 array before defining alternate ProMicro array | ||
| 30 | #undef MATRIX_ROW_PINS | ||
| 31 | #undef MATRIX_COL_PINS | ||
| 32 | #define MATRIX_ROW_PINS { D1, D0, D4, C6 } | ||
| 33 | //last 4 elements of the column array are are not broken out on a ProMicro (included only to preserve array structure) | ||
| 34 | #define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3, B2, B6, B5, B4, E6, D7, F0, B7, D6, F1 } | ||
| 35 | #endif | ||
| 36 | |||
| 22 | #endif | 37 | #endif |
diff --git a/layouts/community/ortho_4x12/wanleg/keymap.c b/layouts/community/ortho_4x12/wanleg/keymap.c index f6030469c..6fe8446f6 100644 --- a/layouts/community/ortho_4x12/wanleg/keymap.c +++ b/layouts/community/ortho_4x12/wanleg/keymap.c | |||
| @@ -15,6 +15,22 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
| 15 | _______________Qwerty_Row__2_______________, | 15 | _______________Qwerty_Row__2_______________, |
| 16 | KC_LCTL, KC_LGUI, KC_LALT, GHERKIN, SUBTER, SH_T(KC_SPC), SH_T(KC_SPC), SUPRA, KC_RGUI, KC_RALT, GHERKIN, KC_RCTL | 16 | KC_LCTL, KC_LGUI, KC_LALT, GHERKIN, SUBTER, SH_T(KC_SPC), SH_T(KC_SPC), SUPRA, KC_RGUI, KC_RALT, GHERKIN, KC_RCTL |
| 17 | ), | 17 | ), |
| 18 | |||
| 19 | #elif defined(KEYBOARD_4x4) | ||
| 20 | [_GK] = LAYOUT_ortho_4x12_wrapper( | ||
| 21 | _______________GherkinLike_0_______________, | ||
| 22 | _______________GherkinLike_1_______________, | ||
| 23 | _______________GherkinLike_2_______________, | ||
| 24 | TD(RST_TAP_DANCE), KC_LGUI, KC_LALT, NUMPAD, NUMBER, ETCETERA, KC_SPC,DIRECTION, KC_RGUI, KC_RALT, KC_DEL, KC_RCTL | ||
| 25 | ), | ||
| 26 | |||
| 27 | [PAD] = LAYOUT_ortho_4x4_wrapper( | ||
| 28 | _______________NUMPAD_Row__0_______________, | ||
| 29 | _______________NUMPAD_Row__1_______________, | ||
| 30 | _______________NUMPAD_Row__2_______________, | ||
| 31 | _______________NUMPAD_Row__3_______________ | ||
| 32 | ), | ||
| 33 | |||
| 18 | #else | 34 | #else |
| 19 | [_GK] = LAYOUT_ortho_4x12_wrapper( | 35 | [_GK] = LAYOUT_ortho_4x12_wrapper( |
| 20 | _______________GherkinLike_0_______________, | 36 | _______________GherkinLike_0_______________, |
| @@ -64,4 +80,5 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
| 64 | ______________ETCETERA_Row__2______________, | 80 | ______________ETCETERA_Row__2______________, |
| 65 | ______________ETCETERA_Row__3______________ | 81 | ______________ETCETERA_Row__3______________ |
| 66 | ), | 82 | ), |
| 83 | |||
| 67 | }; | 84 | }; |
diff --git a/users/wanleg/rules.mk b/users/wanleg/rules.mk index ac8676953..563040131 100644 --- a/users/wanleg/rules.mk +++ b/users/wanleg/rules.mk | |||
| @@ -1,8 +1,4 @@ | |||
| 1 | ifeq ($(strip $(KEYBOARD)), lets_split_rev2) | 1 | SRC += wanleg.c tapdances.c |
| 2 | SRC += ../../keyboards/lets_split/lets_split.c | ||
| 3 | endif | ||
| 4 | |||
| 5 | SRC += wanleg.c tapdances.c | ||
| 6 | 2 | ||
| 7 | TAP_DANCE_ENABLE = yes | 3 | TAP_DANCE_ENABLE = yes |
| 8 | MOUSEKEY_ENABLE = yes | 4 | MOUSEKEY_ENABLE = yes |
| @@ -12,3 +8,9 @@ MOUSEKEY_ENABLE = yes | |||
| 12 | ifeq ($(strip $(dfu)), qmk) | 8 | ifeq ($(strip $(dfu)), qmk) |
| 13 | BOOTLOADER = qmk-dfu | 9 | BOOTLOADER = qmk-dfu |
| 14 | endif | 10 | endif |
| 11 | |||
| 12 | #use alternate settings for 4x4 board using ProMicro instead of Micro | ||
| 13 | #usage: make 4x4:wanleg PM=yes | ||
| 14 | ifeq ($(strip $(PM)), yes) | ||
| 15 | OPT_DEFS += -DPRO_MICRO | ||
| 16 | endif | ||
diff --git a/users/wanleg/tapdances.c b/users/wanleg/tapdances.c index 6a98b896a..0778bf5f7 100644 --- a/users/wanleg/tapdances.c +++ b/users/wanleg/tapdances.c | |||
| @@ -36,7 +36,7 @@ int cur_dance (qk_tap_dance_state_t *state) { | |||
| 36 | } | 36 | } |
| 37 | ///// QUAD FUNCTION TAP DANCE GENERAL SETUP SECTION END ///// | 37 | ///// QUAD FUNCTION TAP DANCE GENERAL SETUP SECTION END ///// |
| 38 | ///// QUAD FUNCTION TAP DANCE PERSONALIZATION SECTION START ///// | 38 | ///// QUAD FUNCTION TAP DANCE PERSONALIZATION SECTION START ///// |
| 39 | //instantialize an instance of 'tap' for the 'ENT' tap dance. | 39 | //instantiate 'tap' for the 'ENT' tap dance. |
| 40 | static tap ENTtap_state = { | 40 | static tap ENTtap_state = { |
| 41 | .is_press_action = true, | 41 | .is_press_action = true, |
| 42 | .state = 0 | 42 | .state = 0 |
| @@ -67,7 +67,7 @@ void ENT_reset (qk_tap_dance_state_t *state, void *user_data) { | |||
| 67 | ENTtap_state.state = 0; | 67 | ENTtap_state.state = 0; |
| 68 | } | 68 | } |
| 69 | 69 | ||
| 70 | //instanalize an instance of 'tap' for the 'DEL' tap dance. | 70 | //instantiate 'tap' for the 'DEL' tap dance. |
| 71 | static tap DELtap_state = { | 71 | static tap DELtap_state = { |
| 72 | .is_press_action = true, | 72 | .is_press_action = true, |
| 73 | .state = 0 | 73 | .state = 0 |
| @@ -95,7 +95,7 @@ void DEL_reset (qk_tap_dance_state_t *state, void *user_data) { | |||
| 95 | DELtap_state.state = 0; | 95 | DELtap_state.state = 0; |
| 96 | } | 96 | } |
| 97 | 97 | ||
| 98 | //instantialize an instance of 'tap' for the 'CAD' tap dance. | 98 | //instantiate 'tap' for the 'CAD' tap dance. |
| 99 | static tap CADtap_state = { | 99 | static tap CADtap_state = { |
| 100 | .is_press_action = true, | 100 | .is_press_action = true, |
| 101 | .state = 0 | 101 | .state = 0 |
| @@ -107,7 +107,9 @@ void CAD_finished (qk_tap_dance_state_t *state, void *user_data) { | |||
| 107 | case SINGLE_TAP: | 107 | case SINGLE_TAP: |
| 108 | //register_code(KC_SPC); | 108 | //register_code(KC_SPC); |
| 109 | SEND_STRING(SS_LGUI("l")); | 109 | SEND_STRING(SS_LGUI("l")); |
| 110 | #ifdef BACKLIGHT_ENABLE | ||
| 110 | backlight_set(3); | 111 | backlight_set(3); |
| 112 | #endif | ||
| 111 | break; | 113 | break; |
| 112 | case SINGLE_HOLD: | 114 | case SINGLE_HOLD: |
| 113 | //register_code(KC_NO); | 115 | //register_code(KC_NO); |
| @@ -121,7 +123,9 @@ void CAD_finished (qk_tap_dance_state_t *state, void *user_data) { | |||
| 121 | case DOUBLE_TAP: | 123 | case DOUBLE_TAP: |
| 122 | //register_code(KC_ENT); | 124 | //register_code(KC_ENT); |
| 123 | SEND_STRING(SS_LCTRL(SS_LALT(SS_TAP(X_DELETE)))); | 125 | SEND_STRING(SS_LCTRL(SS_LALT(SS_TAP(X_DELETE)))); |
| 126 | #ifdef BACKLIGHT_ENABLE | ||
| 124 | backlight_set(0); | 127 | backlight_set(0); |
| 128 | #endif | ||
| 125 | break; | 129 | break; |
| 126 | //case DOUBLE_HOLD: register_code(KC_NO); break; //register this keycode when button is tapped and then held | 130 | //case DOUBLE_HOLD: register_code(KC_NO); break; //register this keycode when button is tapped and then held |
| 127 | case DOUBLE_HOLD: | 131 | case DOUBLE_HOLD: |
| @@ -136,7 +140,9 @@ void CAD_reset (qk_tap_dance_state_t *state, void *user_data) { | |||
| 136 | case SINGLE_TAP: | 140 | case SINGLE_TAP: |
| 137 | //unregister_code(KC_SPC); | 141 | //unregister_code(KC_SPC); |
| 138 | SEND_STRING(SS_LGUI("l")); | 142 | SEND_STRING(SS_LGUI("l")); |
| 143 | #ifdef BACKLIGHT_ENABLE | ||
| 139 | backlight_set(3); | 144 | backlight_set(3); |
| 145 | #endif | ||
| 140 | break; | 146 | break; |
| 141 | case SINGLE_HOLD: | 147 | case SINGLE_HOLD: |
| 142 | register_code(KC_NO); //(un)register this keycode when button is held and then released | 148 | register_code(KC_NO); //(un)register this keycode when button is held and then released |
| @@ -145,13 +151,71 @@ void CAD_reset (qk_tap_dance_state_t *state, void *user_data) { | |||
| 145 | case DOUBLE_TAP: | 151 | case DOUBLE_TAP: |
| 146 | //register_code(KC_ENT); | 152 | //register_code(KC_ENT); |
| 147 | SEND_STRING(SS_LCTRL(SS_LALT(SS_TAP(X_DELETE)))); | 153 | SEND_STRING(SS_LCTRL(SS_LALT(SS_TAP(X_DELETE)))); |
| 154 | #ifdef BACKLIGHT_ENABLE | ||
| 148 | backlight_set(0); | 155 | backlight_set(0); |
| 156 | #endif | ||
| 149 | break; | 157 | break; |
| 150 | case DOUBLE_HOLD: register_code(KC_NO); //(un)register this keycode when button is tapped and then held, and then released | 158 | case DOUBLE_HOLD: register_code(KC_NO); //(un)register this keycode when button is tapped and then held, and then released |
| 151 | case DOUBLE_SINGLE_TAP: unregister_code(KC_NO); | 159 | case DOUBLE_SINGLE_TAP: unregister_code(KC_NO); |
| 152 | } | 160 | } |
| 153 | CADtap_state.state = 0; | 161 | CADtap_state.state = 0; |
| 154 | } | 162 | } |
| 163 | |||
| 164 | //instantiate 'tap' for the 'RST' tap dance. | ||
| 165 | static tap RSTtap_state = { | ||
| 166 | .is_press_action = true, | ||
| 167 | .state = 0 | ||
| 168 | }; | ||
| 169 | |||
| 170 | void RST_finished (qk_tap_dance_state_t *state, void *user_data) { | ||
| 171 | RSTtap_state.state = cur_dance(state); | ||
| 172 | switch (RSTtap_state.state) { | ||
| 173 | case SINGLE_TAP: register_code(KC_LCTL); break; | ||
| 174 | case SINGLE_HOLD: register_code(KC_LCTL); break; | ||
| 175 | case DOUBLE_TAP: reset_keyboard(); break; | ||
| 176 | case DOUBLE_HOLD: register_code(KC_NO); break; | ||
| 177 | case DOUBLE_SINGLE_TAP: register_code(KC_LCTL); unregister_code(KC_LCTL); register_code(KC_LCTL); | ||
| 178 | } | ||
| 179 | } | ||
| 180 | |||
| 181 | void RST_reset (qk_tap_dance_state_t *state, void *user_data) { | ||
| 182 | switch (RSTtap_state.state) { | ||
| 183 | case SINGLE_TAP: unregister_code(KC_LCTL); break; | ||
| 184 | case SINGLE_HOLD: unregister_code(KC_LCTL); break; | ||
| 185 | case DOUBLE_TAP: unregister_code(KC_NO); break; | ||
| 186 | case DOUBLE_HOLD: unregister_code(KC_NO); | ||
| 187 | case DOUBLE_SINGLE_TAP: unregister_code(KC_LCTL); | ||
| 188 | } | ||
| 189 | RSTtap_state.state = 0; | ||
| 190 | } | ||
| 191 | |||
| 192 | //instantiate 'tap' for the 'LYR' tap dance. | ||
| 193 | static tap LYRtap_state = { | ||
| 194 | .is_press_action = true, | ||
| 195 | .state = 0 | ||
| 196 | }; | ||
| 197 | |||
| 198 | void LYR_finished (qk_tap_dance_state_t *state, void *user_data) { | ||
| 199 | LYRtap_state.state = cur_dance(state); | ||
| 200 | switch (LYRtap_state.state) { | ||
| 201 | case SINGLE_TAP: register_code(KC_PSLS); break; | ||
| 202 | case SINGLE_HOLD: register_code(KC_NO); break; | ||
| 203 | case DOUBLE_TAP: set_single_persistent_default_layer(_GK); break; | ||
| 204 | case DOUBLE_HOLD: register_code(KC_NO); break; | ||
| 205 | case DOUBLE_SINGLE_TAP: register_code(KC_PSLS); unregister_code(KC_PSLS); register_code(KC_PSLS); | ||
| 206 | } | ||
| 207 | } | ||
| 208 | |||
| 209 | void LYR_reset (qk_tap_dance_state_t *state, void *user_data) { | ||
| 210 | switch (LYRtap_state.state) { | ||
| 211 | case SINGLE_TAP: unregister_code(KC_PSLS); break; | ||
| 212 | case SINGLE_HOLD: unregister_code(KC_NO); break; | ||
| 213 | case DOUBLE_TAP: set_single_persistent_default_layer(_GK); break; | ||
| 214 | case DOUBLE_HOLD: unregister_code(KC_NO); | ||
| 215 | case DOUBLE_SINGLE_TAP: unregister_code(KC_PSLS); | ||
| 216 | } | ||
| 217 | LYRtap_state.state = 0; | ||
| 218 | } | ||
| 155 | ///// QUAD FUNCTION TAP DANCE PERSONALIZATION SECTION END ///// | 219 | ///// QUAD FUNCTION TAP DANCE PERSONALIZATION SECTION END ///// |
| 156 | 220 | ||
| 157 | //Tap Dance Definitions | 221 | //Tap Dance Definitions |
| @@ -162,8 +226,11 @@ qk_tap_dance_action_t tap_dance_actions[] = { | |||
| 162 | ,[TD_Q_ESC] = ACTION_TAP_DANCE_DOUBLE(KC_Q, KC_ESC) | 226 | ,[TD_Q_ESC] = ACTION_TAP_DANCE_DOUBLE(KC_Q, KC_ESC) |
| 163 | ,[ENT_TAP_DANCE] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, ENT_finished, ENT_reset) | 227 | ,[ENT_TAP_DANCE] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, ENT_finished, ENT_reset) |
| 164 | ,[DEL_TAP_DANCE] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, DEL_finished, DEL_reset) | 228 | ,[DEL_TAP_DANCE] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, DEL_finished, DEL_reset) |
| 229 | ,[RST_TAP_DANCE] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, RST_finished, RST_reset) | ||
| 165 | ,[CAD_TD] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, CAD_finished, CAD_reset) | 230 | ,[CAD_TD] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, CAD_finished, CAD_reset) |
| 231 | ,[LYR_TAP_DANCE] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, LYR_finished, LYR_reset) | ||
| 232 | |||
| 166 | }; | 233 | }; |
| 167 | 234 | ||
| 168 | //In Layer declaration, add tap dance item in place of a key code | 235 | //In Layer declaration, add tap dance item in place of a key code |
| 169 | //TD(TD_SFT_CAPS) \ No newline at end of file | 236 | //TD(TD_SFT_CAPS) |
diff --git a/users/wanleg/wanleg.c b/users/wanleg/wanleg.c index 931546c15..f22c34ba3 100644 --- a/users/wanleg/wanleg.c +++ b/users/wanleg/wanleg.c | |||
| @@ -41,6 +41,12 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { | |||
| 41 | } | 41 | } |
| 42 | return false; | 42 | return false; |
| 43 | break; | 43 | break; |
| 44 | case NUMPAD: | ||
| 45 | if (record->event.pressed) { | ||
| 46 | set_single_persistent_default_layer(PAD); | ||
| 47 | } | ||
| 48 | return false; | ||
| 49 | break; | ||
| 44 | case SUBTER: | 50 | case SUBTER: |
| 45 | if (record->event.pressed) { | 51 | if (record->event.pressed) { |
| 46 | layer_on(SUB); | 52 | layer_on(SUB); |
diff --git a/users/wanleg/wanleg.h b/users/wanleg/wanleg.h index 8b98ec7dd..65028751a 100644 --- a/users/wanleg/wanleg.h +++ b/users/wanleg/wanleg.h | |||
| @@ -25,7 +25,8 @@ enum userspace_layers { | |||
| 25 | NUM75, | 25 | NUM75, |
| 26 | DIR75, | 26 | DIR75, |
| 27 | ETC75, | 27 | ETC75, |
| 28 | FN75 | 28 | FN75, |
| 29 | PAD, | ||
| 29 | }; | 30 | }; |
| 30 | #elif KEYBOARD_xd75 | 31 | #elif KEYBOARD_xd75 |
| 31 | enum userspace_layers { | 32 | enum userspace_layers { |
| @@ -49,29 +50,31 @@ enum userspace_layers { | |||
| 49 | gNUM, | 50 | gNUM, |
| 50 | gDIR, | 51 | gDIR, |
| 51 | gETC, | 52 | gETC, |
| 53 | PAD, | ||
| 52 | }; | 54 | }; |
| 53 | #else | 55 | #else |
| 54 | enum userspace_layers { | 56 | enum userspace_layers { |
| 55 | _GK = 0, | 57 | _GK = 0, |
| 58 | PAD, | ||
| 56 | _QW, | 59 | _QW, |
| 57 | QW75, | ||
| 58 | GK75, | ||
| 59 | gGK, | ||
| 60 | ONE, | 60 | ONE, |
| 61 | SUB, | 61 | SUB, |
| 62 | SUP, | 62 | SUP, |
| 63 | NUM, | 63 | NUM, |
| 64 | DIR, | 64 | DIR, |
| 65 | ETC, | 65 | ETC, |
| 66 | gGK, | ||
| 66 | gNUM, | 67 | gNUM, |
| 67 | gDIR, | 68 | gDIR, |
| 68 | gETC, | 69 | gETC, |
| 70 | QW75, | ||
| 71 | GK75, | ||
| 69 | SUB75, | 72 | SUB75, |
| 70 | SUP75, | 73 | SUP75, |
| 71 | NUM75, | 74 | NUM75, |
| 72 | DIR75, | 75 | DIR75, |
| 73 | ETC75, | 76 | ETC75, |
| 74 | FN75 | 77 | FN75, |
| 75 | }; | 78 | }; |
| 76 | #endif | 79 | #endif |
| 77 | 80 | ||
| @@ -95,7 +98,8 @@ enum userspace_custom_keycodes { | |||
| 95 | NUMBER75, | 98 | NUMBER75, |
| 96 | DIRECTION75, | 99 | DIRECTION75, |
| 97 | ETCETERA75, | 100 | ETCETERA75, |
| 98 | FUNCTION75 | 101 | FUNCTION75, |
| 102 | NUMPAD, | ||
| 99 | 103 | ||
| 100 | }; | 104 | }; |
| 101 | 105 | ||
| @@ -107,6 +111,8 @@ enum { | |||
| 107 | ,ENT_TAP_DANCE | 111 | ,ENT_TAP_DANCE |
| 108 | ,DEL_TAP_DANCE | 112 | ,DEL_TAP_DANCE |
| 109 | ,CAD_TD | 113 | ,CAD_TD |
| 114 | ,RST_TAP_DANCE | ||
| 115 | ,LYR_TAP_DANCE | ||
| 110 | }; | 116 | }; |
| 111 | #endif | 117 | #endif |
| 112 | 118 | ||
| @@ -123,6 +129,7 @@ enum { | |||
| 123 | #define LAYOUT_ortho_5x10_wrapper(...) LAYOUT_ortho_5x10(__VA_ARGS__) | 129 | #define LAYOUT_ortho_5x10_wrapper(...) LAYOUT_ortho_5x10(__VA_ARGS__) |
| 124 | #define LAYOUT_ortho_4x12_wrapper(...) LAYOUT_ortho_4x12(__VA_ARGS__) | 130 | #define LAYOUT_ortho_4x12_wrapper(...) LAYOUT_ortho_4x12(__VA_ARGS__) |
| 125 | #define LAYOUT_ortho_5x15_wrapper(...) LAYOUT_ortho_5x15(__VA_ARGS__) | 131 | #define LAYOUT_ortho_5x15_wrapper(...) LAYOUT_ortho_5x15(__VA_ARGS__) |
| 132 | #define LAYOUT_ortho_4x4_wrapper(...) LAYOUT_ortho_4x4(__VA_ARGS__) | ||
| 126 | 133 | ||
| 127 | // Blocks for each of the major keyboard layouts | 134 | // Blocks for each of the major keyboard layouts |
| 128 | // Organized so we can quickly adapt and modify all of them | 135 | // Organized so we can quickly adapt and modify all of them |
| @@ -141,7 +148,7 @@ enum { | |||
| 141 | * | A | S | D | F | G | H | J | K | L | SPACE | | 148 | * | A | S | D | F | G | H | J | K | L | SPACE | |
| 142 | * | | | | | | | | | |SFThold | | 149 | * | | | | | | | | | |SFThold | |
| 143 | * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| | 150 | * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| |
| 144 | * | Z | X | C | V/gNUM | B/gETC | N | M/gDIR | ,/GUI | ./ALT | BKSC | | 151 | * | Z | X | C | V/gNUM | B/gETC | N | M/gDIR | ,/GUI | ./ALT | BSPC | |
| 145 | * | SFThold| | | | | | | | |CTRLhold| | 152 | * | SFThold| | | | | | | | |CTRLhold| |
| 146 | * '-----------------------------------------------------------------------------------------' | 153 | * '-----------------------------------------------------------------------------------------' |
| 147 | */ | 154 | */ |
| @@ -168,7 +175,7 @@ enum { | |||
| 168 | * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| | 175 | * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| |
| 169 | * | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | | 176 | * | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | |
| 170 | * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| | 177 | * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| |
| 171 | * | F11 | F12 | | | | ENTER | SHIFT | GUI | ./ALT | BKSC | | 178 | * | F11 | F12 | | | | ENTER | SHIFT | GUI | ./ALT | BSPC | |
| 172 | * | | | | | | | | | |CTRLhold| | 179 | * | | | | | | | | | |CTRLhold| |
| 173 | * '-----------------------------------------------------------------------------------------' | 180 | * '-----------------------------------------------------------------------------------------' |
| 174 | */ | 181 | */ |
| @@ -191,12 +198,12 @@ enum { | |||
| 191 | 198 | ||
| 192 | /* Gherkin-Like | 199 | /* Gherkin-Like |
| 193 | * .-----------------------------------------------------------------------------------------------------------. | 200 | * .-----------------------------------------------------------------------------------------------------------. |
| 194 | * | ESC | Q//ESC | W | E | R | T | Y | U | I | O | P | BACKSP | | 201 | * | ESC | Q//ESC | W | E | R | T | Y | U | I | O | P | BSPC | |
| 195 | * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| | 202 | * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| |
| 196 | * | TAB | A | S | D | F | G | H | J | K | L | SPACE | ' | | 203 | * | TAB | A | S | D | F | G | H | J | K | L | SPACE | ' | |
| 197 | * | | | | | | | | | | |SFThold | | | 204 | * | | | | | | | | | | |SFThold | | |
| 198 | * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| | 205 | * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| |
| 199 | * |SFT/CAPS| Z | X | C | V/NUM | B/ETC | N | M/DIR | ,/GUI | ./ALT | BKSC | ENT/SFT| | 206 | * |SFT/CAPS| Z | X | C | V/NUM | B/ETC | N | M/DIR | ,/GUI | ./ALT | BSPC | ENT/SFT| |
| 200 | * | |SFThold | | | | | | | | |CTRLhold| | | 207 | * | |SFThold | | | | | | | | |CTRLhold| | |
| 201 | * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| | 208 | * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| |
| 202 | * | LCTRL | LGUI | ALT | ONEHAND| NUM | ETC | SPACE | DIR | RGUI | ALT | DEL | CTRL | | 209 | * | LCTRL | LGUI | ALT | ONEHAND| NUM | ETC | SPACE | DIR | RGUI | ALT | DEL | CTRL | |
| @@ -210,7 +217,7 @@ enum { | |||
| 210 | 217 | ||
| 211 | /* Qwerty | 218 | /* Qwerty |
| 212 | * .-------------------------------------------------------------------------------------. | 219 | * .-------------------------------------------------------------------------------------. |
| 213 | * | Esc | Q | W | E | R | T | Y | U | I | O | P | Bksp | | 220 | * | Esc | Q | W | E | R | T | Y | U | I | O | P | BSPC | |
| 214 | * |-------+------+------+------+------+-------------+------+------+------+------+-------| | 221 | * |-------+------+------+------+------+-------------+------+------+------+------+-------| |
| 215 | * | Tab | A | S | D | F | G | H | J | K | L | ; | ' | | 222 | * | Tab | A | S | D | F | G | H | J | K | L | ; | ' | |
| 216 | * |-------+------+------+------+------+------|------+------+------+------+------+-------| | 223 | * |-------+------+------+------+------+------|------+------+------+------+------+-------| |
| @@ -246,7 +253,7 @@ enum { | |||
| 246 | * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| | 253 | * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| |
| 247 | * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | | | 254 | * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | | |
| 248 | * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| | 255 | * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| |
| 249 | * | | F11 | F12 | | | | | | RGUI | ./ALT | BKSC | | | 256 | * | | F11 | F12 | | | | | | RGUI | ./ALT | BSPC | | |
| 250 | * | | | | | | | | | | |CTRLhold| | | 257 | * | | | | | | | | | | |CTRLhold| | |
| 251 | * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| | 258 | * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| |
| 252 | * | | | gherkin| | | | ENTER | SHIFT | | | | | | 259 | * | | | gherkin| | | | ENTER | SHIFT | | | | | |
| @@ -259,11 +266,11 @@ enum { | |||
| 259 | 266 | ||
| 260 | /* Gherkin Numbers | 267 | /* Gherkin Numbers |
| 261 | * .-----------------------------------------------------------------------------------------------------------. | 268 | * .-----------------------------------------------------------------------------------------------------------. |
| 262 | * | | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | BACKSP | | 269 | * | | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | BSPC | |
| 263 | * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| | 270 | * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| |
| 264 | * | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | | | 271 | * | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | | |
| 265 | * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| | 272 | * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| |
| 266 | * | | F11 | F12 | | | | ENTER | SHIFT | RGUI | ./ALT | BKSC | | | 273 | * | | F11 | F12 | | | | ENTER | SHIFT | RGUI | ./ALT | BSPC | | |
| 267 | * | | | | | | | | | | |CTRLhold| | | 274 | * | | | | | | | | | | |CTRLhold| | |
| 268 | * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| | 275 | * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| |
| 269 | * | | | | | | | ENTER | SHIFT | RGUI | | | | | 276 | * | | | | | | | ENTER | SHIFT | RGUI | | | | |
| @@ -307,4 +314,20 @@ enum { | |||
| 307 | #define ______________ETCETERA_Row__2______________ _______, _______________Gherkin_ETC_2_______________, _______ | 314 | #define ______________ETCETERA_Row__2______________ _______, _______________Gherkin_ETC_2_______________, _______ |
| 308 | #define ______________ETCETERA_Row__3______________ _______, _______, _______, _______, _______, _______, LALT(LCTL(KC_DEL)), _______, _______, _______, _______, _______ | 315 | #define ______________ETCETERA_Row__3______________ _______, _______, _______, _______, _______, _______, LALT(LCTL(KC_DEL)), _______, _______, _______, _______, _______ |
| 309 | 316 | ||
| 317 | /* Single 4x4 board only | ||
| 318 | * .-----------------------------------. | ||
| 319 | * | 7 | 8 | 9 | BSPC | | ||
| 320 | * |--------+--------+--------+--------| | ||
| 321 | * | 4 | 5 | 6 | SPACE | | ||
| 322 | * |--------+--------+--------+--------| | ||
| 323 | * | 1 | 2 | 3 | ENTER | | ||
| 324 | * |--------+--------+--------+--------| | ||
| 325 | * | 0 |/ //_GK | . | - | | ||
| 326 | * '-----------------------------------' | ||
| 327 | */ | ||
| 328 | |||
| 329 | #define _______________NUMPAD_Row__0_______________ KC_KP_7, KC_KP_8, KC_KP_9, KC_BSPC | ||
| 330 | #define _______________NUMPAD_Row__1_______________ KC_KP_4, KC_KP_5, KC_KP_6, KC_SPC | ||
| 331 | #define _______________NUMPAD_Row__2_______________ KC_KP_1, KC_KP_2, KC_KP_3, KC_PENT | ||
| 332 | #define _______________NUMPAD_Row__3_______________ KC_KP_0, TD(LYR_TAP_DANCE), KC_KP_DOT, KC_PMNS | ||
| 310 | #endif // !USERSPACE | 333 | #endif // !USERSPACE |
