aboutsummaryrefslogtreecommitdiff
path: root/keyboards/bastardkb/scylla/keymaps/cykedev/keymap.c
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/bastardkb/scylla/keymaps/cykedev/keymap.c')
-rw-r--r--keyboards/bastardkb/scylla/keymaps/cykedev/keymap.c198
1 files changed, 198 insertions, 0 deletions
diff --git a/keyboards/bastardkb/scylla/keymaps/cykedev/keymap.c b/keyboards/bastardkb/scylla/keymaps/cykedev/keymap.c
new file mode 100644
index 000000000..42915e43e
--- /dev/null
+++ b/keyboards/bastardkb/scylla/keymaps/cykedev/keymap.c
@@ -0,0 +1,198 @@
1// Copyright 2021 Christian Eiden, cykedev
2//
3// This program is free software: you can redistribute it and/or modify
4// it under the terms of the GNU General Public License as published by
5// the Free Software Foundation, either version 2 of the License, or
6// (at your option) any later version.
7//
8// This program is distributed in the hope that it will be useful,
9// but WITHOUT ANY WARRANTY; without even the implied warranty of
10// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11// GNU General Public License for more details.
12//
13// You should have received a copy of the GNU General Public License
14// along with this program. If not, see <http://www.gnu.org/licenses/>.
15
16#include QMK_KEYBOARD_H
17
18#define CM_SPAL LGUI_T(KC_SPC)
19#define CM_SPAR RGUI_T(KC_SPC)
20
21#define SH_ENL LSFT_T(KC_ENT)
22#define SH_ENR RSFT_T(KC_ENT)
23
24#define RAISE MO(_RAISE)
25#define LOWER MO(_LOWER)
26
27#define QWERT DF(_QWERTY)
28#define COLEM DF(_COLEMAK_DH)
29
30enum layer_names {
31 _COLEMAK_DH,
32 _QWERTY,
33 _RAISE,
34 _LOWER,
35 _ADJUST
36};
37
38
39const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
40 [_COLEMAK_DH] = LAYOUT_split_4x6_5(
41 /* COLEMAK_DH
42 * .-----------------------------------------. .-----------------------------------------.
43 * | Esc | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | Bsp |
44 * |------+------+------+------+------+------| |------+------+------+------+------+------|
45 * | Tab | Q | W | F | P | B | | J | L | U | Y | ; | \ |
46 * |------+------+------+------+------+------| |------+------+------+------+------+------|
47 * | Del | A | R | S | T | G | | M | N | E | I | O | ' |
48 * |------+------+------+------+------+------| |------+------+------+------+------+------|
49 * | Shft | Z | X | C | D | V | | K | H | , | . | / | Shft |
50 * '-----------------------------------------/ \-----------------------------------------'
51 * / RAISE /---------------. .---------------\ LOWER \
52 * / / Cmd / Shift / \ Shift \ Cmd \ \
53 * '-------/ Space / Enter / \ Enter \ Space \-------'
54 * /---------------/ \---------------\
55 * / Alt / Ctrl / \ Ctrl \ Alt \
56 * / / / \ \ \
57 * '---------------' '---------------'
58 */
59 KC_ESC , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_BSPC,
60 KC_TAB , KC_Q , KC_W , KC_F , KC_P , KC_B , KC_J , KC_L , KC_U , KC_Y , KC_SCLN, KC_BSLS,
61 KC_DEL , KC_A , KC_R , KC_S , KC_T , KC_G , KC_M , KC_N , KC_E , KC_I , KC_O , KC_QUOT,
62 KC_LSFT, KC_Z , KC_X , KC_C , KC_D , KC_V , KC_K , KC_H , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT,
63 RAISE , CM_SPAL, SH_ENL , SH_ENR , CM_SPAR, LOWER ,
64 KC_LALT, KC_LCTL, KC_RCTL, KC_RALT
65 ),
66 [_QWERTY] = LAYOUT_split_4x6_5(
67 /* QWERTY
68 * .-----------------------------------------. .-----------------------------------------.
69 * | Esc | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | Bsp |
70 * |------+------+------+------+------+------| |------+------+------+------+------+------|
71 * | Tab | Q | W | E | R | T | | Y | U | I | O | P | \ |
72 * |------+------+------+------+------+------| |------+------+------+------+------+------|
73 * | Del | A | S | D | F | G | | H | J | K | L | ; | ' |
74 * |------+------+------+------+------+------| |------+------+------+------+------+------|
75 * | Shft | Z | X | C | V | B | | N | M | , | . | / | Shft |
76 * '-----------------------------------------/ \-----------------------------------------'
77 * / RAISE /---------------. .---------------\ LOWER \
78 * / / Cmd / Shift / \ Shift \ Cmd \ \
79 * '-------/ Space / Enter / \ Enter \ Space \-------'
80 * /---------------/ \---------------\
81 * / Alt / Ctrl / \ Ctrl \ Alt \
82 * / / / \ \ \
83 * '---------------' '---------------'
84 */
85 KC_ESC , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_BSPC,
86 KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_BSLS,
87 KC_DEL , KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT,
88 KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_LSFT,
89 RAISE , CM_SPAL, SH_ENL , SH_ENR , CM_SPAR, LOWER ,
90 KC_LALT, KC_LCTL, KC_RCTL, KC_RALT
91 ),
92 [_RAISE] = LAYOUT_split_4x6_5(
93 /* RAISE
94 * .-----------------------------------------. .-----------------------------------------.
95 * | | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | F11 |
96 * |------+------+------+------+------+------| |------+------+------+------+------+------|
97 * | | | | [ | ] | | | $ | / | * | # | ~ | F12 |
98 * |------+------+------+------+------+------| |------+------+------+------+------+------|
99 * | Ins | ! | @ | ( | ) | | | % | - | + | = | ? | |
100 * |------+------+------+------+------+------| |------+------+------+------+------+------|
101 * | | | | { | } | | | ^ | & | | | | | |
102 * '-----------------------------------------/ \-----------------------------------------'
103 * / /---------------. .---------------\ \
104 * / / / / \ \ \ \
105 * '-------/ / / \ \ \-------'
106 * /---------------/ \---------------\
107 * / / / \ \ \
108 * / / / \ \ \
109 * '---------------' '---------------'
110 */
111 XXXXXXX, KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 ,
112 XXXXXXX, XXXXXXX, XXXXXXX, KC_LBRC, KC_RBRC, XXXXXXX, KC_DLR , KC_SLSH, KC_ASTR, KC_HASH, KC_TILD, KC_F12 ,
113 KC_INS , KC_EXLM, KC_AT , KC_LPRN, KC_RPRN, XXXXXXX, KC_PERC, KC_MINS, KC_PPLS, KC_PEQL, KC_QUES, XXXXXXX,
114 XXXXXXX, XXXXXXX, XXXXXXX, KC_LCBR, KC_RCBR, XXXXXXX, KC_CIRC, KC_AMPR, KC_PIPE, XXXXXXX, XXXXXXX, XXXXXXX,
115 _______, _______, _______, _______, _______, _______,
116 _______, _______, _______, _______
117 ),
118 [_LOWER] = LAYOUT_split_4x6_5(
119 /* LOWER
120 * .-----------------------------------------. .-----------------------------------------.
121 * | | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | F11 |
122 * |------+------+------+------+------+------| |------+------+------+------+------+------|
123 * | | | | [ | ] | + | | | | up | | | F12 |
124 * |------+------+------+------+------+------| |------+------+------+------+------+------|
125 * | Ins | ! | @ | ( | ) | - | | | left | down | rght | ? | |
126 * |------+------+------+------+------+------| |------+------+------+------+------+------|
127 * | | | | { | } | = | | | | | | | |
128 * '-----------------------------------------/ \-----------------------------------------'
129 * / /---------------. .---------------\ \
130 * / / / / \ \ \ \
131 * '-------/ / / \ \ \-------'
132 * /---------------/ \---------------\
133 * / / / \ \ \
134 * / / / \ \ \
135 * '---------------' '---------------'
136 */
137 XXXXXXX, KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 ,
138 XXXXXXX, XXXXXXX, XXXXXXX, KC_LBRC, KC_RBRC, KC_PPLS, XXXXXXX, XXXXXXX, KC_UP , XXXXXXX, XXXXXXX, KC_F12 ,
139 KC_INS , KC_EXLM, KC_AT , KC_LPRN, KC_RPRN, KC_MINS, XXXXXXX, KC_LEFT, KC_DOWN, KC_RGHT, KC_QUES, XXXXXXX,
140 XXXXXXX, XXXXXXX, XXXXXXX, KC_LCBR, KC_RCBR, KC_PEQL, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
141 _______, _______, _______, _______, _______, _______,
142 _______, _______, _______, _______
143 ),
144 [_ADJUST] = LAYOUT_split_4x6_5(
145 /* ADJUST
146 * .-----------------------------------------. .-----------------------------------------.
147 * | | | | | | QWERT| |COLEM | | | | | |
148 * |------+------+------+------+------+------| |------+------+------+------+------+------|
149 * | | | | | | V+ | | B + | | | | | |
150 * |------+------+------+------+------+------| |------+------+------+------+------+------|
151 * | | | | | | V- | | B - | << | play | >> | | |
152 * |------+------+------+------+------+------| |------+------+------+------+------+------|
153 * | | | | | | Mute | | | | | | | |
154 * '-----------------------------------------/ \-----------------------------------------'
155 * / /---------------. .---------------\ \
156 * / / / / \ \ \ \
157 * '-------/ / / \ \ \-------'
158 * /---------------/ \---------------\
159 * / / / \ \ \
160 * / / / \ \ \
161 * '---------------' '---------------'
162 */
163 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QWERT , COLEM , XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
164 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_VOLU, KC_BRIU, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
165 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_VOLD, KC_BRID, KC_MRWD, KC_MPLY, KC_MFFD, XXXXXXX, XXXXXXX,
166 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MUTE, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
167 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
168 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
169 )
170};
171
172bool get_ignore_mod_tap_interrupt(uint16_t keycode, keyrecord_t *record) {
173 switch (keycode) {
174 case CM_SPAR:
175 return true;
176 default:
177 return false;
178 }
179}
180
181layer_state_t layer_state_set_user(layer_state_t state) {
182 return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
183}
184
185// Flexible macOS-friendly Grave Escape
186// https://docs.qmk.fm/#/feature_key_overrides?id=flexible-macos-friendly-grave-escape
187
188const key_override_t tilde_esc_override = ko_make_basic(MOD_MASK_SHIFT, KC_ESC, S(KC_GRAVE));
189const key_override_t grave_esc_override = ko_make_basic(MOD_MASK_GUI, KC_ESC, KC_GRAVE);
190const key_override_t delete_key_override = ko_make_basic(MOD_MASK_SHIFT, KC_BSPACE, KC_DELETE);
191
192
193const key_override_t **key_overrides = (const key_override_t *[]){
194 &tilde_esc_override,
195 &grave_esc_override,
196 &delete_key_override,
197 NULL
198};