|
1 | 1 | #include QMK_KEYBOARD_H |
2 | 2 | #include "keymap_swedish.h" |
3 | 3 | #include "gpio.h" |
| 4 | +#include "claha.h" |
4 | 5 |
|
5 | 6 | #define HOME_A SFT_T(KC_A) |
6 | 7 | #define HOME_S CTL_T(KC_S) |
|
11 | 12 | #define HOME_L CTL_T(KC_L) |
12 | 13 | #define HOME_SCLN SFT_T(KC_NO) |
13 | 14 |
|
14 | | -#define THUMB_L2 KC_ESC |
15 | | -#define THUMB_L1 LT(3, KC_TAB) |
16 | | -#define THUMB_L0 LT(1, KC_SPC) |
17 | | -#define THUMB_R0 LT(4, KC_ENT) |
18 | | -#define THUMB_R1 LT(2, KC_BSPC) |
19 | | -#define THUMB_R2 KC_DEL |
| 15 | +#define THUMB_L2 LT(SYM, KC_TAB) |
| 16 | +#define THUMB_L1 LT(NAV, KC_SPC) |
| 17 | +#define THUMB_L0 KC_NO |
| 18 | +#define THUMB_R0 KC_NO |
| 19 | +#define THUMB_R1 LT(FUN, KC_ENT) |
| 20 | +#define THUMB_R2 LT(NUM, KC_BSPC) |
20 | 21 |
|
21 | 22 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { |
22 | 23 |
|
23 | | -[0] = LAYOUT_split_3x5_3( |
| 24 | +[BASE] = LAYOUT_split_3x5_3( |
24 | 25 | KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, |
25 | 26 | HOME_A, HOME_S, HOME_D, HOME_F, KC_G, KC_H, HOME_J, HOME_K, HOME_L, HOME_SCLN, |
26 | 27 | KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, |
27 | 28 | THUMB_L2, THUMB_L1, THUMB_L0, THUMB_R0, THUMB_R1, THUMB_R2 |
28 | 29 | ), |
29 | 30 |
|
30 | | -[1] = LAYOUT_split_3x5_3( |
| 31 | +[NAV] = LAYOUT_split_3x5_3( |
31 | 32 | KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, |
32 | 33 | KC_LSFT, KC_LCTL, KC_LGUI, KC_LALT, KC_NO, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, KC_NO, |
33 | 34 | KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_HOME, KC_PGDN, KC_PGUP, KC_END, KC_DEL, |
34 | 35 | KC_TRNS, KC_ESC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS |
35 | 36 | ), |
36 | 37 |
|
37 | | -[2] = LAYOUT_split_3x5_3( |
| 38 | +[NUM] = LAYOUT_split_3x5_3( |
38 | 39 | KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, |
39 | 40 | KC_LSFT, KC_NUHS, KC_NO, KC_NO, KC_NO, KC_NO, KC_LALT, KC_LGUI, KC_LCTL, KC_LSFT, |
40 | 41 | KC_RALT, KC_DOT, KC_RBRC, KC_PLUS, KC_NO, KC_NO, KC_LBRC, KC_QUOT, KC_SCLN, KC_RALT, |
41 | 42 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS |
42 | 43 | ), |
43 | 44 |
|
44 | | -[3] = LAYOUT_split_3x5_3( |
| 45 | +[SYM] = LAYOUT_split_3x5_3( |
45 | 46 | SE_BSLS, SE_LABK, SE_RABK, SE_MINS, SE_PIPE, SE_CIRC, SE_LCBR, SE_RCBR, SE_DLR, SE_QUES, |
46 | 47 | SE_EXLM, SE_ASTR, SE_SLSH, SE_EQL, SE_AMPR, SE_HASH, SE_LPRN, SE_RPRN, SE_SCLN, SE_DQUO, |
47 | 48 | SE_TILD, SE_PLUS, SE_LBRC, SE_RBRC, SE_PERC, SE_AT, SE_COLN, SE_COMM, SE_DOT, SE_QUOT, |
48 | 49 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS |
49 | 50 | ), |
50 | 51 |
|
51 | | -[4] = LAYOUT_split_3x5_3( |
| 52 | +[FUN] = LAYOUT_split_3x5_3( |
| 53 | + KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, |
| 54 | + KC_NO, KC_NO, KC_NO, KC_NO, KC_F11, KC_F12, KC_NO, KC_NO, KC_NO, KC_NO, |
| 55 | + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, |
| 56 | + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS |
| 57 | +), |
| 58 | + |
| 59 | +[SYS] = LAYOUT_split_3x5_3( |
52 | 60 | QK_BOOT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, |
53 | 61 | RM_TOGG, RM_HUEU, RM_SATU, RM_VALU, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, |
54 | 62 | RM_NEXT, RM_HUED, RM_SATD, RM_VALD, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, |
55 | | - KC_NO, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO |
| 63 | + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO |
56 | 64 | ) |
57 | 65 | }; |
58 | 66 |
|
59 | 67 | const uint16_t PROGMEM combo_capsword[] = {KC_B, KC_N, COMBO_END}; |
| 68 | +const uint16_t PROGMEM combo_syslayer[] = {THUMB_R1, THUMB_R2, COMBO_END}; |
60 | 69 | combo_t key_combos[] = { |
61 | 70 | COMBO(combo_capsword, CW_TOGG), |
| 71 | + COMBO(combo_syslayer, MO(SYS)), |
62 | 72 | }; |
63 | 73 |
|
64 | 74 | bool process_record_user(uint16_t keycode, keyrecord_t *record) { |
|
0 commit comments