diff options
| author | jotix <69703151+jotix@users.noreply.github.com> | 2020-08-18 22:48:40 -0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-08-18 18:48:40 -0700 |
| commit | df1467c86d2abd08a1d34ac847452e06e51a5478 (patch) | |
| tree | b8c8c7b093799dbf910db4994f4fe0d11372e223 /layouts/community | |
| parent | 7c81ae287ce506980f5a858c226ea70c925443e4 (diff) | |
| download | qmk_firmware-df1467c86d2abd08a1d34ac847452e06e51a5478.tar.gz qmk_firmware-df1467c86d2abd08a1d34ac847452e06e51a5478.zip | |
[Keymap] jotix_ortho_4x12_layout (#10075)
Diffstat (limited to 'layouts/community')
| -rw-r--r-- | layouts/community/ortho_4x12/jotix/keymap.c | 71 | ||||
| -rw-r--r-- | layouts/community/ortho_4x12/jotix/rules.mk | 2 |
2 files changed, 44 insertions, 29 deletions
diff --git a/layouts/community/ortho_4x12/jotix/keymap.c b/layouts/community/ortho_4x12/jotix/keymap.c index 5c08f3a2e..699f94f67 100644 --- a/layouts/community/ortho_4x12/jotix/keymap.c +++ b/layouts/community/ortho_4x12/jotix/keymap.c | |||
| @@ -2,14 +2,18 @@ | |||
| 2 | 2 | ||
| 3 | enum layers { | 3 | enum layers { |
| 4 | _QWERTY, | 4 | _QWERTY, |
| 5 | _LOWER, | ||
| 6 | _RAISE, | 5 | _RAISE, |
| 7 | _ADJUST | 6 | _LOWER, |
| 8 | }; | 7 | }; |
| 9 | 8 | ||
| 10 | #define LOWER MO(_LOWER) | 9 | #define LOWER MO(_LOWER) |
| 11 | #define RAISE MO(_RAISE) | 10 | #define RAISE MO(_RAISE) |
| 12 | #define TTLOWER TT(_LOWER) | 11 | #define TGRAISE TG(_RAISE) |
| 12 | #define RALT_QU RALT_T(KC_QUOT) | ||
| 13 | |||
| 14 | static bool is_ctl_pressed; | ||
| 15 | static bool is_tab_pressed; | ||
| 16 | static bool is_bspc_pressed; | ||
| 13 | 17 | ||
| 14 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | 18 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { |
| 15 | 19 | ||
| @@ -17,47 +21,35 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
| 17 | // ┌───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┐ | 21 | // ┌───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┐ |
| 18 | KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, | 22 | KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, |
| 19 | // ├───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┤ | 23 | // ├───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┤ |
| 20 | KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN,KC_QUOT, | 24 | KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN,RALT_QU, |
| 21 | // ├───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┤ | 25 | // ├───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┤ |
| 22 | KC_LSFT,KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH,KC_ENT, | 26 | KC_LSFT,KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH,KC_ENT, |
| 23 | // ├───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┤ | 27 | // ├───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┤ |
| 24 | KC_LCTL,KC_LGUI,KC_LALT,KC_RALT,TTLOWER,KC_SPC, KC_SPC, RAISE, KC_LEFT,KC_DOWN,KC_UP, KC_RGHT | 28 | KC_LCTL,KC_LGUI,KC_LALT,KC_DEL, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT,KC_DOWN,KC_UP, KC_RGHT |
| 25 | // └───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┘ | 29 | // └───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┘ |
| 26 | ), | 30 | ), |
| 27 | 31 | ||
| 28 | [_LOWER] = LAYOUT_ortho_4x12 ( | ||
| 29 | // ┌───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┐ | ||
| 30 | KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, | ||
| 31 | // ├───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┤ | ||
| 32 | _______,KC_MINS,KC_EQL, KC_LBRC,KC_RBRC,KC_BSLS,KC_VOLU,KC_PSCR,KC_SLCK,KC_PAUS,_______,_______, | ||
| 33 | // ├───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┤ | ||
| 34 | _______,KC_UNDS,KC_PLUS,KC_LCBR,KC_RCBR,KC_PIPE,KC_VOLD,KC_MUTE,_______,_______,_______,_______, | ||
| 35 | // ├───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┤ | ||
| 36 | _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______ | ||
| 37 | // └───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┘ | ||
| 38 | ), | ||
| 39 | |||
| 40 | [_RAISE] = LAYOUT_ortho_4x12 ( | 32 | [_RAISE] = LAYOUT_ortho_4x12 ( |
| 41 | // ┌───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┐ | 33 | // ┌───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┐ |
| 42 | KC_TILD,KC_EXLM,KC_AT, KC_HASH,KC_DLR, KC_PERC,KC_CIRC,KC_AMPR,KC_ASTR,KC_LPRN,KC_RPRN,KC_DEL, | 34 | _______,KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, |
| 43 | // ├───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┤ | 35 | // ├───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┤ |
| 44 | KC_CAPS,KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS,KC_EQL, KC_LBRC,KC_RBRC,KC_BSLS, | 36 | _______,KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS,KC_EQL, KC_LBRC,KC_RBRC,KC_BSLS, |
| 45 | // ├───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┤ | 37 | // ├───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┤ |
| 46 | _______,KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_UNDS,KC_PLUS,KC_LCBR,KC_RCBR,KC_PIPE, | 38 | _______,KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_GRV, _______,_______,_______,_______, |
| 47 | // ├───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┤ | 39 | // ├───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┤ |
| 48 | _______,_______,_______,_______,_______,_______,_______,_______,KC_HOME,KC_PGDN,KC_PGUP,KC_END | 40 | _______,_______,_______,_______,_______,_______,_______,_______,KC_HOME,KC_PGDN,KC_PGUP,KC_END |
| 49 | // └───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┘ | 41 | // └───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┘ |
| 50 | ), | 42 | ), |
| 51 | 43 | ||
| 52 | [_ADJUST] = LAYOUT_ortho_4x12 ( | 44 | [_LOWER] = LAYOUT_ortho_4x12 ( |
| 53 | // ┌───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┐ | 45 | // ┌───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┐ |
| 54 | _______,RESET, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______, | 46 | _______,KC_EXLM,KC_AT, KC_HASH,KC_DLR, KC_PERC,KC_CIRC,KC_AMPR,KC_ASTR,KC_LPRN,KC_RPRN,_______, |
| 55 | // ├───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┤ | 47 | // ├───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┤ |
| 56 | _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, | 48 | _______,KC_VOLD,KC_MUTE,KC_VOLU,DM_REC1,DM_REC2,DM_RSTP,KC_UNDS,KC_PLUS,KC_LCBR,KC_RCBR,KC_PIPE, |
| 57 | // ├───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┤ | 49 | // ├───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┤ |
| 58 | _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, | 50 | _______,KC_MPRV,KC_MPLY,KC_MNXT,DM_PLY1,DM_PLY2,KC_CAPS,KC_TILD,KC_WH_D,KC_BTN1,KC_BTN2,KC_WH_U, |
| 59 | // ├───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┤ | 51 | // ├───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┤ |
| 60 | _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______ | 52 | _______,_______,_______,_______,_______,_______,TGRAISE,_______,KC_MS_L,KC_MS_D,KC_MS_U,KC_MS_R |
| 61 | // └───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┘ | 53 | // └───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┘ |
| 62 | ), | 54 | ), |
| 63 | 55 | ||
| @@ -65,9 +57,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
| 65 | 57 | ||
| 66 | layer_state_t layer_state_set_user(layer_state_t state) { | 58 | layer_state_t layer_state_set_user(layer_state_t state) { |
| 67 | #ifdef JOTANCK_LEDS | 59 | #ifdef JOTANCK_LEDS |
| 68 | writePin(JOTANCK_LED1, (get_highest_layer(state) == _LOWER)); | 60 | writePin(JOTANCK_LED2, (get_highest_layer(state) == _RAISE)); |
| 69 | #endif | 61 | #endif |
| 70 | return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST); | 62 | return state; |
| 71 | } | 63 | } |
| 72 | 64 | ||
| 73 | bool led_update_user(led_t led_state) { | 65 | bool led_update_user(led_t led_state) { |
| @@ -77,7 +69,28 @@ bool led_update_user(led_t led_state) { | |||
| 77 | } | 69 | } |
| 78 | #ifdef JOTANCK_LEDS | 70 | #ifdef JOTANCK_LEDS |
| 79 | // CapsLock led | 71 | // CapsLock led |
| 80 | writePin(JOTANCK_LED2, led_state.caps_lock); | 72 | writePin(JOTANCK_LED1, led_state.caps_lock); |
| 81 | #endif | 73 | #endif |
| 82 | return true; | 74 | return true; |
| 83 | } \ No newline at end of file | 75 | } |
| 76 | |||
| 77 | bool process_record_user(uint16_t keycode, keyrecord_t *record) { | ||
| 78 | switch (keycode) { | ||
| 79 | case KC_LCTL: | ||
| 80 | is_ctl_pressed = record->event.pressed; | ||
| 81 | break; | ||
| 82 | case KC_TAB: | ||
| 83 | is_tab_pressed = record->event.pressed; | ||
| 84 | break; | ||
| 85 | case KC_BSPC: | ||
| 86 | is_bspc_pressed = record->event.pressed; | ||
| 87 | break; | ||
| 88 | }; | ||
| 89 | return true; | ||
| 90 | } | ||
| 91 | |||
| 92 | void matrix_scan_user(void) { | ||
| 93 | if (is_ctl_pressed && is_tab_pressed && is_bspc_pressed) { | ||
| 94 | reset_keyboard(); | ||
| 95 | } | ||
| 96 | } | ||
diff --git a/layouts/community/ortho_4x12/jotix/rules.mk b/layouts/community/ortho_4x12/jotix/rules.mk new file mode 100644 index 000000000..a1adef2a6 --- /dev/null +++ b/layouts/community/ortho_4x12/jotix/rules.mk | |||
| @@ -0,0 +1,2 @@ | |||
| 1 | MOUSEKEY_ENABLE = yes | ||
| 2 | DYNAMIC_MACRO_ENABLE = yes | ||
