diff options
Diffstat (limited to 'keyboards/keebio/levinson/keymaps/jyh/keymap.c')
-rw-r--r-- | keyboards/keebio/levinson/keymaps/jyh/keymap.c | 215 |
1 files changed, 215 insertions, 0 deletions
diff --git a/keyboards/keebio/levinson/keymaps/jyh/keymap.c b/keyboards/keebio/levinson/keymaps/jyh/keymap.c new file mode 100644 index 000000000..d8cfa7e06 --- /dev/null +++ b/keyboards/keebio/levinson/keymaps/jyh/keymap.c | |||
@@ -0,0 +1,215 @@ | |||
1 | #include QMK_KEYBOARD_H | ||
2 | |||
3 | extern keymap_config_t keymap_config; | ||
4 | |||
5 | // Each layer gets a name for readability, which is then used in the keymap matrix below. | ||
6 | // The underscores don't mean anything - you can have a layer called STUFF or any other name. | ||
7 | // Layer names don't all need to be of the same length, obviously, and you can also skip them | ||
8 | // entirely and just use numbers. | ||
9 | #define _QWERTY 0 | ||
10 | #define _LOWER 3 /* Symbols, Media */ | ||
11 | #define _RAISE 4 /* Numbers, Arrows */ | ||
12 | #define _FUNC 5 /* Function Keys */ | ||
13 | #define _NUMS 6 /* Numpad */ | ||
14 | #define _ADJUST 16 | ||
15 | |||
16 | enum custom_keycodes { | ||
17 | QWERTY = SAFE_RANGE, | ||
18 | LOWER, | ||
19 | RAISE, | ||
20 | ADJUST, | ||
21 | }; | ||
22 | |||
23 | // Fillers to make layering more clear | ||
24 | #define KC_ KC_TRNS | ||
25 | |||
26 | // tap toggle numpad on | ||
27 | #define NUMPAD TT(_NUMS) | ||
28 | |||
29 | // Mod Tap Definitions | ||
30 | // ------------------- | ||
31 | // Tap Hold | ||
32 | // ------------------ | ||
33 | #define CTL_ESC MT(MOD_LCTL, KC_ESC) // Esc Left Control | ||
34 | #define SFT_ENT MT(MOD_RSFT, KC_ENT) // Enter Right Shift | ||
35 | #define CTL_SPC MT(MOD_LCTL, KC_SPC) // Space Left Control | ||
36 | #define ALT_SPC MT(MOD_LALT, KC_SPC) // Space Left Alt | ||
37 | #define ALT_BSP MT(MOD_LALT, KC_BSPC) // Bkspace Left Alt | ||
38 | #define HPR_TAB MT(MOD_HYPR, KC_TAB) // Tab Hyper (Super+Ctrl+Alt+Shift) | ||
39 | #define HPR_GRV MT(MOD_HYPR, KC_GRV) // ` Hyper | ||
40 | #define HPR_TIL MT(MOD_HYPR, KC_TILD) // ~ Hyper | ||
41 | #define MEH_TIL MT(MOD_MEH, KC_GRV) // ` Meh (Ctrl+Alt+Shift) | ||
42 | #define SFT_MIN MT(MOD_LSFT, KC_MINS) // - Left Shift | ||
43 | #define NPD_UND LT(_NUMS, KC_UNDS) // _ Layer Numpad | ||
44 | #define FNC_PIP LT(_FUNC, KC_PIPE) // | Layer Function Keys | ||
45 | |||
46 | #define CTL_DEL MT(MOD_LCTL, KC_DEL) // Del Left Control | ||
47 | #define CTL_QOT MT(MOD_RCTL, KC_QUOT) // ' Right Control | ||
48 | #define CTL_BSL MT(MOD_RCTL, KC_BSLS) // \ Right Control | ||
49 | #define CTL_PIP MT(MOD_RCTL, KC_PIPE) // | Right Control | ||
50 | |||
51 | // Redefine for LAYOUT_kc | ||
52 | #define KC_CTL_BSL CTL_BSL | ||
53 | #define KC_CTL_PIP CTL_PIP | ||
54 | #define KC_CTL_DEL CTL_DEL | ||
55 | #define KC_HPR_TIL HPR_TIL | ||
56 | #define KC_HPR_GRV HPR_GRV | ||
57 | |||
58 | |||
59 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
60 | |||
61 | /* Qwerty | ||
62 | * | ||
63 | * ,-----------------------------------------. ,-----------------------------------------. | ||
64 | * | Tab | Q | W | E | R | T | | Y | U | I | O | P | Bksp | | ||
65 | * |------+------+------+------+------+------| |------+------+------+------+------+------| | ||
66 | * | Esc | A | S | D | F | G | | H | J | K | L | ; | ' | | ||
67 | * |------+------+------+------+------+------| |------+------+------+------+------+------| | ||
68 | * | - | Z | X | C | V | B | | N | M | , | . | / | Enter| | ||
69 | * |------+------+------+------+------+------| |------+------+------+------+------+------| | ||
70 | * | Numpd| Meh | Meta | Alt | Lower| Space| | Space| Raise| Alt | Meta | Hyper| Func | | ||
71 | * `-----------------------------------------' `-----------------------------------------' | ||
72 | * | ||
73 | * with Hold (Emacs-oriented) | ||
74 | * ,-----------------------------------------. ,-----------------------------------------. | ||
75 | * | Hyper| | | | | | | | | | | | | | ||
76 | * |------+------+------+------+------+------| |------+------+------+------+------+------| | ||
77 | * | Ctrl | | | | | | | | | | | | Ctrl | | ||
78 | * |------+------+------+------+------+------| |------+------+------+------+------+------| | ||
79 | * | Shift| | | | | | | | | | | | Shift| | ||
80 | * |------+------+------+------+------+------| |------+------+------+------+------+------| | ||
81 | * | | | | | | | | | | | | | | | ||
82 | * `-----------------------------------------' `-----------------------------------------' | ||
83 | */ | ||
84 | [_QWERTY] = LAYOUT_ortho_4x12( | ||
85 | HPR_TAB, KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_BSPC, | ||
86 | CTL_ESC, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, CTL_QOT, | ||
87 | SFT_MIN, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, SFT_ENT, | ||
88 | NUMPAD , KC_MEH , KC_LGUI, KC_LALT, LOWER, CTL_SPC, KC_SPC, RAISE, KC_RALT, KC_RGUI, KC_HYPR, MO(_FUNC) | ||
89 | ), | ||
90 | |||
91 | |||
92 | /* Raise | ||
93 | * ,-----------------------------------------. ,-----------------------------------------. | ||
94 | * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | | | ||
95 | * |------+------+------+------+------+------| |------+------+------+------+------+------| | ||
96 | * | | Left | Up | Down | Right| ( | | ) | - | = | [ | ] | | | | ||
97 | * |------+------+------+------+------+------| |------+------+------+------+------+------| | ||
98 | * | | ; | ' | * | , | { | | } | _ | + | . | / | | | ||
99 | * |------+------+------+------+------+------| |------+------+------+------+------+------| | ||
100 | * | | | | | | | | | | | | | | | ||
101 | * `-----------------------------------------' `-----------------------------------------' | ||
102 | */ | ||
103 | [_RAISE] = LAYOUT_kc_ortho_4x12( | ||
104 | HPR_GRV, 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 0 , , | ||
105 | ,LEFT, UP ,DOWN,RGHT,LPRN, RPRN,MINS, EQL,LBRC,RBRC,CTL_PIP, | ||
106 | ,COLN,QUOT,ASTR,COMM,LCBR, RCBR,UNDS,PLUS, , , , | ||
107 | , , , , , , , , , , , | ||
108 | ), | ||
109 | |||
110 | /* Lower | ||
111 | * ,-----------------------------------------. ,-----------------------------------------. | ||
112 | * | ~ | ! | @ | # | $ | % | | ^ | & | * | ( | ) | | | ||
113 | * |------+------+------+------+------+------| |------+------+------+------+------+------| | ||
114 | * | Del | Vol+ | Mute | Play | PgUp | : | | ' | - | = | [ | ] | \ | | ||
115 | * |------+------+------+------+------+------| |------+------+------+------+------+------| | ||
116 | * | | Vol- | < M | M > | PgDn | ; | | " | | | , | . | / | | | ||
117 | * |------+------+------+------+------+------| |------+------+------+------+------+------| | ||
118 | * | | | | | | | | | | | | | | | ||
119 | * `-----------------------------------------' `-----------------------------------------' | ||
120 | */ | ||
121 | [_LOWER] = LAYOUT_kc_ortho_4x12( | ||
122 | HPR_TIL,EXLM, AT ,HASH,DLR , PERC , CIRC,AMPR,ASTR,LPRN,RPRN, , | ||
123 | CTL_DEL,VOLU,MUTE,MPLY,PGUP, COLN , QUOT,MINS, EQL,LBRC,RBRC,CTL_BSL, | ||
124 | ,VOLD,MPRV,MNXT,PGDN, SCLN , DQUO,PIPE,COMM, DOT,SLSH, , | ||
125 | , , , , , , , , , , , | ||
126 | ), | ||
127 | |||
128 | [_FUNC] = LAYOUT_kc_ortho_4x12( | ||
129 | // ,----+----+----+----+----+----. ,----+----+----+----+----+----. | ||
130 | , F1 , F2 , F3 , F4 , F5 , F6 , F7 , F8 , F9 , F10, , | ||
131 | // |----+----+----+----+----+----| |----+----+----+----+----+----| | ||
132 | , F11, F12, F13, F14, F15, F16, F17, F18, F19, F20, , | ||
133 | // |----+----+----+----+----+----| |----+----+----+----+----+----| | ||
134 | , F21, F22, F23, F24, NO , NO , NO , NO , NO , NO , , | ||
135 | // |----+----+----+----+----+----| |----+----+----+----+----+----| | ||
136 | , , , , , , , , , , , | ||
137 | // `----+----+----+----+----+----' `----+----+----+----+----+----' | ||
138 | ), | ||
139 | |||
140 | [_NUMS] = LAYOUT_kc_ortho_4x12( | ||
141 | // ,----+----+----+----+----+----. ,----+----+----+----+----+----. | ||
142 | , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,SLSH, , | ||
143 | // |----+----+----+----+----+----| |----+----+----+----+----+----| | ||
144 | ,CAPS, INS,HOME,PGUP,LPRN, RPRN, 4 , 5 , 6 ,ASTR, , | ||
145 | // |----+----+----+----+----+----| |----+----+----+----+----+----| | ||
146 | ,NLCK, DEL, END,PGDN,SCLN, COMM, 1 , 2 , 3 ,MINS, , | ||
147 | // |----+----+----+----+----+----| |----+----+----+----+----+----| | ||
148 | , , , , , , , 0 ,DOT ,EQL ,PLUS, | ||
149 | // `----+----+----+----+----+----' `----+----+----+----+----+----' | ||
150 | ), | ||
151 | |||
152 | [_ADJUST] = LAYOUT_ortho_4x12( | ||
153 | // ,-------+--------+--------+--------+--------+--------. ,-------+--------+--------+--------+--------+--------. | ||
154 | RESET , XXXXXXX, KC_UP , XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_DEL , \ | ||
155 | // |-------+--------+--------+--------+--------+--------| |-------+--------+--------+--------+--------+--------| | ||
156 | _______, KC_LEFT, KC_DOWN, KC_RGHT, XXXXXXX, XXXXXXX, BL_TOGG, BL_STEP, XXXXXXX, XXXXXXX, XXXXXXX, _______, \ | ||
157 | // |-------+--------+--------+--------+--------+--------| |-------+--------+--------+--------+--------+--------| | ||
158 | _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, \ | ||
159 | // |-------+--------+--------+--------+--------+--------| |-------+--------+--------+--------+--------+--------| | ||
160 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \ | ||
161 | // `-------+--------+--------+--------+--------+--------' `-------+--------+--------+--------+--------+--------, | ||
162 | ) | ||
163 | |||
164 | /* | ||
165 | * ,-----------------------------------------. ,-----------------------------------------. | ||
166 | * | | | | | | | | | | | | | | | ||
167 | * |------+------+------+------+------+------| |------+------+------+------+------+------| | ||
168 | * | | | | | | | | | | | | | | | ||
169 | * |------+------+------+------+------+------| |------+------+------+------+------+------| | ||
170 | * | | | | | | | | | | | | | | | ||
171 | * |------+------+------+------+------+------| |------+------+------+------+------+------| | ||
172 | * | | | | | | | | | | | | | | | ||
173 | * `-----------------------------------------' `-----------------------------------------' | ||
174 | */ | ||
175 | }; | ||
176 | |||
177 | bool process_record_user(uint16_t keycode, keyrecord_t *record) { | ||
178 | switch (keycode) { | ||
179 | case QWERTY: | ||
180 | if (record->event.pressed) { | ||
181 | set_single_persistent_default_layer(_QWERTY); | ||
182 | } | ||
183 | return false; | ||
184 | break; | ||
185 | case LOWER: | ||
186 | if (record->event.pressed) { | ||
187 | layer_on(_LOWER); | ||
188 | update_tri_layer(_LOWER, _RAISE, _ADJUST); | ||
189 | } else { | ||
190 | layer_off(_LOWER); | ||
191 | update_tri_layer(_LOWER, _RAISE, _ADJUST); | ||
192 | } | ||
193 | return false; | ||
194 | break; | ||
195 | case RAISE: | ||
196 | if (record->event.pressed) { | ||
197 | layer_on(_RAISE); | ||
198 | update_tri_layer(_LOWER, _RAISE, _ADJUST); | ||
199 | } else { | ||
200 | layer_off(_RAISE); | ||
201 | update_tri_layer(_LOWER, _RAISE, _ADJUST); | ||
202 | } | ||
203 | return false; | ||
204 | break; | ||
205 | case ADJUST: | ||
206 | if (record->event.pressed) { | ||
207 | layer_on(_ADJUST); | ||
208 | } else { | ||
209 | layer_off(_ADJUST); | ||
210 | } | ||
211 | return false; | ||
212 | break; | ||
213 | } | ||
214 | return true; | ||
215 | } | ||