Commit | Line | Data |
---|---|---|
44f3c614 SC |
1 | #include QMK_KEYBOARD_H |
2 | ||
3 | extern keymap_config_t keymap_config; | |
4 | ||
5 | enum layer_names { | |
6 | _QWERTY, | |
46023610 | 7 | _COLEMAK, |
44f3c614 SC |
8 | _LOWER, |
9 | _RAISE, | |
10 | _ADJUST | |
11 | }; | |
12 | ||
13 | enum custom_keycodes { | |
da1f05fb | 14 | QWERTY = SAFE_RANGE, |
46023610 | 15 | COLEMAK, |
da1f05fb SC |
16 | LOWER, |
17 | RAISE | |
44f3c614 SC |
18 | }; |
19 | ||
20 | #define KC_ KC_TRNS | |
21 | ||
22 | #define KC_LOWR LOWER | |
23 | #define KC_RASE RAISE | |
24 | #define KC_RST RESET | |
25 | #define KC_BL_S BL_STEP | |
26 | ||
46023610 SC |
27 | // left shift as a left key too - makes perfect sense |
28 | #define KC_LESF LSFT_T(KC_LEFT) | |
44f3c614 SC |
29 | |
30 | ||
31 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |
32 | ||
33 | [_QWERTY] = LAYOUT_kc( | |
34 | //,----+----+----+----+----+----. ,----+----+----+----+----+----. | |
35 | GESC, 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 0 ,BSPC, | |
36 | //|----+----+----+----+----+----| |----+----+----+----+----+----| | |
37 | TAB , Q , W , E , R , T , Y , U , I , O , P ,BSLS, | |
38 | //|----+----+----+----+----+----| |----+----+----+----+----+----| | |
46023610 | 39 | LCTL, A , S , D , F , G , H , J , K , L ,SCLN,QUOT, |
44f3c614 | 40 | //|----+----+----+----+----+----+----. ,----|----+----+----+----+----+----| |
46023610 | 41 | LESF, Z , X , C , V , B ,LBRC, RBRC, N , M ,COMM,DOT ,SLSH,RGHT, |
da1f05fb SC |
42 | //`----+----+----+--+-+----+----+----/ \----+----+----+----+----+----+----' |
43 | LGUI,LOWR,ENT , SPC ,RASE,RALT | |
44 | // `----+----+----' `----+----+----' | |
45 | ), | |
46 | ||
46023610 | 47 | [_COLEMAK] = LAYOUT_kc( |
da1f05fb SC |
48 | //,----+----+----+----+----+----. ,----+----+----+----+----+----. |
49 | GESC, 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 0 ,BSPC, | |
50 | //|----+----+----+----+----+----| |----+----+----+----+----+----| | |
46023610 | 51 | TAB , Q , W , F , P , G , J , L , U , Y ,SCLN,BSLS, |
da1f05fb | 52 | //|----+----+----+----+----+----| |----+----+----+----+----+----| |
46023610 | 53 | LCTL, A , R , S , T , D , H , N , E , I , O ,QUOT, |
da1f05fb | 54 | //|----+----+----+----+----+----+----. ,----|----+----+----+----+----+----| |
46023610 | 55 | LESF, Z , X , C , V , B ,LBRC, RBRC, K , M ,COMM,DOT ,SLSH,RGHT, |
44f3c614 SC |
56 | //`----+----+----+--+-+----+----+----/ \----+----+----+----+----+----+----' |
57 | LGUI,LOWR,ENT , SPC ,RASE,RALT | |
58 | // `----+----+----' `----+----+----' | |
59 | ), | |
60 | ||
61 | [_LOWER] = LAYOUT_kc( | |
62 | //,----+----+----+----+----+----. ,----+----+----+----+----+----. | |
46023610 | 63 | GRV ,EXLM, AT ,HASH,DLR ,PERC, CIRC,AMPR,ASTR,LPRN,RPRN,DEL , |
44f3c614 | 64 | //|----+----+----+----+----+----| |----+----+----+----+----+----| |
da1f05fb | 65 | , , , , , , , ,BTN1, , , , |
44f3c614 | 66 | //|----+----+----+----+----+----| |----+----+----+----+----+----| |
da1f05fb | 67 | , , , , , , MS_L,MS_D,MS_U,MS_R, , , |
44f3c614 | 68 | //|----+----+----+----+----+----+----. ,----|----+----+----+----+----+----| |
46023610 | 69 | , , , , , UP , , ,DOWN, , , , , , |
44f3c614 SC |
70 | //`----+----+----+--+-+----+----+----/ \----+----+----+----+----+----+----' |
71 | , , , , , | |
72 | // `----+----+----' `----+----+----' | |
73 | ||
74 | ), | |
75 | [_RAISE] = LAYOUT_kc( | |
76 | //,----+----+----+----+----+----. ,----+----+----+----+----+----. | |
77 | F12 , F1 , F2 , F3 , F4 , F5 , F6 , F7 , F8 , F9 ,F10 ,F11 , | |
78 | //|----+----+----+----+----+----| |----+----+----+----+----+----| | |
79 | , ,VOLU, , ,LBRC, RBRC,UNDS,PLUS, , ,MUTE, | |
80 | //|----+----+----+----+----+----| |----+----+----+----+----+----| | |
81 | ,MPLY,VOLD,MNXT, ,LPRN, RPRN,MINS,EQL , , , , | |
82 | //|----+----+----+----+----+----+----. ,----|----+----+----+----+----+----| | |
46023610 | 83 | , , , , , , , , , , , , , , |
44f3c614 SC |
84 | //`----+----+----+--+-+----+----+----/ \----+----+----+----+----+----+----' |
85 | , , , , , | |
86 | // `----+----+----' `----+----+----' | |
87 | ), | |
88 | ||
89 | [_ADJUST] = LAYOUT( | |
90 | //,--------+--------+--------+--------+--------+--------. ,--------+--------+--------+--------+--------+--------. | |
46023610 | 91 | _______, _______, _______, _______, _______, QWERTY, COLEMAK, _______, _______, _______, _______, _______, |
44f3c614 SC |
92 | //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |
93 | RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, | |
94 | //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| | |
95 | RESET , DEBUG , RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, | |
96 | //|--------+--------+--------+--------+--------+--------+--------. ,--------|--------+--------+--------+--------+--------+--------| | |
97 | BL_STEP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | |
98 | //`--------+--------+--------+----+---+--------+--------+--------/ \--------+--------+--------+---+----+--------+--------+--------' | |
99 | _______, _______, _______, _______, _______, _______ | |
100 | // `--------+--------+--------' `--------+--------+--------' | |
101 | ) | |
102 | ||
103 | }; | |
104 | ||
105 | #ifdef AUDIO_ENABLE | |
106 | float tone_qwerty[][2] = SONG(QWERTY_SOUND); | |
107 | #endif | |
108 | ||
109 | bool process_record_user(uint16_t keycode, keyrecord_t *record) { | |
110 | switch (keycode) { | |
da1f05fb SC |
111 | case QWERTY: |
112 | if (record->event.pressed) { | |
113 | set_single_persistent_default_layer(_QWERTY); | |
114 | } | |
115 | return false; | |
46023610 | 116 | case COLEMAK: |
da1f05fb | 117 | if (record->event.pressed) { |
46023610 | 118 | set_single_persistent_default_layer(_COLEMAK); |
da1f05fb SC |
119 | } |
120 | return false; | |
44f3c614 SC |
121 | case LOWER: |
122 | if (record->event.pressed) { | |
123 | layer_on(_LOWER); | |
124 | update_tri_layer(_LOWER, _RAISE, _ADJUST); | |
125 | } else { | |
126 | layer_off(_LOWER); | |
127 | update_tri_layer(_LOWER, _RAISE, _ADJUST); | |
128 | } | |
129 | return false; | |
44f3c614 SC |
130 | case RAISE: |
131 | if (record->event.pressed) { | |
132 | layer_on(_RAISE); | |
133 | update_tri_layer(_LOWER, _RAISE, _ADJUST); | |
134 | } else { | |
135 | layer_off(_RAISE); | |
136 | update_tri_layer(_LOWER, _RAISE, _ADJUST); | |
137 | } | |
138 | return false; | |
44f3c614 SC |
139 | } |
140 | return true; | |
141 | } |