diff options
| -rw-r--r-- | layouts/community/ortho_4x12/jotix/keymap.c | 59 |
1 files changed, 35 insertions, 24 deletions
diff --git a/layouts/community/ortho_4x12/jotix/keymap.c b/layouts/community/ortho_4x12/jotix/keymap.c index 699f94f67..867e40a38 100644 --- a/layouts/community/ortho_4x12/jotix/keymap.c +++ b/layouts/community/ortho_4x12/jotix/keymap.c | |||
| @@ -4,59 +4,74 @@ enum layers { | |||
| 4 | _QWERTY, | 4 | _QWERTY, |
| 5 | _RAISE, | 5 | _RAISE, |
| 6 | _LOWER, | 6 | _LOWER, |
| 7 | _FN, | ||
| 7 | }; | 8 | }; |
| 8 | 9 | ||
| 9 | #define LOWER MO(_LOWER) | 10 | #define LOWER MO(_LOWER) |
| 10 | #define RAISE MO(_RAISE) | 11 | #define RAISE MO(_RAISE) |
| 12 | #define FN MO(_FN) | ||
| 13 | #define TGLOWER TG(LOWER) | ||
| 11 | #define TGRAISE TG(_RAISE) | 14 | #define TGRAISE TG(_RAISE) |
| 12 | #define RALT_QU RALT_T(KC_QUOT) | 15 | #define RALTDEL RALT_T(KC_DEL) |
| 13 | 16 | ||
| 14 | static bool is_ctl_pressed; | 17 | static bool is_ctl_pressed; |
| 15 | static bool is_tab_pressed; | 18 | static bool is_esc_pressed; |
| 16 | static bool is_bspc_pressed; | 19 | static bool is_bspc_pressed; |
| 17 | 20 | ||
| 18 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | 21 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { |
| 19 | 22 | ||
| 20 | [_QWERTY] = LAYOUT_ortho_4x12 ( | 23 | [_QWERTY] = LAYOUT_ortho_4x12 ( |
| 21 | // ┌───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┐ | 24 | // ┌───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┐ |
| 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, | 25 | KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, |
| 23 | // ├───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┤ | 26 | // ├───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┤ |
| 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, | 27 | KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN,KC_ENT, |
| 25 | // ├───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┤ | 28 | // ├───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┤ |
| 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, | 29 | KC_LSFT,KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM,KC_DOT, KC_UP, KC_SLSH, |
| 27 | // ├───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┤ | 30 | // ├───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┤ |
| 28 | KC_LCTL,KC_LGUI,KC_LALT,KC_DEL, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT,KC_DOWN,KC_UP, KC_RGHT | 31 | KC_LCTL,KC_LGUI,KC_LALT,FN, LOWER, KC_SPC, KC_SPC, RAISE, RALTDEL,KC_LEFT,KC_DOWN,KC_RGHT |
| 29 | // └───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┘ | 32 | // └───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┘ |
| 30 | ), | 33 | ), |
| 31 | 34 | ||
| 32 | [_RAISE] = LAYOUT_ortho_4x12 ( | 35 | [_LOWER] = LAYOUT_ortho_4x12 ( |
| 33 | // ┌───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┐ | 36 | // ┌───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┐ |
| 34 | _______,KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, | 37 | KC_TILD,KC_EXLM,KC_AT, KC_HASH,KC_DLR, KC_PERC,KC_CIRC,KC_AMPR,KC_ASTR,KC_LPRN,KC_RPRN,_______, |
| 35 | // ├───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┤ | 38 | // ├───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┤ |
| 36 | _______,KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS,KC_EQL, KC_LBRC,KC_RBRC,KC_BSLS, | 39 | _______,KC_VOLD,KC_MUTE,KC_VOLU,KC_HOME,KC_PGUP,KC_LCBR,KC_RCBR,KC_PIPE,KC_DQUO,_______,_______, |
| 37 | // ├───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┤ | 40 | // ├───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┤ |
| 38 | _______,KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_GRV, _______,_______,_______,_______, | 41 | _______,KC_MPRV,KC_MPLY,KC_MNXT,KC_END, KC_PGDN,KC_UNDS,KC_PLUS,KC_WH_U,KC_BTN1,KC_MS_U,KC_BTN2, |
| 39 | // ├───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┤ | 42 | // ├───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┤ |
| 40 | _______,_______,_______,_______,_______,_______,_______,_______,KC_HOME,KC_PGDN,KC_PGUP,KC_END | 43 | _______,_______,_______,_______,_______,_______,TGRAISE,_______,KC_WH_D,KC_MS_L,KC_MS_D,KC_MS_R |
| 41 | // └───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┘ | 44 | // └───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┘ |
| 42 | ), | 45 | ), |
| 43 | 46 | ||
| 44 | [_LOWER] = LAYOUT_ortho_4x12 ( | 47 | [_RAISE] = LAYOUT_ortho_4x12 ( |
| 45 | // ┌───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┐ | 48 | // ┌───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┐ |
| 46 | _______,KC_EXLM,KC_AT, KC_HASH,KC_DLR, KC_PERC,KC_CIRC,KC_AMPR,KC_ASTR,KC_LPRN,KC_RPRN,_______, | 49 | KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, |
| 47 | // ├───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┤ | 50 | // ├───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┤ |
| 48 | _______,KC_VOLD,KC_MUTE,KC_VOLU,DM_REC1,DM_REC2,DM_RSTP,KC_UNDS,KC_PLUS,KC_LCBR,KC_RCBR,KC_PIPE, | 51 | KC_CAPS,_______,_______,_______,_______,_______,KC_LBRC,KC_RBRC,KC_BSLS,KC_QUOT,_______,_______, |
| 49 | // ├───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┤ | 52 | // ├───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┤ |
| 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, | 53 | _______,DM_REC1,DM_REC2,DM_RSTP,DM_PLY1,DM_PLY2,KC_MINS,KC_EQL, _______,_______,_______,_______, |
| 51 | // ├───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┤ | 54 | // ├───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┤ |
| 52 | _______,_______,_______,_______,_______,_______,TGRAISE,_______,KC_MS_L,KC_MS_D,KC_MS_U,KC_MS_R | 55 | _______,_______,_______,_______,_______,TGLOWER,_______,_______,_______,_______,_______,_______ |
| 53 | // └───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┘ | 56 | // └───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┘ |
| 54 | ), | 57 | ), |
| 55 | 58 | ||
| 59 | [_FN] = LAYOUT_ortho_4x12 ( | ||
| 60 | // ┌───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┐ | ||
| 61 | _______,KC_F1, KC_F2, KC_F3, KC_F4, _______,_______,KC_P7, KC_P8, KC_P9, KC_PMNS,_______, | ||
| 62 | // ├───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┤ | ||
| 63 | _______,KC_F5, KC_F6, KC_F7, KC_F8, _______,_______,KC_P4, KC_P5, KC_P6, KC_PPLS,KC_PENT, | ||
| 64 | // ├───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┤ | ||
| 65 | _______,KC_F9, KC_F10, KC_F11, KC_F12, _______,_______,KC_P1, KC_P2, KC_P3, KC_PAST,KC_PSLS, | ||
| 66 | // ├───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┤ | ||
| 67 | _______,_______,_______,_______,_______,_______,_______,_______,KC_P0, KC_PDOT,KC_LPRN,KC_RPRN | ||
| 68 | // └───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┘ | ||
| 69 | ), | ||
| 56 | }; | 70 | }; |
| 57 | 71 | ||
| 58 | layer_state_t layer_state_set_user(layer_state_t state) { | 72 | layer_state_t layer_state_set_user(layer_state_t state) { |
| 59 | #ifdef JOTANCK_LEDS | 73 | #ifdef JOTANCK_LEDS |
| 74 | writePin(JOTANCK_LED1, (get_highest_layer(state) == _LOWER)); | ||
| 60 | writePin(JOTANCK_LED2, (get_highest_layer(state) == _RAISE)); | 75 | writePin(JOTANCK_LED2, (get_highest_layer(state) == _RAISE)); |
| 61 | #endif | 76 | #endif |
| 62 | return state; | 77 | return state; |
| @@ -67,20 +82,16 @@ bool led_update_user(led_t led_state) { | |||
| 67 | if (!led_state.num_lock) { | 82 | if (!led_state.num_lock) { |
| 68 | tap_code(KC_NUMLOCK); | 83 | tap_code(KC_NUMLOCK); |
| 69 | } | 84 | } |
| 70 | #ifdef JOTANCK_LEDS | ||
| 71 | // CapsLock led | ||
| 72 | writePin(JOTANCK_LED1, led_state.caps_lock); | ||
| 73 | #endif | ||
| 74 | return true; | 85 | return true; |
| 75 | } | 86 | } |
| 76 | 87 | ||
| 77 | bool process_record_user(uint16_t keycode, keyrecord_t *record) { | 88 | bool process_record_user(uint16_t keycode, keyrecord_t *record) { |
| 78 | switch (keycode) { | 89 | switch (keycode) { |
| 79 | case KC_LCTL: | 90 | case KC_LCTL: |
| 80 | is_ctl_pressed = record->event.pressed; | 91 | is_ctl_pressed = record->event.pressed; |
| 81 | break; | 92 | break; |
| 82 | case KC_TAB: | 93 | case KC_ESC: |
| 83 | is_tab_pressed = record->event.pressed; | 94 | is_esc_pressed = record->event.pressed; |
| 84 | break; | 95 | break; |
| 85 | case KC_BSPC: | 96 | case KC_BSPC: |
| 86 | is_bspc_pressed = record->event.pressed; | 97 | is_bspc_pressed = record->event.pressed; |
| @@ -90,7 +101,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { | |||
| 90 | } | 101 | } |
| 91 | 102 | ||
| 92 | void matrix_scan_user(void) { | 103 | void matrix_scan_user(void) { |
| 93 | if (is_ctl_pressed && is_tab_pressed && is_bspc_pressed) { | 104 | if (is_ctl_pressed && is_esc_pressed && is_bspc_pressed) { |
| 94 | reset_keyboard(); | 105 | reset_keyboard(); |
| 95 | } | 106 | } |
| 96 | } | 107 | } |
