diff options
-rw-r--r-- | keyboards/hotdox/keymaps/ninjonas/README.md | 106 | ||||
-rw-r--r-- | keyboards/hotdox/keymaps/ninjonas/keymap.c | 348 | ||||
-rw-r--r-- | keyboards/lily58/keymaps/ninjonas/README.md | 136 | ||||
-rw-r--r-- | keyboards/lily58/keymaps/ninjonas/config.h | 31 | ||||
-rw-r--r-- | keyboards/lily58/keymaps/ninjonas/keymap.c | 152 | ||||
-rw-r--r-- | keyboards/lily58/keymaps/ninjonas/layer_state_reader.c | 37 | ||||
-rw-r--r-- | keyboards/lily58/keymaps/ninjonas/rules.mk | 5 | ||||
-rw-r--r-- | keyboards/pinky/3/keymaps/ninjonas/README.md | 142 | ||||
-rw-r--r-- | keyboards/pinky/3/keymaps/ninjonas/config.h | 31 | ||||
-rw-r--r-- | keyboards/pinky/3/keymaps/ninjonas/keymap.c | 135 | ||||
-rw-r--r-- | users/ninjonas/.gitignore | 1 | ||||
-rw-r--r-- | users/ninjonas/README.md | 85 | ||||
-rw-r--r-- | users/ninjonas/config.h | 14 | ||||
-rw-r--r-- | users/ninjonas/ninjonas.c | 68 | ||||
-rw-r--r-- | users/ninjonas/ninjonas.h | 112 | ||||
-rw-r--r-- | users/ninjonas/process_records.c | 98 | ||||
-rw-r--r-- | users/ninjonas/process_records.h | 24 | ||||
-rw-r--r-- | users/ninjonas/rules.mk | 18 | ||||
-rw-r--r-- | users/ninjonas/tap_dances.c | 12 | ||||
-rw-r--r-- | users/ninjonas/tap_dances.h | 22 |
20 files changed, 1577 insertions, 0 deletions
diff --git a/keyboards/hotdox/keymaps/ninjonas/README.md b/keyboards/hotdox/keymaps/ninjonas/README.md new file mode 100644 index 000000000..b289651a8 --- /dev/null +++ b/keyboards/hotdox/keymaps/ninjonas/README.md | |||
@@ -0,0 +1,106 @@ | |||
1 | # ninjonas Keymap for [ErgoDox (HotDox)](https://www.alpacakeyboards.com/) | ||
2 | |||
3 | ## Setup | ||
4 | - Ensure you've cloned the [qmk](https://github.com/qmk/qmk_firmware) repo | ||
5 | - Create directory `ninjonas` on `/keyboards/hotdox/keymaps/` | ||
6 | - Run `copy_keymap.sh`. This copies the contents of this repo into `%qmk_firmware%/ninjonas/` directory | ||
7 | - To push your keymap to your keyboard run this command `make clean hotdox:ninjonas:dfu` | ||
8 | - this compiles your keymap and creates a `hotdox_ninjonas.hex` file and will atempt to flash your board | ||
9 | - if you get the following message: | ||
10 | ``` | ||
11 | dfu-programmer: no device present. | ||
12 | Error: Bootloader not found. Trying again in 5s. | ||
13 | ``` | ||
14 | - Press the reset button underneath your ErgoDox keyboard | ||
15 | - The following messages should show up and your board has successfuly been flashed | ||
16 | ``` | ||
17 | Bootloader Version: 0x00 (0) | ||
18 | Erasing flash... Success | ||
19 | Checking memory from 0x0 to 0x6FFF... Empty. | ||
20 | Checking memory from 0x0 to 0x5D7F... Empty. | ||
21 | 0% 100% Programming 0x5D80 bytes... | ||
22 | [>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>] Success | ||
23 | 0% 100% Reading 0x7000 bytes... | ||
24 | [>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>] Success | ||
25 | Validating... Success | ||
26 | 0x5D80 bytes written into 0x7000 bytes memory (83.48%). | ||
27 | ``` | ||
28 | - The alterenative is follow the steps on [Hotdox flashing guide](https://www.alpacakeyboards.com/flash/hot-dox-ergodox-76-flashing-instructions) | ||
29 | |||
30 | ## Keymap | ||
31 | This keymap is designed based off my typing habits and is subject to change. Information about custom user macros and tap dances can be found [here](https://github.com/ninjonas/qmk-yonas/tree/master/users/ninjonas). | ||
32 | |||
33 | ### QWERTY | ||
34 | ```c | ||
35 | /* Keymap 0: QWERTY | ||
36 | * | ||
37 | * ,--------------------------------------------------. ,--------------------------------------------------. | ||
38 | * | ` | 1 | 2 | 3 | 4 | 5 | Play | |K_LOCK | 6 | 7 | 8 | 9 | 0 | - | | ||
39 | * |--------+------+------+------+------+-------------| |-------+------+------+------+------+------+--------| | ||
40 | * | Tab | Q | W | E | R | T | | | | Y | U | I | O | P | \ | | ||
41 | * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| | ||
42 | * | Esc | A | S | D | F | G |------| |-------| H | J | K | L | ; | ' | | ||
43 | * |--------+------+------+------+------+------| [ | | ] |------+------+------+------+------+--------| | ||
44 | * | LShift | Z | X | C | V | B | | | | N | M | , | . | / | = | | ||
45 | * `--------+------+------+------+------+-------------' `--------------+------+------+------+------+--------' | ||
46 | * |M_SHFT| | Alt | | Ctl | | BkSP | Del |LOWER |M_ZOOM|M_PYNV| | ||
47 | * `----------------------------------' `----------------------------------' | ||
48 | * ,-------------. ,-------------. | ||
49 | * | Up | Down | | Left | Right| | ||
50 | * ,------|------|------| |------+------+------. | ||
51 | * | | | Home | | PgUp | | | | ||
52 | * | Space|Backsp|------| |------| Del |Enter | | ||
53 | * | |ace | End | | PgDn | | | | ||
54 | * `--------------------' `--------------------' | ||
55 | */ | ||
56 | ``` | ||
57 | |||
58 | ### LOWER | ||
59 | ```c | ||
60 | /* Keymap 1: LOWER | ||
61 | * | ||
62 | * ,--------------------------------------------------. ,----------------------------------------------------. | ||
63 | * | F11 | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F12 | | ||
64 | * |--------+------+------+------+------+-------------| |-------+------+------+------+------+-------+--------| | ||
65 | * | | | |KC_BRU| Play | Mute | | | | PgUp | Home | Up | End | | | | ||
66 | * |--------+------+------+------+------+------| | | |------+------+------+------+-------+--------| | ||
67 | * | | | |KC_BRD| Next |VolUp |------| |-------| PgDn | Left | Down |Right |K_LOCK | | | ||
68 | * |--------+------+------+------+------+------| | | |------+------+------+------+-------+--------| | ||
69 | * | | | | | Prev |VolDn | | | | | | | | | | | ||
70 | * `--------+------+------+------+------+-------------' `--------------+------+------+------+-------+--------' | ||
71 | * | | | | | | | | | |M_CODE | | | ||
72 | * `----------------------------------' `-----------------------------------' | ||
73 | * ,-------------. ,-------------. | ||
74 | * | | | | | | | ||
75 | * ,------|------|------| |------+------+------. | ||
76 | * | | | | | | | | | ||
77 | * | | |------| |------| | | | ||
78 | * | | | | | | | | | ||
79 | * `--------------------' `--------------------' | ||
80 | */ | ||
81 | ``` | ||
82 | |||
83 | ### RAISE | ||
84 | ```c | ||
85 | /* Keymap 2: RAISE | ||
86 | * | ||
87 | * ,--------------------------------------------------. ,----------------------------------------------------. | ||
88 | * | | | | |K_CSCN| | | | | | | | | | | | ||
89 | * |--------+------+------+------+------+-------------| |-------+------+------+------+------+-------+--------| | ||
90 | * | M_MAKE | | MS_1 | MS_U | MS_2 | WH_U | | | | | | | | | | | ||
91 | * |--------+------+------+------+------+------| | | |------+------+------+------+-------+--------| | ||
92 | * | M_VRSN | | MS_L | MS_D | MS_R | WH_D |------| |-------| | | | | | | | ||
93 | * |--------+------+------+------+------+------| | | |------+------+------+------+-------+--------| | ||
94 | * | M_FLSH | | | | | | | | | | | | | | | | ||
95 | * `--------+------+------+------+------+-------------' `--------------+------+------+------+-------+--------' | ||
96 | * | | | | | | | | | | | | | ||
97 | * `----------------------------------' `-----------------------------------' | ||
98 | * ,-------------. ,-------------. | ||
99 | * | | | | | | | ||
100 | * ,------|------|------| |------+------+------. | ||
101 | * | | | | | | | | | ||
102 | * | | |------| |------| | | | ||
103 | * | | | | | | | | | ||
104 | * `--------------------' `--------------------' | ||
105 | */ | ||
106 | ``` \ No newline at end of file | ||
diff --git a/keyboards/hotdox/keymaps/ninjonas/keymap.c b/keyboards/hotdox/keymaps/ninjonas/keymap.c new file mode 100644 index 000000000..603cc4c11 --- /dev/null +++ b/keyboards/hotdox/keymaps/ninjonas/keymap.c | |||
@@ -0,0 +1,348 @@ | |||
1 | /* Copyright 2019 @ninjonas | ||
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 | #include "ninjonas.h" | ||
18 | |||
19 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
20 | /* QWERTY | ||
21 | * | ||
22 | * ,--------------------------------------------------. ,--------------------------------------------------. | ||
23 | * | ` | 1 | 2 | 3 | 4 | 5 | Play | |K_LOCK | 6 | 7 | 8 | 9 | 0 | - | | ||
24 | * |--------+------+------+------+------+-------------| |-------+------+------+------+------+------+--------| | ||
25 | * | Tab | Q | W | E | R | T | | | | Y | U | I | O | P | \ | | ||
26 | * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| | ||
27 | * | Esc | A | S | D | F | G |------| |-------| H | J | K | L | ; | ' | | ||
28 | * |--------+------+------+------+------+------| [ | | ] |------+------+------+------+------+--------| | ||
29 | * | LShift | Z | X | C | V | B | | | | N | M | , | . | / | = | | ||
30 | * `--------+------+------+------+------+-------------' `--------------+------+------+------+------+--------' | ||
31 | * |M_SHFT| | Alt | | Ctl | | BkSP | Del |LOWER |M_ZOOM|M_PYNV| | ||
32 | * `----------------------------------' `----------------------------------' | ||
33 | * ,-------------. ,-------------. | ||
34 | * | Up | Down | | Left | Right| | ||
35 | * ,------|------|------| |------+------+------. | ||
36 | * | | | Home | | PgUp | | | | ||
37 | * | Space|Backsp|------| |------| Del |Enter | | ||
38 | * | |ace | End | | PgDn | | | | ||
39 | * `--------------------' `--------------------' | ||
40 | */ | ||
41 | [_QWERTY] = LAYOUT_ergodox_wrapper( | ||
42 | // LEFT HAND | ||
43 | _____________________NUM_LEFT_______________________, KC_MPLY, | ||
44 | _____________________QWERTY_L1______________________, KC_NO, | ||
45 | _____________________QWERTY_L2______________________, | ||
46 | _____________________QWERTY_L3______________________, T_LBRC, | ||
47 | M_SHFT, KC_NO, ________MOD_LEFT_________, | ||
48 | // LEFT THUMB | ||
49 | KC_UP, KC_DOWN, | ||
50 | KC_HOME, | ||
51 | LT_RAI, KC_BSPC, | ||
52 | KC_END, | ||
53 | |||
54 | //RIGHT HAND | ||
55 | K_LOCK, _____________________NUM_RIGHT______________________, | ||
56 | KC_NO, _____________________QWERTY_R1______________________, | ||
57 | _____________________QWERTY_R2______________________, | ||
58 | T_RBRC, _____________________QWERTY_R3______________________, | ||
59 | ________MOD_RIGHT________, M_ZOOM, M_PYNV, | ||
60 | // RIGHT THUMB | ||
61 | KC_LEFT, KC_RGHT, | ||
62 | KC_PGUP, | ||
63 | KC_PGDN, | ||
64 | KC_DEL, LT_LOW | ||
65 | ), | ||
66 | |||
67 | /* DVORAK | ||
68 | * | ||
69 | * ,--------------------------------------------------. ,--------------------------------------------------. | ||
70 | * | ` | 1 | 2 | 3 | 4 | 5 | Play | |K_LOCK | 6 | 7 | 8 | 9 | 0 | - | | ||
71 | * |--------+------+------+------+------+-------------| |-------+------+------+------+------+------+--------| | ||
72 | * | Tab | ' | , | . | P | Y | | | | F | G | C | R | L | \ | | ||
73 | * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| | ||
74 | * | Esc | A | O | E | U | I |------| |-------| D | H | T | N | S | / | | ||
75 | * |--------+------+------+------+------+------| [ | | ] |------+------+------+------+------+--------| | ||
76 | * | LShift | ; | Q | J | K | X | | | | B | M | W | V | Z | = | | ||
77 | * `--------+------+------+------+------+-------------' `--------------+------+------+------+------+--------' | ||
78 | * |M_SHFT| | Alt | | Ctl | | BkSP | Del |LOWER |M_ZOOM|M_PYNV| | ||
79 | * `----------------------------------' `----------------------------------' | ||
80 | * ,-------------. ,-------------. | ||
81 | * | Up | Down | | Left | Right| | ||
82 | * ,------|------|------| |------+------+------. | ||
83 | * | | | Home | | PgUp | | | | ||
84 | * | Space|Backsp|------| |------| Del |Enter | | ||
85 | * | |ace | End | | PgDn | | | | ||
86 | * `--------------------' `--------------------' | ||
87 | */ | ||
88 | [_DVORAK] = LAYOUT_ergodox_wrapper( | ||
89 | // LEFT HAND | ||
90 | _____________________NUM_LEFT_______________________, KC_MPLY, | ||
91 | _____________________DVORAK_L1______________________, KC_NO, | ||
92 | _____________________DVORAK_L2______________________, | ||
93 | _____________________DVORAK_L3______________________, T_LBRC, | ||
94 | M_SHFT, KC_NO, ________MOD_LEFT_________, | ||
95 | // LEFT THUMB | ||
96 | KC_UP, KC_DOWN, | ||
97 | KC_HOME, | ||
98 | LT_RAI, KC_BSPC, | ||
99 | KC_END, | ||
100 | |||
101 | //RIGHT HAND | ||
102 | K_LOCK, _____________________NUM_RIGHT______________________, | ||
103 | KC_NO, _____________________DVORAK_R1______________________, | ||
104 | _____________________DVORAK_R2______________________, | ||
105 | T_RBRC, _____________________DVORAK_R3______________________, | ||
106 | ________MOD_RIGHT________, M_ZOOM, M_PYNV, | ||
107 | // RIGHT THUMB | ||
108 | KC_LEFT, KC_RGHT, | ||
109 | KC_PGUP, | ||
110 | KC_PGDN, | ||
111 | KC_DEL, LT_LOW | ||
112 | ), | ||
113 | |||
114 | /* COLEMAK | ||
115 | * | ||
116 | * ,--------------------------------------------------. ,--------------------------------------------------. | ||
117 | * | ` | 1 | 2 | 3 | 4 | 5 | Play | |K_LOCK | 6 | 7 | 8 | 9 | 0 | - | | ||
118 | * |--------+------+------+------+------+-------------| |-------+------+------+------+------+------+--------| | ||
119 | * | Tab | Q | W | F | P | G | | | | J | L | U | Y | ; | \ | | ||
120 | * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| | ||
121 | * | Esc | A | R | S | T | D |------| |-------| H | N | E | I | O | ' | | ||
122 | * |--------+------+------+------+------+------| [ | | ] |------+------+------+------+------+--------| | ||
123 | * | LShift | Z | X | C | V | B | | | | K | M | , | . | / | = | | ||
124 | * `--------+------+------+------+------+-------------' `--------------+------+------+------+------+--------' | ||
125 | * |M_SHFT| | Alt | | Ctl | | BkSP | Del |LOWER |M_ZOOM|M_PYNV| | ||
126 | * `----------------------------------' `----------------------------------' | ||
127 | * ,-------------. ,-------------. | ||
128 | * | Up | Down | | Left | Right| | ||
129 | * ,------|------|------| |------+------+------. | ||
130 | * | | | Home | | PgUp | | | | ||
131 | * | Space|Backsp|------| |------| Del |Enter | | ||
132 | * | |ace | End | | PgDn | | | | ||
133 | * `--------------------' `--------------------' | ||
134 | */ | ||
135 | [_COLEMAK] = LAYOUT_ergodox_wrapper( | ||
136 | // LEFT HAND | ||
137 | _____________________NUM_LEFT_______________________, KC_MPLY, | ||
138 | _____________________COLEMAK_L1_____________________, KC_NO, | ||
139 | _____________________COLEMAK_L2_____________________, | ||
140 | _____________________COLEMAK_L3_____________________, T_LBRC, | ||
141 | M_SHFT, KC_NO, ________MOD_LEFT_________, | ||
142 | // LEFT THUMB | ||
143 | KC_UP, KC_DOWN, | ||
144 | KC_HOME, | ||
145 | LT_RAI, KC_BSPC, | ||
146 | KC_END, | ||
147 | |||
148 | //RIGHT HAND | ||
149 | K_LOCK, _____________________NUM_RIGHT______________________, | ||
150 | KC_NO, _____________________COLEMAK_R1_____________________, | ||
151 | _____________________COLEMAK_R2_____________________, | ||
152 | T_RBRC, _____________________COLEMAK_R3_____________________, | ||
153 | ________MOD_RIGHT________, M_ZOOM, M_PYNV, | ||
154 | // RIGHT THUMB | ||
155 | KC_LEFT, KC_RGHT, | ||
156 | KC_PGUP, | ||
157 | KC_PGDN, | ||
158 | KC_DEL, LT_LOW | ||
159 | ), | ||
160 | |||
161 | /* LOWER | ||
162 | * | ||
163 | * ,--------------------------------------------------. ,----------------------------------------------------. | ||
164 | * | F11 | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F12 | | ||
165 | * |--------+------+------+------+------+-------------| |-------+------+------+------+------+-------+--------| | ||
166 | * | | | |KC_BRU| Play | Mute | | | | PgUp | Home | Up | End | | | | ||
167 | * |--------+------+------+------+------+------| | | |------+------+------+------+-------+--------| | ||
168 | * | | | |KC_BRD| Next |VolUp |------| |-------| PgDn | Left | Down |Right |K_LOCK | | | ||
169 | * |--------+------+------+------+------+------| | | |------+------+------+------+-------+--------| | ||
170 | * | | | | | Prev |VolDn | | | | | | | | | | | ||
171 | * `--------+------+------+------+------+-------------' `--------------+------+------+------+-------+--------' | ||
172 | * | | | | | | | | | |M_CODE | | | ||
173 | * `----------------------------------' `-----------------------------------' | ||
174 | * ,-------------. ,-------------. | ||
175 | * | | | | | | | ||
176 | * ,------|------|------| |------+------+------. | ||
177 | * | | | | | | | | | ||
178 | * | | |------| |------| | | | ||
179 | * | | | | | | | | | ||
180 | * `--------------------' `--------------------' | ||
181 | */ | ||
182 | [_LOWER] = LAYOUT_ergodox_wrapper( | ||
183 | //LEFT HAND | ||
184 | _____________________FUNC_LEFT______________________, _______, | ||
185 | _______, _______, _______, _________MEDIA_1_________, _______, | ||
186 | _______, _______, _______, _________MEDIA_2_________, | ||
187 | _______, _______, _______, _________MEDIA_3_________, _______, | ||
188 | _______, _______, _______, _______, _______, | ||
189 | // LEFT THUMB | ||
190 | _______, _______, | ||
191 | _______, | ||
192 | _______, _______, | ||
193 | _______, | ||
194 | |||
195 | //RIGHT HAND | ||
196 | _______, _____________________FUNC_RIGHT_____________________, | ||
197 | _______, _______________NAV_1______________, _______, _______, | ||
198 | _______________NAV_2______________, K_LOCK, _______, | ||
199 | _______, _______, _______, _______, _______, _______, _______, | ||
200 | _______, _______, _______, M_CODE, _______, | ||
201 | // RIGHT THUMB | ||
202 | _______, _______, | ||
203 | _______, | ||
204 | _______, | ||
205 | _______, _______ | ||
206 | ), | ||
207 | |||
208 | /* RAISE | ||
209 | * | ||
210 | * ,--------------------------------------------------. ,----------------------------------------------------. | ||
211 | * | | | | |K_CSCN| | | | | | | | | | | | ||
212 | * |--------+------+------+------+------+-------------| |-------+------+------+------+------+-------+--------| | ||
213 | * | | | MS_1 | MS_U | MS_2 | WH_U | | | | | | | | | | | ||
214 | * |--------+------+------+------+------+------| | | |------+------+------+------+-------+--------| | ||
215 | * | | | MS_L | MS_D | MS_R | WH_D |------| |-------| | | | | | | | ||
216 | * |--------+------+------+------+------+------| | | |------+------+------+------+-------+--------| | ||
217 | * | | | | | | | | | | | | | | | | | ||
218 | * `--------+------+------+------+------+-------------' `--------------+------+------+------+-------+--------' | ||
219 | * | | | | | | | | | | | | | ||
220 | * `----------------------------------' `-----------------------------------' | ||
221 | * ,-------------. ,-------------. | ||
222 | * | | | | | | | ||
223 | * ,------|------|------| |------+------+------. | ||
224 | * | | | | | | | | | ||
225 | * | | |------| |------| | | | ||
226 | * | | | | | | | | | ||
227 | * `--------------------' `--------------------' | ||
228 | */ | ||
229 | [_RAISE] = LAYOUT_ergodox_wrapper( | ||
230 | //LEFT HAND | ||
231 | XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, K_CSCN, XXXXXXX, XXXXXXX, | ||
232 | XXXXXXX, XXXXXXX, _____________MOUSE_1______________, XXXXXXX, | ||
233 | XXXXXXX, XXXXXXX, _____________MOUSE_2______________, | ||
234 | XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, | ||
235 | XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, | ||
236 | // LEFT THUMB | ||
237 | _______, _______, | ||
238 | _______, | ||
239 | _______, _______, | ||
240 | _______, | ||
241 | |||
242 | //RIGHT HAND | ||
243 | XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, | ||
244 | XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, | ||
245 | XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, | ||
246 | XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, | ||
247 | XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, | ||
248 | // RIGHT THUMB | ||
249 | _______, _______, | ||
250 | _______, | ||
251 | _______, | ||
252 | _______, _______ | ||
253 | ), | ||
254 | |||
255 | /* ADJUST | ||
256 | * | ||
257 | * ,--------------------------------------------------. ,----------------------------------------------------. | ||
258 | * | | | | | | | | | | | | |COLMAK|DVORAK |QWERTY | | ||
259 | * |--------+------+------+------+------+-------------| |-------+------+------+------+------+-------+--------| | ||
260 | * | M_MAKE | | | | | | | | | | | | | | | | ||
261 | * |--------+------+------+------+------+------| | | |------+------+------+------+-------+--------| | ||
262 | * | M_VRSN | | | | | |------| |-------| | | | | | | | ||
263 | * |--------+------+------+------+------+------| | | |------+------+------+------+-------+--------| | ||
264 | * | M_FLSH | | | | | | | | | | | | | | | | ||
265 | * `--------+------+------+------+------+-------------' `--------------+------+------+------+-------+--------' | ||
266 | * | | | | | | | | | | | | | ||
267 | * `----------------------------------' `-----------------------------------' | ||
268 | * ,-------------. ,-------------. | ||
269 | * | | | | | | | ||
270 | * ,------|------|------| |------+------+------. | ||
271 | * | | | | | | | | | ||
272 | * | | |------| |------| | | | ||
273 | * | | | | | | | | | ||
274 | * `--------------------' `--------------------' | ||
275 | */ | ||
276 | [_ADJUST] = LAYOUT_ergodox_wrapper( | ||
277 | //LEFT HAND | ||
278 | XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, | ||
279 | M_MAKE, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, | ||
280 | M_VRSN, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, | ||
281 | M_FLSH, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, | ||
282 | XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, | ||
283 | // LEFT THUMB | ||
284 | _______, _______, | ||
285 | _______, | ||
286 | _______, _______, | ||
287 | _______, | ||
288 | |||
289 | //RIGHT HAND | ||
290 | XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, COLEMAK, DVORAK, QWERTY, | ||
291 | XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, | ||
292 | XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, | ||
293 | XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, | ||
294 | XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, | ||
295 | // RIGHT THUMB | ||
296 | _______, _______, | ||
297 | _______, | ||
298 | _______, | ||
299 | _______, _______ | ||
300 | ), | ||
301 | /* Keymap XX: TEMPLATE | ||
302 | * | ||
303 | * ,--------------------------------------------------. ,----------------------------------------------------. | ||
304 | * | | | | | | | | | | | | | | | | | ||
305 | * |--------+------+------+------+------+-------------| |-------+------+------+------+------+-------+--------| | ||
306 | * | | | | | | | | | | | | | | | | | ||
307 | * |--------+------+------+------+------+------| | | |------+------+------+------+-------+--------| | ||
308 | * | | | | | | |------| |-------| | | | | | | | ||
309 | * |--------+------+------+------+------+------| | | |------+------+------+------+-------+--------| | ||
310 | * | | | | | | | | | | | | | | | | | ||
311 | * `--------+------+------+------+------+-------------' `--------------+------+------+------+-------+--------' | ||
312 | * | | | | | | | | | | | | | ||
313 | * `----------------------------------' `-----------------------------------' | ||
314 | * ,-------------. ,-------------. | ||
315 | * | | | | | | | ||
316 | * ,------|------|------| |------+------+------. | ||
317 | * | | | | | | | | | ||
318 | * | | |------| |------| | | | ||
319 | * | | | | | | | | | ||
320 | * `--------------------' `--------------------' | ||
321 | [_XXLAYER] = LAYOUT_ergodox_wrapper( | ||
322 | //LEFT HAND | ||
323 | _______, _______, _______, _______, _______, _______, _______, | ||
324 | _______, _______, _______, _______, _______, _______, _______, | ||
325 | _______, _______, _______, _______, _______, _______, | ||
326 | _______, _______, _______, _______, _______, _______, _______, | ||
327 | _______, _______, _______, _______, _______, | ||
328 | // LEFT THUMB | ||
329 | _______, _______, | ||
330 | _______, | ||
331 | _______, _______, | ||
332 | _______, | ||
333 | |||
334 | //RIGHT HAND | ||
335 | _______, _______, _______, _______, _______, _______, _______, | ||
336 | _______, _______, _______, _______, _______, _______, _______, | ||
337 | _______, _______, _______, _______, _______, _______, | ||
338 | _______, _______, _______, _______, _______, _______, _______, | ||
339 | _______, _______, _______, _______, _______, | ||
340 | // RIGHT THUMB | ||
341 | _______, _______, | ||
342 | _______, | ||
343 | _______, | ||
344 | _______, _______ | ||
345 | ), | ||
346 | |||
347 | */ | ||
348 | }; \ No newline at end of file | ||
diff --git a/keyboards/lily58/keymaps/ninjonas/README.md b/keyboards/lily58/keymaps/ninjonas/README.md new file mode 100644 index 000000000..73f7f9d94 --- /dev/null +++ b/keyboards/lily58/keymaps/ninjonas/README.md | |||
@@ -0,0 +1,136 @@ | |||
1 | # ninjonas Keymap for [Lily58 Pro](https://github.com/kata0510/Lily58) | ||
2 | |||
3 | ## Keymap | ||
4 | This keymap is designed based off my typing habits and is subject to change. Information about custom user macros and tap dances can be found [here](../../../../users/ninjonas). | ||
5 | |||
6 | > Make sure you update QMK's lily58 config.h TAPPING_TERM to 200ms or this won't compile | ||
7 | |||
8 | More information about the Lily58 pro keyboard can be found [here](https://yuchi-kbd.hatenablog.com/entry/2018/12/23/214342) | ||
9 | |||
10 | ### QWERTY | ||
11 | ```c | ||
12 | /* QWERTY | ||
13 | * ,-----------------------------------------. ,-----------------------------------------. | ||
14 | * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | - | | ||
15 | * |------+------+------+------+------+------| |------+------+------+------+------+------| | ||
16 | * | Tab | Q | W | E | R | T | | Y | U | I | O | P | \ | | ||
17 | * |------+------+------+------+------+------| |------+------+------+------+------+------| | ||
18 | * | ESC | A | S | D | F | G |-------. ,-------| H | J | K | L | ; | ' | | ||
19 | * |------+------+------+------+------+------| [ | | ] |------+------+------+------+------+------| | ||
20 | * |LShift| Z | X | C | V | B |-------| |-------| N | M | , | . | / | = | | ||
21 | * `-----------------------------------------/ / \ \-----------------------------------------' | ||
22 | * | Alt | | Ctrl | /Space / \Enter \ |BackSP| Del |LOWER | | ||
23 | * | | | |/ / \ \ | | | | | ||
24 | * `----------------------------' '------''--------------------' | ||
25 | */ | ||
26 | ``` | ||
27 | |||
28 | ### DVORAK | ||
29 | ```c | ||
30 | /* DVORAK | ||
31 | * ,-----------------------------------------. ,-----------------------------------------. | ||
32 | * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | - | | ||
33 | * |------+------+------+------+------+------| |------+------+------+------+------+------| | ||
34 | * | Tab | ' | , | . | P | Y | | F | G | C | R | L | \ | | ||
35 | * |------+------+------+------+------+------| |------+------+------+------+------+------| | ||
36 | * | ESC | A | O | E | U | I |-------. ,-------| D | H | T | N | S | / | | ||
37 | * |------+------+------+------+------+------| [ | | ] |------+------+------+------+------+------| | ||
38 | * |LShift| ; | Q | J | K | X |-------| |-------| B | M | W | V | Z | = | | ||
39 | * `-----------------------------------------/ / \ \-----------------------------------------' | ||
40 | * | Alt | | Ctrl | /Space / \Enter \ |BackSP| Del |LOWER | | ||
41 | * | | | |/ / \ \ | | | | | ||
42 | * `----------------------------' '------''--------------------' | ||
43 | */ | ||
44 | ``` | ||
45 | |||
46 | ### COLEMAK | ||
47 | ```c | ||
48 | /* COLEMAK | ||
49 | * ,-----------------------------------------. ,-----------------------------------------. | ||
50 | * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | - | | ||
51 | * |------+------+------+------+------+------| |------+------+------+------+------+------| | ||
52 | * | Tab | Q | W | F | P | G | | J | L | U | Y | ; | \ | | ||
53 | * |------+------+------+------+------+------| |------+------+------+------+------+------| | ||
54 | * | ESC | A | R | S | T | D |-------. ,-------| H | N | E | I | O | ' | | ||
55 | * |------+------+------+------+------+------| [ | | ] |------+------+------+------+------+------| | ||
56 | * |LShift| Z | X | C | V | B |-------| |-------| K | M | , | . | / | = | | ||
57 | * `-----------------------------------------/ / \ \-----------------------------------------' | ||
58 | * | Alt | | Ctrl | /Space / \Enter \ |BackSP| Del |LOWER | | ||
59 | * | | | |/ / \ \ | | | | | ||
60 | * `----------------------------' '------''--------------------' | ||
61 | */ | ||
62 | ``` | ||
63 | |||
64 | ### LOWER | ||
65 | ```c | ||
66 | /* LOWER | ||
67 | * ,------------------------------------------. ,------------------------------------------. | ||
68 | * | F11 | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | F12 | | ||
69 | * |------+------+------+-------+------+------| |------+------+------+------+-------+------| | ||
70 | * | | | |KC_BRIU| Play | Mute | | PgUp | Home | Up | End | | | | ||
71 | * |------+------+------+-------+------+------| |------+------+------+------+-------+------| | ||
72 | * | | | |KC_BRID| Next |VolUp |-------. ,-------| PgDn | Left | Down |Right |K_LOCK | | | ||
73 | * |------+------+------+-------+------+------| | | |------+------+------+------+-------+------| | ||
74 | * | |M_SHFT| | | Prev |VolDn |-------| |-------| | | | |M_ZOOM |M_PYNV| | ||
75 | * `------------------------------------------/ / \ \------------------------------------------' | ||
76 | * | | | | / / \ \ | |M_CODE| | | ||
77 | * | | | |/ / \ \ | | | | | ||
78 | * `----------------------------' '------''--------------------' | ||
79 | */ | ||
80 | ``` | ||
81 | |||
82 | ### RAISE | ||
83 | ```c | ||
84 | /* RAISE | ||
85 | * ,-----------------------------------------. ,-----------------------------------------. | ||
86 | * | | | | |K_CSCN| | | | | | | | | | ||
87 | * |------+------+------+------+------+------| |------+------+------+------+------+------| | ||
88 | * | | | MS_1 | MS_U | MS_2 | WH_U | | | | | | | | | ||
89 | * |------+------+------+------+------+------| |------+------+------+------+------+------| | ||
90 | * | | | MS_L | MS_D | MS_R | WH_D |-------. ,-------| | | | | | | | ||
91 | * |------+------+------+------+------+------| | | |------+------+------+------+------+------| | ||
92 | * | | | | | | |-------| |-------| | | | | | | | ||
93 | * `-----------------------------------------/ / \ \-----------------------------------------' | ||
94 | * | | | | / / \ \ | | | | | ||
95 | * | | | |/ / \ \ | | | | | ||
96 | * `----------------------------' '------''--------------------' | ||
97 | */ | ||
98 | ``` | ||
99 | |||
100 | ### ADJUST | ||
101 | ```c | ||
102 | /* ADJUST | ||
103 | * ,------------------------------------------. ,-----------------------------------------. | ||
104 | * |EEP_RST| | | | | | | | | |COLMAK|DVORAK|QWERTY| | ||
105 | * |-------+------+------+------+------+------| |------+------+------+------+------+------| | ||
106 | * |M_MAKE | | | | | | | | | | | | | | ||
107 | * |-------+------+------+------+------+------| |------+------+------+------+------+------| | ||
108 | * |M_VRSN | | | | | |-------. ,-------| | | | | | | | ||
109 | * |-------+------+------+------+------+------| | | |------+------+------+------+------+------| | ||
110 | * |M_FLSH | | | | | |-------| |-------| | | | | | | | ||
111 | * `------------------------------------------/ / \ \-----------------------------------------' | ||
112 | * | | | | / / \ \ | | | | | ||
113 | * | | | |/ / \ \ | | | | | ||
114 | * `----------------------------' '------''--------------------' | ||
115 | */ | ||
116 | ``` | ||
117 | |||
118 | <!-- | ||
119 | ### TEMPLATE | ||
120 | ```c | ||
121 | /* TEMPLATE | ||
122 | * ,-----------------------------------------. ,-----------------------------------------. | ||
123 | * | | | | | | | | | | | | | | | ||
124 | * |------+------+------+------+------+------| |------+------+------+------+------+------| | ||
125 | * | | | | | | | | | | | | | | | ||
126 | * |------+------+------+------+------+------| |------+------+------+------+------+------| | ||
127 | * | | | | | | |-------. ,-------| | | | | | | | ||
128 | * |------+------+------+------+------+------| | | |------+------+------+------+------+------| | ||
129 | * | | | | | | |-------| |-------| | | | | | | | ||
130 | * `-----------------------------------------/ / \ \-----------------------------------------' | ||
131 | * | | | | / / \ \ | | | | | ||
132 | * | | | |/ / \ \ | | | | | ||
133 | * `----------------------------' '------''--------------------' | ||
134 | */ | ||
135 | ``` | ||
136 | --> \ No newline at end of file | ||
diff --git a/keyboards/lily58/keymaps/ninjonas/config.h b/keyboards/lily58/keymaps/ninjonas/config.h new file mode 100644 index 000000000..7a5587d56 --- /dev/null +++ b/keyboards/lily58/keymaps/ninjonas/config.h | |||
@@ -0,0 +1,31 @@ | |||
1 | /* | ||
2 | This is the c configuration file for the keymap | ||
3 | |||
4 | Copyright 2012 Jun Wako <wakojun@gmail.com> | ||
5 | Copyright 2015 Jack Humbert | ||
6 | |||
7 | This program is free software: you can redistribute it and/or modify | ||
8 | it under the terms of the GNU General Public License as published by | ||
9 | the Free Software Foundation, either version 2 of the License, or | ||
10 | (at your option) any later version. | ||
11 | |||
12 | This program is distributed in the hope that it will be useful, | ||
13 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
15 | GNU General Public License for more details. | ||
16 | |||
17 | You should have received a copy of the GNU General Public License | ||
18 | along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
19 | */ | ||
20 | |||
21 | #pragma once | ||
22 | |||
23 | /* Select hand configuration */ | ||
24 | |||
25 | #define MASTER_LEFT | ||
26 | // #define MASTER_RIGHT | ||
27 | // #define EE_HANDS | ||
28 | |||
29 | #define SSD1306OLED | ||
30 | #define USE_SERIAL_PD2 | ||
31 | #define TAPPING_FORCE_HOLD \ No newline at end of file | ||
diff --git a/keyboards/lily58/keymaps/ninjonas/keymap.c b/keyboards/lily58/keymaps/ninjonas/keymap.c new file mode 100644 index 000000000..81436aee3 --- /dev/null +++ b/keyboards/lily58/keymaps/ninjonas/keymap.c | |||
@@ -0,0 +1,152 @@ | |||
1 | /* Copyright 2019 @ninjonas | ||
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 | #include "ninjonas.h" | ||
18 | |||
19 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
20 | |||
21 | /* QWERTY | ||
22 | * ,-----------------------------------------. ,-----------------------------------------. | ||
23 | * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | - | | ||
24 | * |------+------+------+------+------+------| |------+------+------+------+------+------| | ||
25 | * | Tab | Q | W | E | R | T | | Y | U | I | O | P | \ | | ||
26 | * |------+------+------+------+------+------| |------+------+------+------+------+------| | ||
27 | * | ESC | A | S | D | F | G |-------. ,-------| H | J | K | L | ; | ' | | ||
28 | * |------+------+------+------+------+------| [ | | ] |------+------+------+------+------+------| | ||
29 | * |LShift| Z | X | C | V | B |-------| |-------| N | M | , | . | / | = | | ||
30 | * `-----------------------------------------/ / \ \-----------------------------------------' | ||
31 | * | Alt | | Ctrl | /Space / \Enter \ |BackSP| Del |LOWER | | ||
32 | * | | | |/ / \ \ | | | | | ||
33 | * `----------------------------' '------''--------------------' | ||
34 | */ | ||
35 | [_QWERTY] = LAYOUT_wrapper( | ||
36 | _____________________NUM_LEFT_______________________, _____________________NUM_RIGHT______________________, \ | ||
37 | _____________________QWERTY_L1______________________, _____________________QWERTY_R1______________________, \ | ||
38 | _____________________QWERTY_L2______________________, _____________________QWERTY_R2______________________, \ | ||
39 | _____________________QWERTY_L3______________________, T_LBRC, T_RBRC, _____________________QWERTY_R3______________________, \ | ||
40 | ________MOD_LEFT_________, LT_RAI, LT_LOW, ________MOD_RIGHT________ \ | ||
41 | ), | ||
42 | |||
43 | /* DVORAK | ||
44 | * ,-----------------------------------------. ,-----------------------------------------. | ||
45 | * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | - | | ||
46 | * |------+------+------+------+------+------| |------+------+------+------+------+------| | ||
47 | * | Tab | ' | , | . | P | Y | | F | G | C | R | L | \ | | ||
48 | * |------+------+------+------+------+------| |------+------+------+------+------+------| | ||
49 | * | ESC | A | O | E | U | I |-------. ,-------| D | H | T | N | S | / | | ||
50 | * |------+------+------+------+------+------| [ | | ] |------+------+------+------+------+------| | ||
51 | * |LShift| ; | Q | J | K | X |-------| |-------| B | M | W | V | Z | = | | ||
52 | * `-----------------------------------------/ / \ \-----------------------------------------' | ||
53 | * | Alt | | Ctrl | /Space / \Enter \ |BackSP| Del |LOWER | | ||
54 | * | | | |/ / \ \ | | | | | ||
55 | * `----------------------------' '------''--------------------' | ||
56 | */ | ||
57 | [_DVORAK] = LAYOUT_wrapper( | ||
58 | _____________________NUM_LEFT_______________________, _____________________NUM_RIGHT______________________, \ | ||
59 | _____________________DVORAK_L1______________________, _____________________DVORAK_R1______________________, \ | ||
60 | _____________________DVORAK_L2______________________, _____________________DVORAK_R2______________________, \ | ||
61 | _____________________DVORAK_L3______________________, T_LBRC, T_RBRC, _____________________DVORAK_R3______________________, \ | ||
62 | ________MOD_LEFT_________, LT_RAI, LT_LOW, ________MOD_RIGHT________ \ | ||
63 | ), | ||
64 | |||
65 | /* COLEMAK | ||
66 | * ,-----------------------------------------. ,-----------------------------------------. | ||
67 | * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | - | | ||
68 | * |------+------+------+------+------+------| |------+------+------+------+------+------| | ||
69 | * | Tab | Q | W | F | P | G | | J | L | U | Y | ; | \ | | ||
70 | * |------+------+------+------+------+------| |------+------+------+------+------+------| | ||
71 | * | ESC | A | R | S | T | D |-------. ,-------| H | N | E | I | O | ' | | ||
72 | * |------+------+------+------+------+------| [ | | ] |------+------+------+------+------+------| | ||
73 | * |LShift| Z | X | C | V | B |-------| |-------| K | M | , | . | / | = | | ||
74 | * `-----------------------------------------/ / \ \-----------------------------------------' | ||
75 | * | Alt | | Ctrl | /Space / \Enter \ |BackSP| Del |LOWER | | ||
76 | * | | | |/ / \ \ | | | | | ||
77 | * `----------------------------' '------''--------------------' | ||
78 | */ | ||
79 | [_COLEMAK] = LAYOUT_wrapper( | ||
80 | _____________________NUM_LEFT_______________________, _____________________NUM_RIGHT______________________, \ | ||
81 | _____________________COLEMAK_L1_____________________, _____________________COLEMAK_R1_____________________, \ | ||
82 | _____________________COLEMAK_L2_____________________, _____________________COLEMAK_R2_____________________, \ | ||
83 | _____________________COLEMAK_L3_____________________, T_LBRC, T_RBRC, _____________________COLEMAK_R3_____________________, \ | ||
84 | ________MOD_LEFT_________, LT_RAI, LT_LOW, ________MOD_RIGHT________ \ | ||
85 | ), | ||
86 | |||
87 | /* LOWER | ||
88 | * ,------------------------------------------. ,------------------------------------------. | ||
89 | * | F11 | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | F12 | | ||
90 | * |------+------+------+-------+------+------| |------+------+------+------+-------+------| | ||
91 | * | | | |KC_BRIU| Play | Mute | | PgUp | Home | Up | End | | | | ||
92 | * |------+------+------+-------+------+------| |------+------+------+------+-------+------| | ||
93 | * | | | |KC_BRID| Next |VolUp |-------. ,-------| PgDn | Left | Down |Right |K_LOCK | | | ||
94 | * |------+------+------+-------+------+------| | | |------+------+------+------+-------+------| | ||
95 | * |M_SHFT| | | | Prev |VolDn |-------| |-------| | | | |M_ZOOM |M_PYNV| | ||
96 | * `------------------------------------------/ / \ \------------------------------------------' | ||
97 | * | | | | / / \ \ | |M_CODE| | | ||
98 | * | | | |/ / \ \ | | | | | ||
99 | * `----------------------------' '------''--------------------' | ||
100 | */ | ||
101 | [_LOWER] = LAYOUT_wrapper( \ | ||
102 | _____________________FUNC_LEFT______________________, _____________________FUNC_RIGHT_____________________, \ | ||
103 | _______, _______, _______, _________MEDIA_1_________, _______________NAV_1______________, _______, _______, \ | ||
104 | _______, _______, _______, _________MEDIA_2_________, _______________NAV_2______________, K_LOCK, _______, \ | ||
105 | M_SHFT, _______, _______, _________MEDIA_3_________, _______, _______, _______, _______, _______, _______, M_ZOOM, M_PYNV, \ | ||
106 | __________________________________, _______, _______, M_CODE, _______ \ | ||
107 | ), | ||
108 | |||
109 | /* RAISE | ||
110 | * ,-----------------------------------------. ,-----------------------------------------. | ||
111 | * | | | | |K_CSCN| | | | | | | | | | ||
112 | * |------+------+------+------+------+------| |------+------+------+------+------+------| | ||
113 | * | | | MS_1 | MS_U | MS_2 | WH_U | | | | | | | | | ||
114 | * |------+------+------+------+------+------| |------+------+------+------+------+------| | ||
115 | * | | | MS_L | MS_D | MS_R | WH_D |-------. ,-------| | | | | | | | ||
116 | * |------+------+------+------+------+------| | | |------+------+------+------+------+------| | ||
117 | * | | | | | | |-------| |-------| | | | | | | | ||
118 | * `-----------------------------------------/ / \ \-----------------------------------------' | ||
119 | * | | | | / / \ \ | | | | | ||
120 | * | | | |/ / \ \ | | | | | ||
121 | * `----------------------------' '------''--------------------' | ||
122 | */ | ||
123 | [_RAISE] = LAYOUT_wrapper( \ | ||
124 | XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, K_CSCN, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \ | ||
125 | XXXXXXX, XXXXXXX, _____________MOUSE_1______________, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \ | ||
126 | XXXXXXX, XXXXXXX, _____________MOUSE_2______________, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \ | ||
127 | XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,\ | ||
128 | __________________________________, __________________________________ \ | ||
129 | ), | ||
130 | |||
131 | /* ADJUST | ||
132 | * ,------------------------------------------. ,-----------------------------------------. | ||
133 | * |EEP_RST| | | | | | | | | |COLMAK|DVORAK|QWERTY| | ||
134 | * |-------+------+------+------+------+------| |------+------+------+------+------+------| | ||
135 | * | M_MAKE| | | | | | | | | | | | | | ||
136 | * |-------+------+------+------+------+------| |------+------+------+------+------+------| | ||
137 | * | M_VRSN| | | | | |-------. ,-------| | | | | | | | ||
138 | * |-------+------+------+------+------+------| | | |------+------+------+------+------+------| | ||
139 | * | M_FLSH| | | | | |-------| |-------| | | | | | | | ||
140 | * `------------------------------------------/ / \ \-----------------------------------------' | ||
141 | * | | | | / / \ \ | | | | | ||
142 | * | | | |/ / \ \ | | | | | ||
143 | * `----------------------------' '------''--------------------' | ||
144 | */ | ||
145 | [_ADJUST] = LAYOUT_wrapper( \ | ||
146 | EEP_RST, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, COLEMAK, DVORAK, QWERTY, \ | ||
147 | M_MAKE, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \ | ||
148 | M_VRSN, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \ | ||
149 | M_FLSH, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,\ | ||
150 | __________________________________, __________________________________ \ | ||
151 | ), | ||
152 | }; \ No newline at end of file | ||
diff --git a/keyboards/lily58/keymaps/ninjonas/layer_state_reader.c b/keyboards/lily58/keymaps/ninjonas/layer_state_reader.c new file mode 100644 index 000000000..883eaca03 --- /dev/null +++ b/keyboards/lily58/keymaps/ninjonas/layer_state_reader.c | |||
@@ -0,0 +1,37 @@ | |||
1 | #include QMK_KEYBOARD_H | ||
2 | #include <stdio.h> | ||
3 | #include "lily58.h" | ||
4 | #include "ninjonas.h" | ||
5 | |||
6 | char layer_state_str[24]; | ||
7 | |||
8 | const char *read_layer_state(void) { | ||
9 | switch (biton32(layer_state)) | ||
10 | { | ||
11 | case _RAISE: | ||
12 | snprintf(layer_state_str, sizeof(layer_state_str), "Layer: Raise"); | ||
13 | break; | ||
14 | case _LOWER: | ||
15 | snprintf(layer_state_str, sizeof(layer_state_str), "Layer: Lower"); | ||
16 | break; | ||
17 | case _ADJUST: | ||
18 | snprintf(layer_state_str, sizeof(layer_state_str), "Layer: Adjust"); | ||
19 | break; | ||
20 | default: | ||
21 | switch (biton32(default_layer_state)) { | ||
22 | case _COLEMAK: | ||
23 | snprintf(layer_state_str, sizeof(layer_state_str), "Layer: Colemak"); | ||
24 | break; | ||
25 | case _DVORAK: | ||
26 | snprintf(layer_state_str, sizeof(layer_state_str), "Layer: Dvorak"); | ||
27 | break; | ||
28 | case _QWERTY: | ||
29 | snprintf(layer_state_str, sizeof(layer_state_str), "Layer: Qwerty"); | ||
30 | break; | ||
31 | default: | ||
32 | snprintf(layer_state_str, sizeof(layer_state_str), "Layer: Undef-%ld", layer_state); | ||
33 | } | ||
34 | } | ||
35 | |||
36 | return layer_state_str; | ||
37 | } \ No newline at end of file | ||
diff --git a/keyboards/lily58/keymaps/ninjonas/rules.mk b/keyboards/lily58/keymaps/ninjonas/rules.mk new file mode 100644 index 000000000..4ea023572 --- /dev/null +++ b/keyboards/lily58/keymaps/ninjonas/rules.mk | |||
@@ -0,0 +1,5 @@ | |||
1 | # If you want to change the display of OLED, you need to change here | ||
2 | SRC += ./lib/glcdfont.c \ | ||
3 | layer_state_reader.c \ | ||
4 | ./lib/logo_reader.c \ | ||
5 | ./lib/keylogger.c \ | ||
diff --git a/keyboards/pinky/3/keymaps/ninjonas/README.md b/keyboards/pinky/3/keymaps/ninjonas/README.md new file mode 100644 index 000000000..8db995d4e --- /dev/null +++ b/keyboards/pinky/3/keymaps/ninjonas/README.md | |||
@@ -0,0 +1,142 @@ | |||
1 | # ninjonas Keymap for [Pinky3](https://github.com/tamanishi/Pinky3) | ||
2 | |||
3 | ## Keymap | ||
4 | This keymap is designed based off my typing habits and is subject to change. Information about custom user macros and tap dances can be found [here](../../../../../users/ninjonas). | ||
5 | |||
6 | More information about the Pinky3 keyboard can be found [here](https://github.com/tamanishi/Pinky3) | ||
7 | |||
8 | ### QWERTY | ||
9 | ```c | ||
10 | /* | ||
11 | ,---------------------------------------------------------------------. ,---------------------------------------------------------------------. | ||
12 | | Tab| Q| W| E| R| T| Play| | Mute| Y| U| I| O| P| \| | ||
13 | |---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------| | ||
14 | | Esc/Caps| A| S| D| F| G| [| | ]| H| J| K| L| ;| '| | ||
15 | |---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------| | ||
16 | | Shift| Z| X| C| V| B| Spc/RAI| | Ent/LOW| N| M| ,| .| /| =| | ||
17 | `---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------' | ||
18 | | ALT| | CTRL| Spc/NUM| | Ent/FUNC| BckSpace| Del| LOWER| | ||
19 | `---------------------------------------' `---------------------------------------' | ||
20 | */ | ||
21 | ``` | ||
22 | |||
23 | ### DVORAK | ||
24 | ```c | ||
25 | /* | ||
26 | ,---------------------------------------------------------------------. ,---------------------------------------------------------------------. | ||
27 | | Tab| '| ,| .| P| Y| Play| | Mute| F| G| C| R| L| \| | ||
28 | |---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------| | ||
29 | | Esc/Caps| A| O| E| U| I| [| | ]| D| H| T| N| S| /| | ||
30 | |---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------| | ||
31 | | Shift| ;| Q| J| K| X| Spc/RAI| | Ent/LOW| B| M| W| V| Z| =| | ||
32 | `---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------' | ||
33 | | ALT| | CTRL| Spc/NUM| | Ent/FUNC| BckSpace| Del| LOWER| | ||
34 | `---------------------------------------' `---------------------------------------' | ||
35 | */ | ||
36 | ``` | ||
37 | |||
38 | ### COLEMAK | ||
39 | ```c | ||
40 | /* | ||
41 | ,---------------------------------------------------------------------. ,---------------------------------------------------------------------. | ||
42 | | Tab| Q| W| F| P| G| Play| | Mute| J| L| U| Y| ;| \| | ||
43 | |---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------| | ||
44 | | Esc/Caps| A| R| S| T| D| [| | ]| H| N| E| I| O| '| | ||
45 | |---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------| | ||
46 | | Shift| Z| X| C| V| B| Spc/RAI| | Ent/LOW| K| M| ,| .| /| =| | ||
47 | `---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------' | ||
48 | | ALT| | CTRL| Spc/NUM| | Ent/FUNC| BckSpace| Del| LOWER| | ||
49 | `---------------------------------------' `---------------------------------------' | ||
50 | */ | ||
51 | ``` | ||
52 | |||
53 | ### LOWER | ||
54 | ```c | ||
55 | /* | ||
56 | ,---------------------------------------------------------------------. ,---------------------------------------------------------------------. | ||
57 | | | | | BriUp| Play| Mute| K_CSCN| | | PgUp| Home| Up| End| | | | ||
58 | |---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------| | ||
59 | | | | | BriDn| Next| VolUp| | | | PgDn| Left| Down| Right| K_LOCK| | | ||
60 | |---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------| | ||
61 | | M_SHFT| | | | Prev| VolDn| | | | | | | | M_ZOOM| M_PYNV| | ||
62 | `---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------' | ||
63 | | | | | | | | | M_CODE| | | ||
64 | `---------------------------------------' `---------------------------------------' | ||
65 | */ | ||
66 | ``` | ||
67 | |||
68 | ### RAISE | ||
69 | ```c | ||
70 | /* | ||
71 | ,---------------------------------------------------------------------. ,---------------------------------------------------------------------. | ||
72 | | | | MS_1| MS_U| MS_2| WH_U| | | | | | | | | | | ||
73 | |---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------| | ||
74 | | | | MS_L| MS_D| MS_R| WH_D| | | | | | | | | | | ||
75 | |---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------| | ||
76 | | | | | | | | | | | | | | | | | | ||
77 | `---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------' | ||
78 | | | | | | | | | | | | ||
79 | `---------------------------------------' `---------------------------------------' | ||
80 | */ | ||
81 | ``` | ||
82 | |||
83 | ### ADJUST | ||
84 | ```c | ||
85 | /* | ||
86 | ,---------------------------------------------------------------------. ,---------------------------------------------------------------------. | ||
87 | | M_MAKE| EEP_RST| | | | | | | | | | | COLEMAK| DVORAK| QWERTY| | ||
88 | |---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------| | ||
89 | | M_VRSN| | | | | | | | | | | | | | | | ||
90 | |---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------| | ||
91 | | M_FLSH| | | | | | | | | | | | | | | | ||
92 | `---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------' | ||
93 | | | | | | | | | | | | ||
94 | `---------------------------------------' `---------------------------------------' | ||
95 | */ | ||
96 | ``` | ||
97 | |||
98 | ### NUMBERS | ||
99 | ```c | ||
100 | /* | ||
101 | ,---------------------------------------------------------------------. ,---------------------------------------------------------------------. | ||
102 | | `| 1| 2| 3| 4| 5| | | | 6| 7| 8| 9| 0| -| | ||
103 | |---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------| | ||
104 | | ~| !| @| #| $| %| | | | ^| &| *| (| )| _| | ||
105 | |---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------| | ||
106 | | | | | | | | | | | | | | | | | | ||
107 | `---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------' | ||
108 | | | | | | | | | | | | ||
109 | `---------------------------------------' `---------------------------------------' | ||
110 | */ | ||
111 | ``` | ||
112 | |||
113 | ### FUNCTIONS | ||
114 | ```c | ||
115 | /* | ||
116 | ,---------------------------------------------------------------------. ,---------------------------------------------------------------------. | ||
117 | | F11| F2| F3| F4| F4| F5| | | | F6| F7| F8| F9| F10| F12| | ||
118 | |---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------| | ||
119 | | | | | | | | | | | | | | | | | | ||
120 | |---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------| | ||
121 | | | | | | | | | | | | | | | | | | ||
122 | `---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------' | ||
123 | | | | | | | | | | | | ||
124 | `---------------------------------------' `---------------------------------------' | ||
125 | */ | ||
126 | ``` | ||
127 | <!-- | ||
128 | ### TEMPLATE | ||
129 | ```c | ||
130 | /* | ||
131 | ,---------------------------------------------------------------------. ,---------------------------------------------------------------------. | ||
132 | | | | | | | | | | | | | | | | | | ||
133 | |---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------| | ||
134 | | | | | | | | | | | | | | | | | | ||
135 | |---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------| | ||
136 | | | | | | | | | | | | | | | | | | ||
137 | `---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------' | ||
138 | | | | | | | | | | | | ||
139 | `---------------------------------------' `---------------------------------------' | ||
140 | */ | ||
141 | ``` | ||
142 | --> \ No newline at end of file | ||
diff --git a/keyboards/pinky/3/keymaps/ninjonas/config.h b/keyboards/pinky/3/keymaps/ninjonas/config.h new file mode 100644 index 000000000..585bd8cb5 --- /dev/null +++ b/keyboards/pinky/3/keymaps/ninjonas/config.h | |||
@@ -0,0 +1,31 @@ | |||
1 | /* Copyright 2018 'Masayuki Sunahara' | ||
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 | |||
17 | #pragma once | ||
18 | |||
19 | //#define USE_MATRIX_I2C | ||
20 | |||
21 | /* Select hand configuration */ | ||
22 | |||
23 | #define MASTER_LEFT | ||
24 | // #define MASTER_RIGHT | ||
25 | // #define EE_HANDS | ||
26 | |||
27 | #define USE_SERIAL_PD2 | ||
28 | |||
29 | #define TAPPING_FORCE_HOLD | ||
30 | #define TAPPING_TERM 200 | ||
31 | #define RETRO_TAPPPING \ No newline at end of file | ||
diff --git a/keyboards/pinky/3/keymaps/ninjonas/keymap.c b/keyboards/pinky/3/keymaps/ninjonas/keymap.c new file mode 100644 index 000000000..4d2412fbf --- /dev/null +++ b/keyboards/pinky/3/keymaps/ninjonas/keymap.c | |||
@@ -0,0 +1,135 @@ | |||
1 | /* Copyright 2019 @ninjonas | ||
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 | #include "ninjonas.h" | ||
18 | |||
19 | // Each layer gets a name for readability, which is then used in the keymap matrix below. | ||
20 | // The underscores don't mean anything - you can have a layer called STUFF or any other name. | ||
21 | // Layer names don't all need to be of the same length, obviously, and you can also skip them | ||
22 | // entirely and just use numbers. | ||
23 | |||
24 | |||
25 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
26 | [_QWERTY] = LAYOUT_wrapper( | ||
27 | //,---------------------------------------------------------------------. ,---------------------------------------------------------------------. | ||
28 | _____________________QWERTY_L1______________________, KC_MPLY, KC_MUTE, _____________________QWERTY_R1______________________,\ | ||
29 | //|---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------| | ||
30 | _____________________QWERTY_L2______________________, T_LBRC, T_RBRC, _____________________QWERTY_R2______________________,\ | ||
31 | //|---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------| | ||
32 | _____________________QWERTY_L3______________________, LT_RAI, LT_LOW, _____________________QWERTY_R3______________________,\ | ||
33 | //|---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------| | ||
34 | ________MOD_LEFT_________, LT_NUM, LT_FUNC, ________MOD_RIGHT________ \ | ||
35 | //`---------------------------------------' `---------------------------------------' | ||
36 | ), | ||
37 | |||
38 | [_DVORAK] = LAYOUT_wrapper( | ||
39 | //,---------------------------------------------------------------------. ,---------------------------------------------------------------------. | ||
40 | _____________________DVORAK_L1______________________, KC_MPLY, KC_MUTE, _____________________DVORAK_R1______________________,\ | ||
41 | //|---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------| | ||
42 | _____________________DVORAK_L2______________________, T_LBRC, T_RBRC, _____________________DVORAK_R2______________________,\ | ||
43 | //|---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------| | ||
44 | _____________________DVORAK_L3______________________, LT_RAI, LT_LOW, _____________________DVORAK_R3______________________,\ | ||
45 | //|---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------| | ||
46 | ________MOD_LEFT_________, LT_NUM, LT_FUNC, ________MOD_RIGHT________ \ | ||
47 | //`---------------------------------------' `---------------------------------------' | ||
48 | ), | ||
49 | |||
50 | [_COLEMAK] = LAYOUT_wrapper( | ||
51 | //,---------------------------------------------------------------------. ,---------------------------------------------------------------------. | ||
52 | _____________________COLEMAK_L1_____________________, KC_MPLY, KC_MUTE, _____________________COLEMAK_R1_____________________,\ | ||
53 | //|---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------| | ||
54 | _____________________COLEMAK_L2_____________________, T_LBRC, T_RBRC, _____________________COLEMAK_R2_____________________,\ | ||
55 | //|---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------| | ||
56 | _____________________COLEMAK_L3_____________________, LT_RAI, LT_LOW, _____________________COLEMAK_R3_____________________,\ | ||
57 | //|---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------| | ||
58 | ________MOD_LEFT_________, LT_NUM, LT_FUNC, ________MOD_RIGHT________ \ | ||
59 | //`---------------------------------------' `---------------------------------------' | ||
60 | ), | ||
61 | |||
62 | [_LOWER] = LAYOUT_wrapper( \ | ||
63 | //,---------------------------------------------------------------------. ,---------------------------------------------------------------------. | ||
64 | XXXXXXX, XXXXXXX, XXXXXXX, _________MEDIA_1_________, K_CSCN, XXXXXXX, _______________NAV_1______________, XXXXXXX, XXXXXXX,\ | ||
65 | //|---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------| | ||
66 | XXXXXXX, XXXXXXX, XXXXXXX, _________MEDIA_2_________, XXXXXXX, XXXXXXX, _______________NAV_2______________, K_LOCK, XXXXXXX,\ | ||
67 | //|---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------| | ||
68 | M_SHFT, XXXXXXX, XXXXXXX, _________MEDIA_3_________, _______, _______, XXXXXXX, _______, XXXXXXX, XXXXXXX, M_ZOOM, M_PYNV,\ | ||
69 | //|---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------| | ||
70 | __________________________________, _______, _______, M_CODE, _______ \ | ||
71 | //`---------------------------------------' `---------------------------------------' | ||
72 | ), | ||
73 | |||
74 | [_RAISE] = LAYOUT_wrapper( \ | ||
75 | //,---------------------------------------------------------------------. ,---------------------------------------------------------------------. | ||
76 | XXXXXXX, XXXXXXX, _____________MOUSE_1______________, XXXXXXX, XXXXXXX, _____________________XXXXXXX________________________,\ | ||
77 | //|---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------| | ||
78 | XXXXXXX, XXXXXXX, _____________MOUSE_2______________, XXXXXXX, XXXXXXX, _____________________XXXXXXX________________________,\ | ||
79 | //|---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------| | ||
80 | _____________________XXXXXXX________________________, _______, _______, _____________________XXXXXXX________________________,\ | ||
81 | //|---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------| | ||
82 | __________________________________, __________________________________ \ | ||
83 | //`---------------------------------------' `---------------------------------------' | ||
84 | ), | ||
85 | |||
86 | [_ADJUST] = LAYOUT_wrapper( \ | ||
87 | //,---------------------------------------------------------------------. ,---------------------------------------------------------------------. | ||
88 | M_MAKE, EEP_RST, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, COLEMAK, DVORAK, QWERTY,\ | ||
89 | //|---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------| | ||
90 | M_VRSN, _____________________XXXXXXX________________________, XXXXXXX, _____________________XXXXXXX________________________,\ | ||
91 | //|---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------| | ||
92 | M_FLSH, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, _____________________XXXXXXX________________________,\ | ||
93 | //|---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------| | ||
94 | __________________________________, __________________________________ \ | ||
95 | //`---------------------------------------' `---------------------------------------' | ||
96 | ), | ||
97 | |||
98 | [_NUMBERS] = LAYOUT_wrapper( \ | ||
99 | //,---------------------------------------------------------------------. ,---------------------------------------------------------------------. | ||
100 | _____________________NUM_LEFT_______________________, XXXXXXX, XXXXXXX, _____________________NUM_RIGHT______________________,\ | ||
101 | //|---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------| | ||
102 | _____________________SYM_LEFT_______________________, XXXXXXX, XXXXXXX, _____________________SYM_RIGHT______________________,\ | ||
103 | //|---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------| | ||
104 | ____________________________________________________, _______, _______, ____________________________________________________,\ | ||
105 | //|---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------| | ||
106 | __________________________________, __________________________________ \ | ||
107 | //`---------------------------------------' `---------------------------------------' | ||
108 | ), | ||
109 | |||
110 | [_FUNCTIONS] = LAYOUT_wrapper( \ | ||
111 | //,---------------------------------------------------------------------. ,---------------------------------------------------------------------. | ||
112 | _____________________FUNC_LEFT______________________, XXXXXXX, XXXXXXX, _____________________FUNC_RIGHT_____________________,\ | ||
113 | //|---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------| | ||
114 | _____________________XXXXXXX________________________, XXXXXXX, XXXXXXX, _____________________XXXXXXX________________________,\ | ||
115 | //|---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------| | ||
116 | _____________________XXXXXXX________________________, _______, _______, _____________________XXXXXXX________________________,\ | ||
117 | //|---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------| | ||
118 | __________________________________, __________________________________ \ | ||
119 | //`---------------------------------------' `---------------------------------------' | ||
120 | ), | ||
121 | |||
122 | /* | ||
123 | [_TEMPLATE] = LAYOUT( \ | ||
124 | //,---------------------------------------------------------------------. ,---------------------------------------------------------------------. | ||
125 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,\ | ||
126 | //|---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------| | ||
127 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,\ | ||
128 | //|---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------| | ||
129 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,\ | ||
130 | //|---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------| | ||
131 | _______, _______, _______, _______, _______, _______, _______, _______ \ | ||
132 | //`---------------------------------------' `---------------------------------------' | ||
133 | ) | ||
134 | */ | ||
135 | }; \ No newline at end of file | ||
diff --git a/users/ninjonas/.gitignore b/users/ninjonas/.gitignore new file mode 100644 index 000000000..c6df8c013 --- /dev/null +++ b/users/ninjonas/.gitignore | |||
@@ -0,0 +1 @@ | |||
secrets.c | |||
diff --git a/users/ninjonas/README.md b/users/ninjonas/README.md new file mode 100644 index 000000000..82bd5f09a --- /dev/null +++ b/users/ninjonas/README.md | |||
@@ -0,0 +1,85 @@ | |||
1 | # QMK User Configuration for [ninjonas](https://github.com/ninjonas/qmk-yonas) | ||
2 | Tired of copying and pasting the same macros and tap dances for all my keymaps. Utilizing user keymaps functionality. | ||
3 | See: https://docs.qmk.fm/#/feature_userspace | ||
4 | |||
5 | ## [ninjonas.c](ninjonas.c) | ||
6 | - ninjonas [QMK user configuration](https://github.com/qmk/qmk_firmware/blob/master/docs/feature_userspace.md) | ||
7 | - On `keymap.c` include `ninjonas.h` | ||
8 | ```c | ||
9 | #include "ninjonas.h" | ||
10 | ``` | ||
11 | |||
12 | ## Features | ||
13 | ### [Keys](ninjonas.h#L44) | ||
14 | |Code | Description | | ||
15 | |---|---| | ||
16 | |K_LOCK | MacOS shortcut to execute lock command + ctrl + Q | | ||
17 | |K_CSCN | MacOS shortcut to copy a portion of the screen to the clipboard | | ||
18 | |||
19 | ### [Layers](ninjonas.h#L48) | ||
20 | |Code | Description | | ||
21 | |---|---| | ||
22 | |LT_LOW | Tap for ENTER, hold for RAISE | | ||
23 | |LT_FUNC | Tap for ENTER, hold for FUNCTIONS | | ||
24 | |LT_RAI | Tap for SPACE, hold for LOWER | | ||
25 | |LT_NUM | Tap for SPACE, hold for NUMBERS | | ||
26 | |LT_LOW + LT_RAI | Hold for ADJUST | | ||
27 | |L_LOWER | Dedicated key to momentarily toggle to use LOWER layer | | ||
28 | |||
29 | ### [Layout Blocks](ninjonas.h#L57) | ||
30 | Predefined keyboard layout templates to speed up configuring split keyboards | ||
31 | |||
32 | |Code | Description | | ||
33 | |---|---| | ||
34 | |QWERTY | Qwerty Layout | | ||
35 | |DVORAK | Dvorak Layout | | ||
36 | |COLEMAK | Colemak Layout | | ||
37 | |NUM | Number Rows | | ||
38 | |FUNC | Function Rows | | ||
39 | |SYM | Symbol Rows \(When holding shift on numbers\) | | ||
40 | |NAV | Navigation Cluster | | ||
41 | |MOUSE | Mouse Cluster | | ||
42 | |MEDIA | Media Cluster | | ||
43 | |MOD | Modifier Cluster | | ||
44 | |||
45 | ### [Macros](process_records.c) | ||
46 | |Code | Description | | ||
47 | |---|---| | ||
48 | |M_PYNV | macro to activate pyenv with the name `jira` | | ||
49 | |M_MAKE | macro to send QMK make command to compile keyboard | | ||
50 | |M_FLSH | macro to send QMK make command to compile keyboard with the correct bootloader | | ||
51 | |M_VRSN | macro to send QMK version | | ||
52 | |M_SHFT | Sends + alt + shift to a keycode to activate [ShiftIt](https://github.com/fikovnik/ShiftIt) | | ||
53 | |M_CODE | Opens [Visual Studio Code](https://code.visualstudio.com/) on current directory | | ||
54 | |||
55 | ### [Tap-Dance](tap_dances.h) | ||
56 | |Code | Description | | ||
57 | |---|---| | ||
58 | |T_ESC | Tap once for ESC, double tap for CAPS_LOCK | | ||
59 | |T_LBRC | Tap once for [, double for back browser | | ||
60 | |T_RBRC | Tap once for ], double for forward browser | | ||
61 | |T_TAB | Tap once for TAB, double for CTRL + TAB | | ||
62 | |T_GRV | Tap once for GRV, double for + GRV | | ||
63 | |T_GUI | Tap once for , double to open spotlight | | ||
64 | |T_W | Tap for W, double tap for + W | | ||
65 | |T_Q | Tap for Q, double tap for + Q | | ||
66 | |||
67 | ### Secrets | ||
68 | There's times where you have macros you don't want to share like emails, passwords 😱, & and private strings. Based off [drashna's secret macros](https://github.com/qmk/qmk_firmware/blob/master/users/drashna/readme_secrets.md), it's now possible to do this. All you need to do is create a `secrets.c` file. Below is an example of how this is used. | ||
69 | |||
70 | ```c | ||
71 | // secrets.c | ||
72 | #include "ninjonas.h" | ||
73 | |||
74 | bool process_record_secrets(uint16_t keycode, keyrecord_t *record) { | ||
75 | switch (keycode) { | ||
76 | // Sends zoom URL | ||
77 | case M_ZOOM: | ||
78 | if (record->event.pressed) { | ||
79 | SEND_STRING("SECRET_STRING_HERE" SS_TAP(X_ENTER)); | ||
80 | } | ||
81 | break; | ||
82 | } | ||
83 | return true; | ||
84 | } | ||
85 | ``` \ No newline at end of file | ||
diff --git a/users/ninjonas/config.h b/users/ninjonas/config.h new file mode 100644 index 000000000..1166939c6 --- /dev/null +++ b/users/ninjonas/config.h | |||
@@ -0,0 +1,14 @@ | |||
1 | #ifdef TAPPING_TERM | ||
2 | #undef TAPPING_TERM | ||
3 | #define TAPPING_TERM 200 | ||
4 | #endif | ||
5 | |||
6 | // Mouse Settings: Smoothing out mouse movement on keypress | ||
7 | #ifndef MOUSEKEY_INTERVAL | ||
8 | #undef MOUSEKEY_INTERVAL | ||
9 | #define MOUSEKEY_INTERVAL 16 | ||
10 | #endif | ||
11 | #define MOUSEKEY_DELAY 0 | ||
12 | #define MOUSEKEY_TIME_TO_MAX 60 | ||
13 | #define MOUSEKEY_MAX_SPEED 7 | ||
14 | #define MOUSEKEY_WHEEL_DELAY 0 \ No newline at end of file | ||
diff --git a/users/ninjonas/ninjonas.c b/users/ninjonas/ninjonas.c new file mode 100644 index 000000000..6a77ecf8b --- /dev/null +++ b/users/ninjonas/ninjonas.c | |||
@@ -0,0 +1,68 @@ | |||
1 | /* Copyright 2019 @ninjonas | ||
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 "ninjonas.h" | ||
17 | |||
18 | layer_state_t layer_state_set_user (layer_state_t state) { | ||
19 | return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST); | ||
20 | } | ||
21 | |||
22 | // BEGIN: SSD1306OLED | ||
23 | // SSD1306 OLED update loop, make sure to add #define SSD1306OLED in config.h | ||
24 | #if defined(KEYBOARD_lily58_rev1) & defined(PROTOCOL_LUFA) | ||
25 | extern uint8_t is_master; | ||
26 | |||
27 | void matrix_init_user(void) { | ||
28 | //SSD1306 OLED init, make sure to add #define SSD1306OLED in config.h | ||
29 | iota_gfx_init(!has_usb()); // turns on the display | ||
30 | } | ||
31 | |||
32 | // When add source files to SRC in rules.mk, you can use functions. | ||
33 | const char *read_layer_state(void); | ||
34 | const char *read_logo(void); | ||
35 | //void set_keylog(uint16_t keycode, keyrecord_t *record); // Moved to process_records.h | ||
36 | const char *read_keylog(void); | ||
37 | const char *read_keylogs(void); | ||
38 | |||
39 | void matrix_scan_user(void) { | ||
40 | iota_gfx_task(); | ||
41 | } | ||
42 | |||
43 | void matrix_render_user(struct CharacterMatrix *matrix) { | ||
44 | if (is_master) { | ||
45 | // If you want to change the display of OLED, you need to change here | ||
46 | matrix_write_ln(matrix, read_layer_state()); | ||
47 | matrix_write_ln(matrix, read_keylog()); | ||
48 | matrix_write_ln(matrix, read_keylogs()); | ||
49 | } else { | ||
50 | matrix_write(matrix, read_logo()); | ||
51 | } | ||
52 | } | ||
53 | |||
54 | void matrix_update(struct CharacterMatrix *dest, const struct CharacterMatrix *source) { | ||
55 | if (memcmp(dest->display, source->display, sizeof(dest->display))) { | ||
56 | memcpy(dest->display, source->display, sizeof(dest->display)); | ||
57 | dest->dirty = true; | ||
58 | } | ||
59 | } | ||
60 | |||
61 | void iota_gfx_task_user(void) { | ||
62 | struct CharacterMatrix matrix; | ||
63 | matrix_clear(&matrix); | ||
64 | matrix_render_user(&matrix); | ||
65 | matrix_update(&display, &matrix); | ||
66 | } | ||
67 | #endif | ||
68 | // END: SSD1306OLED \ No newline at end of file | ||
diff --git a/users/ninjonas/ninjonas.h b/users/ninjonas/ninjonas.h new file mode 100644 index 000000000..50d7c3680 --- /dev/null +++ b/users/ninjonas/ninjonas.h | |||
@@ -0,0 +1,112 @@ | |||
1 | /* Copyright 2019 @ninjonas | ||
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 | #pragma once | ||
17 | #include "quantum.h" | ||
18 | #include "version.h" | ||
19 | #include "eeprom.h" | ||
20 | #include "process_records.h" | ||
21 | |||
22 | #ifdef TAP_DANCE_ENABLE | ||
23 | #include "tap_dances.h" | ||
24 | #endif | ||
25 | #if defined(KEYBOARD_lily58_rev1) & defined(PROTOCOL_LUFA) | ||
26 | #include "lufa.h" | ||
27 | #include "split_util.h" | ||
28 | #endif | ||
29 | #ifdef SSD1306OLED | ||
30 | #include "ssd1306.h" | ||
31 | #endif | ||
32 | |||
33 | #define _QWERTY 0 | ||
34 | #define _DVORAK 1 | ||
35 | #define _COLEMAK 2 | ||
36 | #define _LOWER 3 | ||
37 | #define _RAISE 4 | ||
38 | #define _ADJUST 5 | ||
39 | #ifdef KEYBOARD_pinky_3 | ||
40 | #define _NUMBERS 6 | ||
41 | #define _FUNCTIONS 7 | ||
42 | #endif | ||
43 | |||
44 | // Shortcut Keys | ||
45 | #define K_LOCK LGUI(LCTL(KC_Q)) // Locks screen on MacOS | ||
46 | #define K_CSCN LGUI(LCTL(LSFT(KC_4))) // Copy a portion of the screen to the clipboard | ||
47 | |||
48 | // Layer Keys | ||
49 | #define L_LOWER MO(_LOWER) | ||
50 | #define LT_LOW LT(_LOWER, KC_ENT) | ||
51 | #define LT_RAI LT(_RAISE, KC_SPC) | ||
52 | #ifdef KEYBOARD_pinky_3 | ||
53 | #define LT_NUM LT(_NUMBERS, KC_SPC) | ||
54 | #define LT_FUNC LT(_FUNCTIONS, KC_ENT) | ||
55 | #endif | ||
56 | |||
57 | // Layout blocks | ||
58 | #define _____________________QWERTY_L1______________________ T_TAB, T_Q, T_W, KC_E, KC_R, KC_T | ||
59 | #define _____________________QWERTY_L2______________________ T_ESC, KC_A, KC_S, KC_D, KC_F, KC_G | ||
60 | #define _____________________QWERTY_L3______________________ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B | ||
61 | |||
62 | #define _____________________QWERTY_R1______________________ KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS | ||
63 | #define _____________________QWERTY_R2______________________ KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT | ||
64 | #define _____________________QWERTY_R3______________________ KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_EQL | ||
65 | |||
66 | #define _____________________DVORAK_L1______________________ T_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y | ||
67 | #define _____________________DVORAK_L2______________________ T_ESC, KC_A, KC_O, KC_E, KC_U, KC_I | ||
68 | #define _____________________DVORAK_L3______________________ KC_LSFT, KC_SCLN, T_Q, KC_J, KC_K, KC_X | ||
69 | |||
70 | #define _____________________DVORAK_R1______________________ KC_F, KC_G, KC_C, KC_R, KC_L, KC_BSLS | ||
71 | #define _____________________DVORAK_R2______________________ KC_D, KC_H, KC_T, KC_N, KC_S, KC_SLSH | ||
72 | #define _____________________DVORAK_R3______________________ KC_B, KC_M, T_W, KC_V, KC_Z, KC_EQL | ||
73 | |||
74 | #define _____________________COLEMAK_L1_____________________ T_TAB, T_Q, T_W, KC_F, KC_P, KC_G | ||
75 | #define _____________________COLEMAK_L2_____________________ T_ESC, KC_A, KC_R, KC_S, KC_T, KC_D | ||
76 | #define _____________________COLEMAK_L3_____________________ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B | ||
77 | |||
78 | #define _____________________COLEMAK_R1_____________________ KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSLS | ||
79 | #define _____________________COLEMAK_R2_____________________ KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT | ||
80 | #define _____________________COLEMAK_R3_____________________ KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_EQL | ||
81 | |||
82 | #define _____________________NUM_LEFT_______________________ T_GRV, KC_1, KC_2, KC_3, KC_4, KC_5 | ||
83 | #define _____________________NUM_RIGHT______________________ KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS | ||
84 | |||
85 | #define _____________________FUNC_LEFT______________________ KC_F11, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5 | ||
86 | #define _____________________FUNC_RIGHT_____________________ KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F12 | ||
87 | |||
88 | #define _____________________SYM_LEFT_______________________ KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC | ||
89 | #define _____________________SYM_RIGHT______________________ KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_UNDS | ||
90 | |||
91 | #define ____________________________________________________ _______, _______, _______, _______, _______, _______ | ||
92 | #define _____________________XXXXXXX________________________ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX | ||
93 | |||
94 | #define _______________NAV_1______________ KC_PGUP, KC_HOME, KC_UP, KC_END | ||
95 | #define _______________NAV_2______________ KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT | ||
96 | |||
97 | #define _____________MOUSE_1______________ KC_BTN1, KC_MS_U, KC_BTN2, KC_WH_D | ||
98 | #define _____________MOUSE_2______________ KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_U | ||
99 | |||
100 | #define __________________________________ _______, _______, _______, _______ | ||
101 | #define _____________XXXXXXX______________ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX | ||
102 | |||
103 | #define _________MEDIA_1_________ KC_BRIU, KC_MPLY, KC_MUTE | ||
104 | #define _________MEDIA_2_________ KC_BRID, KC_MFFD, KC__VOLUP | ||
105 | #define _________MEDIA_3_________ XXXXXXX, KC_MRWD, KC__VOLDOWN | ||
106 | |||
107 | #define ________MOD_LEFT_________ KC_LALT, T_GUI, KC_LCTL | ||
108 | #define ________MOD_RIGHT________ KC_BSPC, KC_DEL, L_LOWER | ||
109 | |||
110 | // Layout wrappers | ||
111 | #define LAYOUT_wrapper(...) LAYOUT(__VA_ARGS__) | ||
112 | #define LAYOUT_ergodox_wrapper(...) LAYOUT_ergodox(__VA_ARGS__) \ No newline at end of file | ||
diff --git a/users/ninjonas/process_records.c b/users/ninjonas/process_records.c new file mode 100644 index 000000000..1b7958abc --- /dev/null +++ b/users/ninjonas/process_records.c | |||
@@ -0,0 +1,98 @@ | |||
1 | #include "ninjonas.h" | ||
2 | |||
3 | __attribute__((weak)) | ||
4 | bool process_record_keymap(uint16_t keycode, keyrecord_t *record) { return true; } | ||
5 | |||
6 | __attribute__((weak)) | ||
7 | bool process_record_secrets(uint16_t keycode, keyrecord_t *record) { return true; } | ||
8 | |||
9 | bool process_record_user(uint16_t keycode, keyrecord_t *record) { | ||
10 | if (record->event.pressed) { | ||
11 | #ifdef SSD1306OLED | ||
12 | set_keylog(keycode, record); | ||
13 | #endif | ||
14 | } | ||
15 | |||
16 | switch (keycode) { | ||
17 | |||
18 | // Sends pyenv to activate 'jira' environment | ||
19 | case M_PYNV: | ||
20 | if (record->event.pressed) { | ||
21 | SEND_STRING("pyenv activate jira" SS_TAP(X_ENTER)); | ||
22 | } | ||
23 | break; | ||
24 | |||
25 | // Sends + alt + shift to a keycode to activate shiftit. See: https://github.com/fikovnik/ShiftIt | ||
26 | case M_SHFT: | ||
27 | if (record->event.pressed) { | ||
28 | register_code(KC_LGUI); | ||
29 | register_code(KC_LALT); | ||
30 | register_code(KC_LCTL); | ||
31 | } else { | ||
32 | unregister_code(KC_LGUI); | ||
33 | unregister_code(KC_LALT); | ||
34 | unregister_code(KC_LCTL); | ||
35 | } | ||
36 | break; | ||
37 | |||
38 | // Sends QMK make command to compile keyboard | ||
39 | case M_MAKE: | ||
40 | if (record->event.pressed) { | ||
41 | SEND_STRING("rm -f *.hex && rm -rf .build/ && make " QMK_KEYBOARD ":" QMK_KEYMAP SS_TAP(X_ENTER)); | ||
42 | } | ||
43 | break; | ||
44 | |||
45 | // Sends QMK make command with the correct bootloader | ||
46 | case M_FLSH: | ||
47 | if (!record->event.pressed) { | ||
48 | SEND_STRING("rm -f *.hex && rm -rf .build/ && make " QMK_KEYBOARD ":" QMK_KEYMAP | ||
49 | #if (defined(BOOTLOADER_DFU) || defined(BOOTLOADER_LUFA_DFU) || defined(BOOTLOADER_QMK_DFU)) | ||
50 | ":dfu " | ||
51 | #elif defined(BOOTLOADER_CATERINA) | ||
52 | ":avrdude " | ||
53 | #endif | ||
54 | SS_TAP(X_ENTER) | ||
55 | ); | ||
56 | |||
57 | // Send reset_keyboard command instead of pressing reset button | ||
58 | #if (defined(BOOTLOADER_DFU) || defined(BOOTLOADER_LUFA_DFU) || defined(BOOTLOADER_QMK_DFU)) | ||
59 | reset_keyboard(); | ||
60 | #endif | ||
61 | } | ||
62 | break; | ||
63 | |||
64 | // Sends QMK version | ||
65 | case M_VRSN: | ||
66 | if (record->event.pressed) { | ||
67 | SEND_STRING (QMK_KEYBOARD "/" QMK_KEYMAP " @ " QMK_VERSION ", Built on: " QMK_BUILDDATE); | ||
68 | } | ||
69 | break; | ||
70 | |||
71 | // Opens Visual Studio Code on current directory | ||
72 | case M_CODE: | ||
73 | if (record->event.pressed) { | ||
74 | SEND_STRING("code ." SS_TAP(X_ENTER)); | ||
75 | } | ||
76 | break; | ||
77 | |||
78 | // BEGIN: Layer macros | ||
79 | case QWERTY: | ||
80 | if (record->event.pressed) { | ||
81 | set_single_persistent_default_layer(_QWERTY); | ||
82 | } | ||
83 | break; | ||
84 | case DVORAK: | ||
85 | if (record->event.pressed) { | ||
86 | set_single_persistent_default_layer(_DVORAK); | ||
87 | } | ||
88 | break; | ||
89 | case COLEMAK: | ||
90 | if (record->event.pressed) { | ||
91 | set_single_persistent_default_layer(_COLEMAK); | ||
92 | } | ||
93 | break; | ||
94 | // END: Layer macros | ||
95 | } | ||
96 | |||
97 | return process_record_keymap(keycode, record) && process_record_secrets(keycode, record); | ||
98 | } | ||
diff --git a/users/ninjonas/process_records.h b/users/ninjonas/process_records.h new file mode 100644 index 000000000..6db1d91fb --- /dev/null +++ b/users/ninjonas/process_records.h | |||
@@ -0,0 +1,24 @@ | |||
1 | #pragma once | ||
2 | #include "ninjonas.h" | ||
3 | |||
4 | enum custom_keycodes { | ||
5 | // Layer Macros | ||
6 | QWERTY = SAFE_RANGE, | ||
7 | DVORAK, | ||
8 | COLEMAK, | ||
9 | // Custom Macros | ||
10 | M_ZOOM, | ||
11 | M_PYNV, | ||
12 | M_SHFT, | ||
13 | M_MAKE, | ||
14 | M_FLSH, | ||
15 | M_VRSN, | ||
16 | M_CODE, | ||
17 | }; | ||
18 | |||
19 | #ifdef SSD1306OLED | ||
20 | void set_keylog(uint16_t keycode, keyrecord_t *record); | ||
21 | #endif | ||
22 | |||
23 | bool process_record_secrets(uint16_t keycode, keyrecord_t *record); | ||
24 | bool process_record_keymap(uint16_t keycode, keyrecord_t *record); | ||
diff --git a/users/ninjonas/rules.mk b/users/ninjonas/rules.mk new file mode 100644 index 000000000..1f2697a0e --- /dev/null +++ b/users/ninjonas/rules.mk | |||
@@ -0,0 +1,18 @@ | |||
1 | BOOTMAGIC_ENABLE = no # Disable Boot Magic (https://beta.docs.qmk.fm/features/feature_bootmagic) | ||
2 | MOUSEKEY_ENABLE = yes # Mouse keys(+4700) | ||
3 | EXTRAKEY_ENABLE = yes # Audio control and System control(+450) | ||
4 | TAP_DANCE_ENABLE = yes # Enable Tap Dance. | ||
5 | |||
6 | Link_Time_Optimization = no # if firmware size over limit, try this option | ||
7 | |||
8 | ifeq ($(strip $(Link_Time_Optimization)),yes) | ||
9 | EXTRAFLAGS += -flto -DUSE_Link_Time_Optimization | ||
10 | endif | ||
11 | |||
12 | SRC += ninjonas.c \ | ||
13 | process_records.c \ | ||
14 | tap_dances.c | ||
15 | |||
16 | ifneq ("$(wildcard $(USER_PATH)/secrets.c)","") | ||
17 | SRC += secrets.c | ||
18 | endif \ No newline at end of file | ||
diff --git a/users/ninjonas/tap_dances.c b/users/ninjonas/tap_dances.c new file mode 100644 index 000000000..0665a1607 --- /dev/null +++ b/users/ninjonas/tap_dances.c | |||
@@ -0,0 +1,12 @@ | |||
1 | #include "ninjonas.h" | ||
2 | |||
3 | qk_tap_dance_action_t tap_dance_actions[] = { | ||
4 | [TD_ESC_CAPS] = ACTION_TAP_DANCE_DOUBLE(KC_ESC, KC_CAPS), | ||
5 | [TD_LBRC_BACK] = ACTION_TAP_DANCE_DOUBLE(KC_LBRC, LGUI(KC_LBRC)), | ||
6 | [TD_RBRC_FWD] = ACTION_TAP_DANCE_DOUBLE(KC_RBRC, LGUI(KC_RBRC)), | ||
7 | [TD_TAB_CTRLTAB] = ACTION_TAP_DANCE_DOUBLE(KC_TAB, LCTL(KC_TAB)), | ||
8 | [TD_GRV_CTRLGRV] = ACTION_TAP_DANCE_DOUBLE(KC_GRV, LGUI(KC_GRV)), | ||
9 | [TD_GUI_GUISPC] = ACTION_TAP_DANCE_DOUBLE(KC_LGUI, LGUI(KC_SPC)), | ||
10 | [TD_W_CTRLW] = ACTION_TAP_DANCE_DOUBLE(KC_W, LGUI(KC_W)), | ||
11 | [TD_Q_GUIQ] = ACTION_TAP_DANCE_DOUBLE(KC_Q, LGUI(KC_Q)), | ||
12 | }; \ No newline at end of file | ||
diff --git a/users/ninjonas/tap_dances.h b/users/ninjonas/tap_dances.h new file mode 100644 index 000000000..0a781ce4e --- /dev/null +++ b/users/ninjonas/tap_dances.h | |||
@@ -0,0 +1,22 @@ | |||
1 | #pragma once | ||
2 | #include "ninjonas.h" | ||
3 | |||
4 | enum custom_tapdances{ | ||
5 | TD_ESC_CAPS = 0, | ||
6 | TD_LBRC_BACK, | ||
7 | TD_RBRC_FWD, | ||
8 | TD_TAB_CTRLTAB, | ||
9 | TD_GRV_CTRLGRV, | ||
10 | TD_GUI_GUISPC, | ||
11 | TD_W_CTRLW, | ||
12 | TD_Q_GUIQ, | ||
13 | }; | ||
14 | |||
15 | #define T_ESC TD(TD_ESC_CAPS) // Tap for ESC, double tap for CAPSLOCK | ||
16 | #define T_LBRC TD(TD_LBRC_BACK) // Tap for [, double tap for back browser | ||
17 | #define T_RBRC TD(TD_RBRC_FWD) // Tap for ], double tap for forward browser | ||
18 | #define T_TAB TD(TD_TAB_CTRLTAB) // Tap for TAB, double tap for CTRL + TAB | ||
19 | #define T_GRV TD(TD_GRV_CTRLGRV) // Tap for GRV, double tap for + GRV | ||
20 | #define T_GUI TD(TD_GUI_GUISPC) // Tap for , double tap for + Space | ||
21 | #define T_W TD(TD_W_CTRLW) // Tap for W, double tap for + W | ||
22 | #define T_Q TD(TD_Q_GUIQ) // Tap for Q, double tap for + Q \ No newline at end of file | ||