aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--keyboards/ergodash/rev1/keymaps/333fred/config.h22
-rw-r--r--keyboards/ergodash/rev1/keymaps/333fred/keymap.c22
-rw-r--r--keyboards/flehrad/bigswitch/keymaps/333fred/config.h28
-rw-r--r--keyboards/flehrad/bigswitch/keymaps/333fred/keymap.c22
-rw-r--r--keyboards/handwired/dactyl_manuform/5x6/keymaps/333fred/config.h22
-rw-r--r--keyboards/handwired/dactyl_manuform/5x6/keymaps/333fred/keymap.c22
-rw-r--r--keyboards/handwired/dactyl_manuform/5x6_5/keymaps/333fred/config.h40
-rw-r--r--keyboards/handwired/dactyl_manuform/5x6_5/keymaps/333fred/keymap.c579
-rw-r--r--keyboards/handwired/dactyl_manuform/5x6_5/keymaps/333fred/rules.mk4
-rw-r--r--keyboards/keebio/iris/keymaps/333fred/config.h22
-rw-r--r--keyboards/keebio/iris/keymaps/333fred/keymap.c22
-rw-r--r--keyboards/naked60/keymaps/333fred/keymap.c22
-rw-r--r--keyboards/rgbkb/zen/rev1/keymaps/333fred/config.h33
-rw-r--r--keyboards/rgbkb/zen/rev1/keymaps/333fred/keymap.c22
-rw-r--r--layouts/community/ergodox/333fred/config.h22
-rw-r--r--layouts/community/ergodox/333fred/keymap.c22
-rw-r--r--layouts/community/ortho_5x12/333fred/config.h22
-rw-r--r--layouts/community/ortho_5x12/333fred/keymap.c22
-rw-r--r--users/333fred/333fred.c22
-rw-r--r--users/333fred/333fred.h35
-rw-r--r--users/333fred/config.h22
-rw-r--r--users/333fred/layout_macros.h22
-rw-r--r--users/333fred/rgb.c22
-rw-r--r--users/333fred/rules.mk1
24 files changed, 1062 insertions, 32 deletions
diff --git a/keyboards/ergodash/rev1/keymaps/333fred/config.h b/keyboards/ergodash/rev1/keymaps/333fred/config.h
index 862f306d0..b8f5e8c94 100644
--- a/keyboards/ergodash/rev1/keymaps/333fred/config.h
+++ b/keyboards/ergodash/rev1/keymaps/333fred/config.h
@@ -1,3 +1,25 @@
1/*
2 Copyright (c) 2020 Fred Silberberg
3
4 Permission is hereby granted, free of charge, to any person obtaining a copy
5 of this software and associated documentation files (the "Software"), to deal
6 in the Software without restriction, including without limitation the rights
7 to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8 copies of the Software, and to permit persons to whom the Software is
9 furnished to do so, subject to the following conditions:
10
11 The above copyright notice and this permission notice shall be included in all
12 copies or substantial portions of the Software.
13
14 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17 AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18 LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
20 THE SOFTWARE.
21*/
22
1#pragma once 23#pragma once
2 24
3#include QMK_KEYBOARD_CONFIG_H 25#include QMK_KEYBOARD_CONFIG_H
diff --git a/keyboards/ergodash/rev1/keymaps/333fred/keymap.c b/keyboards/ergodash/rev1/keymaps/333fred/keymap.c
index 8ed826d5a..8fb5d0db2 100644
--- a/keyboards/ergodash/rev1/keymaps/333fred/keymap.c
+++ b/keyboards/ergodash/rev1/keymaps/333fred/keymap.c
@@ -1,3 +1,25 @@
1/*
2 Copyright (c) 2020 Fred Silberberg
3
4 Permission is hereby granted, free of charge, to any person obtaining a copy
5 of this software and associated documentation files (the "Software"), to deal
6 in the Software without restriction, including without limitation the rights
7 to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8 copies of the Software, and to permit persons to whom the Software is
9 furnished to do so, subject to the following conditions:
10
11 The above copyright notice and this permission notice shall be included in all
12 copies or substantial portions of the Software.
13
14 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17 AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18 LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
20 THE SOFTWARE.
21*/
22
1#include QMK_KEYBOARD_H 23#include QMK_KEYBOARD_H
2#include "333fred.h" 24#include "333fred.h"
3 25
diff --git a/keyboards/flehrad/bigswitch/keymaps/333fred/config.h b/keyboards/flehrad/bigswitch/keymaps/333fred/config.h
index 76f13f08b..3273cc8db 100644
--- a/keyboards/flehrad/bigswitch/keymaps/333fred/config.h
+++ b/keyboards/flehrad/bigswitch/keymaps/333fred/config.h
@@ -1,19 +1,25 @@
1/* 1/*
2Copyright 2018 Fredric Silberberg (333fred) 2 Copyright (c) 2020 Fred Silberberg
3 3
4This program is free software: you can redistribute it and/or modify 4 Permission is hereby granted, free of charge, to any person obtaining a copy
5it under the terms of the GNU General Public License as published by 5 of this software and associated documentation files (the "Software"), to deal
6the Free Software Foundation, either version 2 of the License, or 6 in the Software without restriction, including without limitation the rights
7(at your option) any later version. 7 to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8 copies of the Software, and to permit persons to whom the Software is
9 furnished to do so, subject to the following conditions:
8 10
9This program is distributed in the hope that it will be useful, 11 The above copyright notice and this permission notice shall be included in all
10but WITHOUT ANY WARRANTY; without even the implied warranty of 12 copies or substantial portions of the Software.
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12GNU General Public License for more details.
13 13
14You should have received a copy of the GNU General Public License 14 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15along with this program. If not, see <http://www.gnu.org/licenses/>. 15 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17 AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18 LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
20 THE SOFTWARE.
16*/ 21*/
22
17#pragma once 23#pragma once
18 24
19// Long tapping term on the big switch, because it takes so long to press 25// Long tapping term on the big switch, because it takes so long to press
diff --git a/keyboards/flehrad/bigswitch/keymaps/333fred/keymap.c b/keyboards/flehrad/bigswitch/keymaps/333fred/keymap.c
index be40fecb2..ef1717c6a 100644
--- a/keyboards/flehrad/bigswitch/keymaps/333fred/keymap.c
+++ b/keyboards/flehrad/bigswitch/keymaps/333fred/keymap.c
@@ -1,3 +1,25 @@
1/*
2 Copyright (c) 2020 Fred Silberberg
3
4 Permission is hereby granted, free of charge, to any person obtaining a copy
5 of this software and associated documentation files (the "Software"), to deal
6 in the Software without restriction, including without limitation the rights
7 to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8 copies of the Software, and to permit persons to whom the Software is
9 furnished to do so, subject to the following conditions:
10
11 The above copyright notice and this permission notice shall be included in all
12 copies or substantial portions of the Software.
13
14 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17 AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18 LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
20 THE SOFTWARE.
21*/
22
1#include QMK_KEYBOARD_H 23#include QMK_KEYBOARD_H
2 24
3typedef enum { 25typedef enum {
diff --git a/keyboards/handwired/dactyl_manuform/5x6/keymaps/333fred/config.h b/keyboards/handwired/dactyl_manuform/5x6/keymaps/333fred/config.h
index 319013208..87b5b6637 100644
--- a/keyboards/handwired/dactyl_manuform/5x6/keymaps/333fred/config.h
+++ b/keyboards/handwired/dactyl_manuform/5x6/keymaps/333fred/config.h
@@ -1,3 +1,25 @@
1/*
2 Copyright (c) 2020 Fred Silberberg
3
4 Permission is hereby granted, free of charge, to any person obtaining a copy
5 of this software and associated documentation files (the "Software"), to deal
6 in the Software without restriction, including without limitation the rights
7 to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8 copies of the Software, and to permit persons to whom the Software is
9 furnished to do so, subject to the following conditions:
10
11 The above copyright notice and this permission notice shall be included in all
12 copies or substantial portions of the Software.
13
14 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17 AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18 LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
20 THE SOFTWARE.
21*/
22
1#pragma once 23#pragma once
2 24
3#define USE_SERIAL 25#define USE_SERIAL
diff --git a/keyboards/handwired/dactyl_manuform/5x6/keymaps/333fred/keymap.c b/keyboards/handwired/dactyl_manuform/5x6/keymaps/333fred/keymap.c
index d8ac1910b..78c16fb55 100644
--- a/keyboards/handwired/dactyl_manuform/5x6/keymaps/333fred/keymap.c
+++ b/keyboards/handwired/dactyl_manuform/5x6/keymaps/333fred/keymap.c
@@ -1,3 +1,25 @@
1/*
2 Copyright (c) 2020 Fred Silberberg
3
4 Permission is hereby granted, free of charge, to any person obtaining a copy
5 of this software and associated documentation files (the "Software"), to deal
6 in the Software without restriction, including without limitation the rights
7 to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8 copies of the Software, and to permit persons to whom the Software is
9 furnished to do so, subject to the following conditions:
10
11 The above copyright notice and this permission notice shall be included in all
12 copies or substantial portions of the Software.
13
14 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17 AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18 LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
20 THE SOFTWARE.
21*/
22
1#include QMK_KEYBOARD_H 23#include QMK_KEYBOARD_H
2#include "333fred.h" 24#include "333fred.h"
3 25
diff --git a/keyboards/handwired/dactyl_manuform/5x6_5/keymaps/333fred/config.h b/keyboards/handwired/dactyl_manuform/5x6_5/keymaps/333fred/config.h
new file mode 100644
index 000000000..eea543ae2
--- /dev/null
+++ b/keyboards/handwired/dactyl_manuform/5x6_5/keymaps/333fred/config.h
@@ -0,0 +1,40 @@
1/*
2 Copyright (c) 2020 Fred Silberberg
3
4 Permission is hereby granted, free of charge, to any person obtaining a copy
5 of this software and associated documentation files (the "Software"), to deal
6 in the Software without restriction, including without limitation the rights
7 to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8 copies of the Software, and to permit persons to whom the Software is
9 furnished to do so, subject to the following conditions:
10
11 The above copyright notice and this permission notice shall be included in all
12 copies or substantial portions of the Software.
13
14 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17 AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18 LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
20 THE SOFTWARE.
21*/
22
23#pragma once
24
25#define USE_SERIAL
26#define EE_HANDS
27
28#undef TAPPING_TERM
29#define TAPPING_TERM 200
30
31#define OLED_DISPLAY_128X64
32
33#define ENCODERS_PAD_A { F4 }
34#define ENCODERS_PAD_B { F5 }
35
36#undef SOFT_SERIAL_PIN
37#define SOFT_SERIAL_PIN D2
38
39#undef OLED_TIMEOUT
40#define OLED_TIMEOUT 240000
diff --git a/keyboards/handwired/dactyl_manuform/5x6_5/keymaps/333fred/keymap.c b/keyboards/handwired/dactyl_manuform/5x6_5/keymaps/333fred/keymap.c
new file mode 100644
index 000000000..f9b5ca6df
--- /dev/null
+++ b/keyboards/handwired/dactyl_manuform/5x6_5/keymaps/333fred/keymap.c
@@ -0,0 +1,579 @@
1/*
2 Copyright (c) 2020 Fred Silberberg
3
4 Permission is hereby granted, free of charge, to any person obtaining a copy
5 of this software and associated documentation files (the "Software"), to deal
6 in the Software without restriction, including without limitation the rights
7 to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8 copies of the Software, and to permit persons to whom the Software is
9 furnished to do so, subject to the following conditions:
10
11 The above copyright notice and this permission notice shall be included in all
12 copies or substantial portions of the Software.
13
14 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17 AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18 LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
20 THE SOFTWARE.
21*/
22
23#include QMK_KEYBOARD_H
24#include "333fred.h"
25
26const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
27
28 [BASE] = LAYOUT_5x6_5(
29 KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
30 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
31 KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
32 OSM(MOD_LSFT), CTL_T(KC_Z), KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, CTL_T(KC_SLSH), OSM(MOD_RSFT),
33 KC_F4, KC_LALT, KC_BSPC, TD(TD_SYM_VIM), KC_DEL, KC_UP, KC_ENT, KC_SPC, OSL(VIM), KC_EQL,
34 KC_LGUI, TD(TD_COPY_PASTE), KC_DOWN, OSM(MOD_RCTL)
35 ),
36
37 [SYMB] = LAYOUT_5x6_5(
38 _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
39 _______, KC_EXLM, KC_AT, KC_LPRN, KC_RPRN, KC_PIPE, _______, KC_7, KC_8, KC_9, _______, KC_F12,
40 _______, KC_HASH, KC_DLR, KC_LCBR, KC_RCBR, KC_GRV, _______, KC_4, KC_5, KC_6, _______, _______,
41 _______, KC_PERC, KC_CIRC, KC_LBRC, KC_RBRC, KC_TILD, _______, KC_1, KC_2, KC_3, _______, _______,
42 KC_F7, _______, _______, _______, _______, KC_VOLU, KC_MPRV, KC_MPLY, KC_MNXT, KC_ENT,
43 _______, _______, KC_VOLD, _______
44 ),
45
46 [VIM] = LAYOUT_5x6_5(
47 _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, RESET, _______,
48 _______, _______, _______, _______, KC_LSFT, _______, _______, _______, _______, _______, _______, _______,
49 _______, DLEFT, DRIGHT, KC_LCTL, KC_LGUI, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______,
50 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
51 _______, _______, _______,_______, _______, TG(GAME), _______, _______, _______, _______,
52 _______, _______, _______, _______
53 ),
54
55 [GAME] = LAYOUT_5x6_5(
56 KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
57 KC_T, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
58 KC_G, KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
59 KC_B, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
60 KC_LOCK, KC_LALT, KC_SPC, KC_ENT, KC_GRV, TG(GAME), _______, _______, _______, KC_EQL,
61 KC_BSPC, KC_F5, KC_F6, _______
62 ),
63};
64
65uint32_t quote_timer;
66
67void keyboard_post_init_user(void) { quote_timer = 0; }
68
69bool process_record_user(uint16_t keycode, keyrecord_t *record) {
70 tap_dance_process_keycode(keycode);
71 return !try_handle_macro(keycode, record);
72}
73
74static void render_logo(void) {
75 static const char PROGMEM qmk_logo[] = {0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8A, 0x8B, 0x8C, 0x8D, 0x8E, 0x8F, 0x90, 0x91, 0x92, 0x93, 0x94, 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, 0xA8, 0xA9, 0xAA, 0xAB, 0xAC, 0xAD, 0xAE, 0xAF, 0xB0, 0xB1, 0xB2, 0xB3, 0xB4, 0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, 0xC8, 0xC9, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF, 0xD0, 0xD1, 0xD2, 0xD3, 0xD4, 0x00};
76
77 oled_write_P(qmk_logo, false);
78}
79
80void render_led_status(void) {
81 led_t led_state = host_keyboard_led_state();
82 if (led_state.num_lock || led_state.caps_lock || led_state.scroll_lock) {
83 oled_write_P(led_state.num_lock ? PSTR("NUM ") : PSTR(" "), false);
84 oled_write_P(led_state.caps_lock ? PSTR("CAP ") : PSTR(" "), false);
85 oled_write_ln_P(led_state.scroll_lock ? PSTR("SCR ") : PSTR(" "), false);
86 }
87}
88
89void render_mods_status(void) {
90 uint8_t mods = get_mods() | get_oneshot_mods();
91 bool ctrl = mods & MOD_MASK_CTRL;
92 bool shft = mods & MOD_MASK_SHIFT;
93 bool alt = mods & MOD_MASK_ALT;
94 bool gui = mods & MOD_MASK_GUI;
95
96 oled_write_P(ctrl ? PSTR("CTRL ") : PSTR(" "), false);
97 oled_write_P(shft ? PSTR("SHIFT ") : PSTR(" "), false);
98 oled_write_P(alt ? PSTR("ALT ") : PSTR(" "), false);
99 oled_write_ln_P(gui ? PSTR("GUI ") : PSTR(" "), false);
100}
101
102#define MAX_LINES 8
103
104void write_quote(const char* data, const uint8_t num_lines) {
105 uint8_t current_line = 0;
106 for (; current_line < (MAX_LINES - num_lines) / 2; current_line++) {
107 oled_advance_page(true);
108 }
109
110 oled_write_ln_P(data, false);
111
112 for (current_line += num_lines; current_line < MAX_LINES; current_line++)
113 {
114 oled_advance_page(true);
115 }
116}
117
118void oled_task_user(void) {
119 if (is_keyboard_master()) {
120 render_logo();
121 oled_advance_page(/* clearPageRemainder */ true);
122 oled_write_P(PSTR("Layer: "), false);
123 switch (get_highest_layer(layer_state)) {
124 case BASE:
125 oled_write_ln_P(PSTR("Base"), false);
126 break;
127 case SYMB:
128 oled_write_ln_P(PSTR("Symbols"), false);
129 break;
130 case VIM:
131 oled_write_ln_P(PSTR("Vim"), false);
132 break;
133 case GAME:
134 oled_write_ln_P(PSTR("Gaming"), false);
135 break;
136 }
137
138 render_mods_status();
139 render_led_status();
140 } else {
141 if ((quote_timer != 0 && timer_elapsed32(quote_timer) < 300000 /* 5 minutes */) || !is_oled_on()) {
142 return;
143 }
144
145 srand(timer_read32());
146 int currentQuote = rand() % 63;
147 quote_timer = timer_read32();
148
149 // Max character count on my screen is 20 characters per line.
150 // Quotes are from various fantasy books, mostly either from
151 // The Stormlight Archive or from The Wheel of Time.
152 switch (currentQuote) {
153 case 0:
154 write_quote(PSTR(" Life before Death \n"
155 " Strength before \n"
156 " Weakness \n"
157 " Journey before \n"
158 " Destination"),
159 5);
160 break;
161 case 1:
162 write_quote(PSTR(" Honor is dead, but \n"
163 "I'll see what I can \n"
164 " do."),
165 3);
166 break;
167 case 2:
168 write_quote(PSTR(" You cannot have my \n"
169 " pain!"),
170 2);
171 break;
172 case 3:
173 write_quote(PSTR(" Pride doesn't win \n"
174 " battles"),
175 2);
176 break;
177 case 4:
178 write_quote(PSTR(" I have practice \n"
179 " following fools in \n"
180 " their reckless \n"
181 " pursuits."),
182 4);
183 break;
184 case 5:
185 write_quote(PSTR(" What is the most \n"
186 " important step a \n"
187 " man can take?"),
188 3);
189 break;
190 case 6:
191 write_quote(PSTR(" It's the next one. \n"
192 " Always the next \n"
193 " step, Dalinar."),
194 3);
195 break;
196 case 7:
197 write_quote(PSTR(" NO MATING."), 1);
198 break;
199 case 8:
200 write_quote(PSTR(" Inappropriate? \n"
201 "Such as... dividing \n"
202 " by zero?"),
203 3);
204 break;
205 case 9:
206 write_quote(PSTR(" I am a stick!"), 1);
207 break;
208 case 10:
209 write_quote(PSTR(" But you could be \n"
210 " fire!"),
211 1);
212 break;
213 case 11:
214 write_quote(PSTR(" Sometimes a \n"
215 " hyprocrite is \n"
216 " nothing more than \n"
217 " than a man in the \n"
218 "process of changing"),
219 5);
220 break;
221 case 12:
222 write_quote(PSTR(" You surrender when \n"
223 " you are dead. Many \n"
224 "a man has been given\n"
225 " less."),
226 4);
227 break;
228 case 13:
229 write_quote(PSTR(" Kneel and swear to \n"
230 " the Lord Dragon,...\n"
231 " or you will be \n"
232 " knelt."),
233 4);
234 break;
235 case 14:
236 write_quote(PSTR("I'm right, anyway. I\n"
237 "wish I wasn't, but I\n"
238 " am. I bloody am."),
239 3);
240 break;
241 case 15:
242 write_quote(PSTR(" Death rides on my \n"
243 " shoulder,. Death \n"
244 " walks in my \n"
245 " footsteps. I am \n"
246 " death."),
247 5);
248 break;
249 case 16:
250 write_quote(PSTR(" The Golden Crane \n"
251 " flies for Tarmon \n"
252 " Gai'don"),
253 3);
254 break;
255 case 17:
256 write_quote(PSTR("You humans are very \n"
257 " excitable"),
258 2);
259 break;
260 case 18:
261 write_quote(PSTR(" Phaw!"), 1);
262 break;
263 case 19:
264 write_quote(PSTR("I may be a fool, but\n"
265 " I intend to be a \n"
266 " live fool."),
267 3);
268 break;
269 case 20:
270 write_quote(PSTR(" Anyone who claimed \n"
271 " that old age had \n"
272 " brought them \n"
273 "patience was either \n"
274 " lying or senile."),
275 5);
276 break;
277 case 21:
278 write_quote(PSTR("Death is light as a \n"
279 "feather; duty, heavy\n"
280 " as a mountain"),
281 3);
282 break;
283 case 22:
284 write_quote(PSTR("Dovie'andi se tovya \n"
285 " sagain."),
286 2);
287 break;
288 case 23:
289 write_quote(PSTR(" Carai an Caldazar! \n"
290 "Carai an Ellisande! \n"
291 " Al Ellisande!"),
292 3);
293 break;
294 case 24:
295 write_quote(PSTR(" Mia dovienya \n"
296 " nesodhin soende."),
297 2);
298 break;
299 case 25:
300 write_quote(PSTR(" The Wheel of Time \n"
301 "turns, and Ages come\n"
302 " and pass, leaving \n"
303 "memories that become\n"
304 " legend."),
305 5);
306 break;
307 case 26:
308 write_quote(PSTR(" Legend fades to \n"
309 "myth, and even myth \n"
310 " is long forgotten \n"
311 " when the Age that \n"
312 "gave it birth comes \n"
313 " again."),
314 6);
315 break;
316 case 27:
317 write_quote(PSTR(" What is too absurd \n"
318 " to believe is \n"
319 "believed because it \n"
320 "is too absurd to be \n"
321 " a lie."),
322 5);
323 break;
324 case 28:
325 write_quote(PSTR("And you gave me the \n"
326 " way out! Chew on \n"
327 "that bitterness for \n"
328 "lunch, you flaming, \n"
329 "burning, misbegotten\n"
330 " liars!"),
331 6);
332 break;
333 case 29:
334 write_quote(PSTR(" He was going to \n"
335 "start having, 'I am \n"
336 "not a bloody Lord', \n"
337 " embroidered on his \n"
338 " coats."),
339 5);
340 break;
341 case 30:
342 write_quote(PSTR("All was not lost, of\n"
343 " course. All was \n"
344 " never lost as long \n"
345 " as you were alive."),
346 4);
347 break;
348 case 31:
349 write_quote(PSTR(" Everything is just \n"
350 " bloody fine!"),
351 2);
352 break;
353 case 32:
354 write_quote(PSTR("The wheel weaves as \n"
355 " the wheel wills"),
356 2);
357 break;
358 case 33:
359 write_quote(PSTR(" Time to toss the \n"
360 " dice"),
361 2);
362 break;
363 case 34:
364 write_quote(PSTR("Always plan for the \n"
365 " worst, child, that \n"
366 " way all your \n"
367 " surprises are \n"
368 " pleasant ones."),
369 5);
370 break;
371 case 35:
372 write_quote(PSTR("'Pessimism, she is a\n"
373 " fond friend of \n"
374 "yours, yes?' 'That's\n"
375 " uncalled for. I \n"
376 " barely know her. \n"
377 "Mere acquaintances, \n"
378 " at best.'"),
379 7);
380 break;
381 case 36:
382 write_quote(PSTR(" Do not trouble \n"
383 "trouble till trouble\n"
384 " troubles you."),
385 3);
386 break;
387 case 37:
388 write_quote(PSTR("If your enemy offers\n"
389 " you two targets, \n"
390 " strike at a third."),
391 3);
392 break;
393 case 38:
394 write_quote(PSTR("The wind was not the\n"
395 "beginning. There are\n"
396 " neither beginnings \n"
397 " nor endings to the \n"
398 " turning of the \n"
399 " Wheel of Time. But \n"
400 " it was _a_ \n"
401 " beginning."),
402 8);
403 break;
404 case 39:
405 write_quote(PSTR("Bloody flaming ashes"), 1);
406 break;
407 case 40:
408 write_quote(PSTR("Then follow Lord Mat\n"
409 " whenever he calls \n"
410 "To dance with Jak O'\n"
411 " the Shadows."),
412 4);
413 break;
414 case 41:
415 write_quote(PSTR(" There are no \n"
416 " endings, and never \n"
417 "will be endings, to \n"
418 " the turning of the \n"
419 " Wheel of Time. But \n"
420 " it was an ending."),
421 6);
422 break;
423 case 42:
424 write_quote(PSTR(" TAI'SHAR MALKIER!"), 1);
425 break;
426 case 43:
427 write_quote(PSTR("I would not mind you\n"
428 " in my head, if you \n"
429 "were not so clearly \n"
430 " mad."),
431 4);
432 break;
433 case 44:
434 write_quote(PSTR(" ILYENA, MY LOVE, \n"
435 " FORGIVE ME!"),
436 2);
437 break;
438 case 45:
439 write_quote(PSTR(" Oh, Light. That's \n"
440 "impossible! We can't\n"
441 " use it! Cast it \n"
442 "away! That is death \n"
443 " we hold, death and \n"
444 "betrayal. It is HIM."),
445 6);
446 break;
447 case 46:
448 write_quote(PSTR("Nothing ever goes as\n"
449 " you expect. Expect \n"
450 " nothing, and you \n"
451 " will not be \n"
452 " surprised. Expect \n"
453 " nothing. Hope for \n"
454 " nothing. Nothing."),
455 7);
456 break;
457 case 47:
458 write_quote(PSTR(" Distant Weeping"), 1);
459 break;
460 case 48:
461 write_quote(PSTR("Are you real? Am I?"), 1);
462 break;
463 case 49:
464 write_quote(PSTR(" I'm just an old \n"
465 "gleeman, who could I\n"
466 " possibly be \n"
467 " dangerous to?"),
468 4);
469 break;
470 case 50:
471 write_quote(PSTR(" Mat bloody Cauthon \n"
472 " is no bloody hero!"),
473 2);
474 break;
475 case 51:
476 write_quote(PSTR("You are a coward and\n"
477 " a tyrant. I'd name \n"
478 " you Darkfriend as \n"
479 "well, but I suspect \n"
480 " that the Dark One \n"
481 " would perhaps be \n"
482 " embarrassed to \n"
483 "associate with you."),
484 8);
485 break;
486 case 52:
487 write_quote(PSTR(" I win again, Lews \n"
488 " Therin."),
489 2);
490 break;
491 case 53:
492 write_quote(PSTR("May you always find \n"
493 " water and shade."),
494 2);
495 break;
496 case 54:
497 write_quote(PSTR(" I will never serve \n"
498 "you, Father of Lies.\n"
499 "In a thousand lives,\n"
500 "I never have. I know\n"
501 " that. I'm sure of \n"
502 "it. Come. It is time\n"
503 " to die."),
504 7);
505 break;
506 case 55:
507 write_quote(PSTR(" There may be more \n"
508 "than one way to skin\n"
509 " a cat, but the cat \n"
510 "isn't going to like \n"
511 " any of them."),
512 5);
513 break;
514 case 56:
515 write_quote(PSTR("Please see that they\n"
516 " know, although the \n"
517 "word Black may brand\n"
518 "my name forever, my \n"
519 "soul is Brown. Tell \n"
520 " them..."),
521 6);
522 break;
523 case 57:
524 write_quote(PSTR(" 'Your soul is of a \n"
525 "pure white, Verin,' \n"
526 "Egwene said softly. \n"
527 " 'Like the Light \n"
528 " itself.'"),
529 5);
530 break;
531 case 58:
532 write_quote(PSTR(" Asha'man, Kill!"), 1);
533 break;
534 case 59:
535 write_quote(PSTR(" Let the lord of \n"
536 " chaos rule."),
537 2);
538 break;
539 case 60:
540 write_quote(PSTR(" There's always \n"
541 " another secret."),
542 2);
543 break;
544 case 61:
545 write_quote(PSTR(" You see the great \n"
546 "thing about madness \n"
547 "is that it's all in \n"
548 " your head."),
549 4);
550 break;
551 case 62:
552 write_quote(PSTR(" In one Age, called \n"
553 " the Third Age by \n"
554 "some, an Age yet to \n"
555 " come, an Age long \n"
556 " past, a wind rose \n"
557 " above..."),
558 6);
559 break;
560 }
561 }
562}
563
564void encoder_update_user(uint8_t index, bool clockwise) {
565 // On the left, control the volume. On the right, scroll the page
566 if (index == 0) {
567 if (clockwise) {
568 tap_code(KC_WH_U);
569 } else {
570 tap_code(KC_WH_D);
571 }
572 } else {
573 if (clockwise) {
574 tap_code(KC_VOLU);
575 } else {
576 tap_code(KC_VOLD);
577 }
578 }
579}
diff --git a/keyboards/handwired/dactyl_manuform/5x6_5/keymaps/333fred/rules.mk b/keyboards/handwired/dactyl_manuform/5x6_5/keymaps/333fred/rules.mk
new file mode 100644
index 000000000..2bd6620c2
--- /dev/null
+++ b/keyboards/handwired/dactyl_manuform/5x6_5/keymaps/333fred/rules.mk
@@ -0,0 +1,4 @@
1KEY_LOCK_ENABLE = yes
2CONSOLE_ENABLE = no
3OLED_DRIVER_ENABLE = yes
4ENCODER_ENABLE = yes
diff --git a/keyboards/keebio/iris/keymaps/333fred/config.h b/keyboards/keebio/iris/keymaps/333fred/config.h
index c3997b0f4..3c8ba4cb2 100644
--- a/keyboards/keebio/iris/keymaps/333fred/config.h
+++ b/keyboards/keebio/iris/keymaps/333fred/config.h
@@ -1,3 +1,25 @@
1/*
2 Copyright (c) 2020 Fred Silberberg
3
4 Permission is hereby granted, free of charge, to any person obtaining a copy
5 of this software and associated documentation files (the "Software"), to deal
6 in the Software without restriction, including without limitation the rights
7 to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8 copies of the Software, and to permit persons to whom the Software is
9 furnished to do so, subject to the following conditions:
10
11 The above copyright notice and this permission notice shall be included in all
12 copies or substantial portions of the Software.
13
14 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17 AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18 LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
20 THE SOFTWARE.
21*/
22
1#pragma once 23#pragma once
2 24
3#define USE_SERIAL 25#define USE_SERIAL
diff --git a/keyboards/keebio/iris/keymaps/333fred/keymap.c b/keyboards/keebio/iris/keymaps/333fred/keymap.c
index b8a65d7d2..1141e6b00 100644
--- a/keyboards/keebio/iris/keymaps/333fred/keymap.c
+++ b/keyboards/keebio/iris/keymaps/333fred/keymap.c
@@ -1,3 +1,25 @@
1/*
2 Copyright (c) 2020 Fred Silberberg
3
4 Permission is hereby granted, free of charge, to any person obtaining a copy
5 of this software and associated documentation files (the "Software"), to deal
6 in the Software without restriction, including without limitation the rights
7 to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8 copies of the Software, and to permit persons to whom the Software is
9 furnished to do so, subject to the following conditions:
10
11 The above copyright notice and this permission notice shall be included in all
12 copies or substantial portions of the Software.
13
14 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17 AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18 LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
20 THE SOFTWARE.
21*/
22
1#include QMK_KEYBOARD_H 23#include QMK_KEYBOARD_H
2#include "333fred.h" 24#include "333fred.h"
3 25
diff --git a/keyboards/naked60/keymaps/333fred/keymap.c b/keyboards/naked60/keymaps/333fred/keymap.c
index 3331dee9b..7185ec78b 100644
--- a/keyboards/naked60/keymaps/333fred/keymap.c
+++ b/keyboards/naked60/keymaps/333fred/keymap.c
@@ -1,3 +1,25 @@
1/*
2 Copyright (c) 2020 Fred Silberberg
3
4 Permission is hereby granted, free of charge, to any person obtaining a copy
5 of this software and associated documentation files (the "Software"), to deal
6 in the Software without restriction, including without limitation the rights
7 to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8 copies of the Software, and to permit persons to whom the Software is
9 furnished to do so, subject to the following conditions:
10
11 The above copyright notice and this permission notice shall be included in all
12 copies or substantial portions of the Software.
13
14 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17 AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18 LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
20 THE SOFTWARE.
21*/
22
1#include QMK_KEYBOARD_H 23#include QMK_KEYBOARD_H
2#include "333fred.h" 24#include "333fred.h"
3 25
diff --git a/keyboards/rgbkb/zen/rev1/keymaps/333fred/config.h b/keyboards/rgbkb/zen/rev1/keymaps/333fred/config.h
index 1634f368c..38e5590d3 100644
--- a/keyboards/rgbkb/zen/rev1/keymaps/333fred/config.h
+++ b/keyboards/rgbkb/zen/rev1/keymaps/333fred/config.h
@@ -1,18 +1,23 @@
1/* 1/*
2Copyright 2018 Fredric Silberberg 2 Copyright (c) 2020 Fred Silberberg
3 3
4This program is free software: you can redistribute it and/or modify 4 Permission is hereby granted, free of charge, to any person obtaining a copy
5it under the terms of the GNU General Public License as published by 5 of this software and associated documentation files (the "Software"), to deal
6the Free Software Foundation, either version 2 of the License, or 6 in the Software without restriction, including without limitation the rights
7(at your option) any later version. 7 to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8 8 copies of the Software, and to permit persons to whom the Software is
9This program is distributed in the hope that it will be useful, 9 furnished to do so, subject to the following conditions:
10but WITHOUT ANY WARRANTY; without even the implied warranty of 10
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 The above copyright notice and this permission notice shall be included in all
12GNU General Public License for more details. 12 copies or substantial portions of the Software.
13 13
14You should have received a copy of the GNU General Public License 14 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15along with this program. If not, see <http://www.gnu.org/licenses/>. 15 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17 AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18 LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
20 THE SOFTWARE.
16*/ 21*/
17 22
18#pragma once 23#pragma once
diff --git a/keyboards/rgbkb/zen/rev1/keymaps/333fred/keymap.c b/keyboards/rgbkb/zen/rev1/keymaps/333fred/keymap.c
index 53756344f..946ca79ef 100644
--- a/keyboards/rgbkb/zen/rev1/keymaps/333fred/keymap.c
+++ b/keyboards/rgbkb/zen/rev1/keymaps/333fred/keymap.c
@@ -1,3 +1,25 @@
1/*
2 Copyright (c) 2020 Fred Silberberg
3
4 Permission is hereby granted, free of charge, to any person obtaining a copy
5 of this software and associated documentation files (the "Software"), to deal
6 in the Software without restriction, including without limitation the rights
7 to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8 copies of the Software, and to permit persons to whom the Software is
9 furnished to do so, subject to the following conditions:
10
11 The above copyright notice and this permission notice shall be included in all
12 copies or substantial portions of the Software.
13
14 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17 AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18 LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
20 THE SOFTWARE.
21*/
22
1#include QMK_KEYBOARD_H 23#include QMK_KEYBOARD_H
2#include "333fred.h" 24#include "333fred.h"
3 25
diff --git a/layouts/community/ergodox/333fred/config.h b/layouts/community/ergodox/333fred/config.h
index 5a91ea3aa..0509ddbbb 100644
--- a/layouts/community/ergodox/333fred/config.h
+++ b/layouts/community/ergodox/333fred/config.h
@@ -1,3 +1,25 @@
1/*
2 Copyright (c) 2020 Fred Silberberg
3
4 Permission is hereby granted, free of charge, to any person obtaining a copy
5 of this software and associated documentation files (the "Software"), to deal
6 in the Software without restriction, including without limitation the rights
7 to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8 copies of the Software, and to permit persons to whom the Software is
9 furnished to do so, subject to the following conditions:
10
11 The above copyright notice and this permission notice shall be included in all
12 copies or substantial portions of the Software.
13
14 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17 AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18 LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
20 THE SOFTWARE.
21*/
22
1#pragma once 23#pragma once
2 24
3#include QMK_KEYBOARD_CONFIG_H 25#include QMK_KEYBOARD_CONFIG_H
diff --git a/layouts/community/ergodox/333fred/keymap.c b/layouts/community/ergodox/333fred/keymap.c
index 134592766..b9aefd929 100644
--- a/layouts/community/ergodox/333fred/keymap.c
+++ b/layouts/community/ergodox/333fred/keymap.c
@@ -1,3 +1,25 @@
1/*
2 Copyright (c) 2020 Fred Silberberg
3
4 Permission is hereby granted, free of charge, to any person obtaining a copy
5 of this software and associated documentation files (the "Software"), to deal
6 in the Software without restriction, including without limitation the rights
7 to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8 copies of the Software, and to permit persons to whom the Software is
9 furnished to do so, subject to the following conditions:
10
11 The above copyright notice and this permission notice shall be included in all
12 copies or substantial portions of the Software.
13
14 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17 AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18 LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
20 THE SOFTWARE.
21*/
22
1#include QMK_KEYBOARD_H 23#include QMK_KEYBOARD_H
2#include "debug.h" 24#include "debug.h"
3#include "action_layer.h" 25#include "action_layer.h"
diff --git a/layouts/community/ortho_5x12/333fred/config.h b/layouts/community/ortho_5x12/333fred/config.h
index 2e5dfe2e2..bdbeead54 100644
--- a/layouts/community/ortho_5x12/333fred/config.h
+++ b/layouts/community/ortho_5x12/333fred/config.h
@@ -1,3 +1,25 @@
1/*
2 Copyright (c) 2020 Fred Silberberg
3
4 Permission is hereby granted, free of charge, to any person obtaining a copy
5 of this software and associated documentation files (the "Software"), to deal
6 in the Software without restriction, including without limitation the rights
7 to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8 copies of the Software, and to permit persons to whom the Software is
9 furnished to do so, subject to the following conditions:
10
11 The above copyright notice and this permission notice shall be included in all
12 copies or substantial portions of the Software.
13
14 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17 AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18 LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
20 THE SOFTWARE.
21*/
22
1#pragma once 23#pragma once
2 24
3#define USE_SERIAL 25#define USE_SERIAL
diff --git a/layouts/community/ortho_5x12/333fred/keymap.c b/layouts/community/ortho_5x12/333fred/keymap.c
index a228a49d4..e270b4089 100644
--- a/layouts/community/ortho_5x12/333fred/keymap.c
+++ b/layouts/community/ortho_5x12/333fred/keymap.c
@@ -1,3 +1,25 @@
1/*
2 Copyright (c) 2020 Fred Silberberg
3
4 Permission is hereby granted, free of charge, to any person obtaining a copy
5 of this software and associated documentation files (the "Software"), to deal
6 in the Software without restriction, including without limitation the rights
7 to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8 copies of the Software, and to permit persons to whom the Software is
9 furnished to do so, subject to the following conditions:
10
11 The above copyright notice and this permission notice shall be included in all
12 copies or substantial portions of the Software.
13
14 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17 AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18 LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
20 THE SOFTWARE.
21*/
22
1#include QMK_KEYBOARD_H 23#include QMK_KEYBOARD_H
2#include "333fred.h" 24#include "333fred.h"
3 25
diff --git a/users/333fred/333fred.c b/users/333fred/333fred.c
index 79df8c4de..621b9e664 100644
--- a/users/333fred/333fred.c
+++ b/users/333fred/333fred.c
@@ -1,3 +1,25 @@
1/*
2 Copyright (c) 2020 Fred Silberberg
3
4 Permission is hereby granted, free of charge, to any person obtaining a copy
5 of this software and associated documentation files (the "Software"), to deal
6 in the Software without restriction, including without limitation the rights
7 to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8 copies of the Software, and to permit persons to whom the Software is
9 furnished to do so, subject to the following conditions:
10
11 The above copyright notice and this permission notice shall be included in all
12 copies or substantial portions of the Software.
13
14 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17 AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18 LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
20 THE SOFTWARE.
21*/
22
1#include "333fred.h" 23#include "333fred.h"
2#include "quantum.h" 24#include "quantum.h"
3#include "action.h" 25#include "action.h"
diff --git a/users/333fred/333fred.h b/users/333fred/333fred.h
index 716b61a25..0532ff2df 100644
--- a/users/333fred/333fred.h
+++ b/users/333fred/333fred.h
@@ -1,16 +1,37 @@
1/*
2 Copyright (c) 2020 Fred Silberberg
3
4 Permission is hereby granted, free of charge, to any person obtaining a copy
5 of this software and associated documentation files (the "Software"), to deal
6 in the Software without restriction, including without limitation the rights
7 to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8 copies of the Software, and to permit persons to whom the Software is
9 furnished to do so, subject to the following conditions:
10
11 The above copyright notice and this permission notice shall be included in all
12 copies or substantial portions of the Software.
13
14 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17 AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18 LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
20 THE SOFTWARE.
21*/
22
1#pragma once 23#pragma once
2 24
3#include "quantum.h" 25#include "quantum.h"
4#include "layout_macros.h" 26#include "layout_macros.h"
5 27
6#define BASE 0 28#define BASE 0
7#define CODE 1 // code layer 29#define CODEFLOW 1
8#define CODEFLOW 2 30#define SYMB 2
9#define SYMB 3 31#define MDIA 3 // media keys
10#define MDIA 4 // media keys 32#define VIM 4
11#define VIM 5 33#define GAME 5
12#define GAME 6 34#define GAME_ARROW 6
13#define GAME_ARROW 7
14 35
15// Tap dance config shared between my keyboards 36// Tap dance config shared between my keyboards
16enum tap_dance_declarations { 37enum tap_dance_declarations {
diff --git a/users/333fred/config.h b/users/333fred/config.h
index 5974b7892..0bbaa38a9 100644
--- a/users/333fred/config.h
+++ b/users/333fred/config.h
@@ -1,3 +1,25 @@
1/*
2 Copyright (c) 2020 Fred Silberberg
3
4 Permission is hereby granted, free of charge, to any person obtaining a copy
5 of this software and associated documentation files (the "Software"), to deal
6 in the Software without restriction, including without limitation the rights
7 to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8 copies of the Software, and to permit persons to whom the Software is
9 furnished to do so, subject to the following conditions:
10
11 The above copyright notice and this permission notice shall be included in all
12 copies or substantial portions of the Software.
13
14 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17 AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18 LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
20 THE SOFTWARE.
21*/
22
1#pragma once 23#pragma once
2 24
3#define PERMISSIVE_HOLD 25#define PERMISSIVE_HOLD
diff --git a/users/333fred/layout_macros.h b/users/333fred/layout_macros.h
index 3b163f6ce..d46a41905 100644
--- a/users/333fred/layout_macros.h
+++ b/users/333fred/layout_macros.h
@@ -1,3 +1,25 @@
1/*
2 Copyright (c) 2020 Fred Silberberg
3
4 Permission is hereby granted, free of charge, to any person obtaining a copy
5 of this software and associated documentation files (the "Software"), to deal
6 in the Software without restriction, including without limitation the rights
7 to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8 copies of the Software, and to permit persons to whom the Software is
9 furnished to do so, subject to the following conditions:
10
11 The above copyright notice and this permission notice shall be included in all
12 copies or substantial portions of the Software.
13
14 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17 AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18 LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
20 THE SOFTWARE.
21*/
22
1#pragma once 23#pragma once
2 24
3#define SIX_TRNS _______, _______, _______, _______, _______, _______ 25#define SIX_TRNS _______, _______, _______, _______, _______, _______
diff --git a/users/333fred/rgb.c b/users/333fred/rgb.c
index c86cd1c77..d28714330 100644
--- a/users/333fred/rgb.c
+++ b/users/333fred/rgb.c
@@ -1,3 +1,25 @@
1/*
2 Copyright (c) 2020 Fred Silberberg
3
4 Permission is hereby granted, free of charge, to any person obtaining a copy
5 of this software and associated documentation files (the "Software"), to deal
6 in the Software without restriction, including without limitation the rights
7 to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8 copies of the Software, and to permit persons to whom the Software is
9 furnished to do so, subject to the following conditions:
10
11 The above copyright notice and this permission notice shall be included in all
12 copies or substantial portions of the Software.
13
14 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17 AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18 LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
20 THE SOFTWARE.
21*/
22
1#include "quantum.h" 23#include "quantum.h"
2#include "333fred.h" 24#include "333fred.h"
3 25
diff --git a/users/333fred/rules.mk b/users/333fred/rules.mk
index 191422e36..265a6c18c 100644
--- a/users/333fred/rules.mk
+++ b/users/333fred/rules.mk
@@ -7,3 +7,4 @@ endif
7TAP_DANCE_ENABLE=yes 7TAP_DANCE_ENABLE=yes
8NKRO_ENABLE = yes 8NKRO_ENABLE = yes
9PERMISSIVE_HOLD = yes 9PERMISSIVE_HOLD = yes
10LTO_ENABLE = yes