aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--keyboards/0xcb/static/config.h70
-rw-r--r--keyboards/0xcb/static/gfxfont.c277
-rw-r--r--keyboards/0xcb/static/info.json102
-rw-r--r--keyboards/0xcb/static/keymaps/default/keymap.c190
-rw-r--r--keyboards/0xcb/static/keymaps/via/keymap.c197
-rw-r--r--keyboards/0xcb/static/keymaps/via/rules.mk1
-rw-r--r--keyboards/0xcb/static/readme.md27
-rw-r--r--keyboards/0xcb/static/rules.mk26
-rw-r--r--keyboards/0xcb/static/static.c17
-rw-r--r--keyboards/0xcb/static/static.h48
-rw-r--r--keyboards/crkbd/keymaps/davidrambo/config.h84
-rw-r--r--keyboards/crkbd/keymaps/davidrambo/keymap.c126
-rw-r--r--keyboards/crkbd/keymaps/davidrambo/readme.md1
-rw-r--r--keyboards/crkbd/keymaps/davidrambo/rules.mk3
-rw-r--r--keyboards/dinofizz/fnrow/v1/chconf.h35
-rw-r--r--keyboards/dinofizz/fnrow/v1/config.h36
-rw-r--r--keyboards/dinofizz/fnrow/v1/halconf.h51
-rw-r--r--keyboards/dinofizz/fnrow/v1/info.json78
-rw-r--r--keyboards/dinofizz/fnrow/v1/keymaps/default/keymap.c22
-rw-r--r--keyboards/dinofizz/fnrow/v1/keymaps/default/readme.md1
-rw-r--r--keyboards/dinofizz/fnrow/v1/keymaps/via/keymap.c34
-rw-r--r--keyboards/dinofizz/fnrow/v1/keymaps/via/rules.mk1
-rw-r--r--keyboards/dinofizz/fnrow/v1/mcuconf.h28
-rw-r--r--keyboards/dinofizz/fnrow/v1/readme.md28
-rw-r--r--keyboards/dinofizz/fnrow/v1/rules.mk25
-rw-r--r--keyboards/dinofizz/fnrow/v1/v1.c36
-rw-r--r--keyboards/dinofizz/fnrow/v1/v1.h25
-rw-r--r--keyboards/gh60/satan/keymaps/bri/keymap.c6
-rw-r--r--keyboards/gray_studio/think65/solder/keymaps/dangjoeltang/keymap.c232
-rw-r--r--keyboards/gray_studio/think65/solder/keymaps/dangjoeltang/readme.md9
-rw-r--r--keyboards/keebio/iris/keymaps/davidrambo/keymap.c126
-rw-r--r--keyboards/ky01/info.json513
-rw-r--r--keyboards/planck/keymaps/davidrambo/keymap.c39
-rw-r--r--keyboards/preonic/keymaps/davidrambo/config.h20
-rwxr-xr-xkeyboards/preonic/keymaps/davidrambo/keymap.c179
-rw-r--r--keyboards/preonic/keymaps/davidrambo/rules.mk3
-rw-r--r--keyboards/ramonimbao/chevron/info.json2
-rw-r--r--keyboards/xd75/keymaps/davidrambo/keymap.c130
-rw-r--r--keyboards/xd75/keymaps/davidrambo/readme.md5
-rw-r--r--message.mk4
-rw-r--r--tmk_core/avr.mk2
41 files changed, 2283 insertions, 556 deletions
diff --git a/keyboards/0xcb/static/config.h b/keyboards/0xcb/static/config.h
new file mode 100644
index 000000000..0d36b931e
--- /dev/null
+++ b/keyboards/0xcb/static/config.h
@@ -0,0 +1,70 @@
1/*
2Copyright 2021 0xCB - Conor Burns
3
4This program is free software: you can redistribute it and/or modify
5it under the terms of the GNU General Public License as published by
6the Free Software Foundation, either version 2 of the License, or
7(at your option) any later version.
8
9This program is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12GNU General Public License for more details.
13
14You should have received a copy of the GNU General Public License
15along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/
17#pragma once
18
19#include "config_common.h"
20// clang-format off
21/* USB Device descriptor parameter */
22#define VENDOR_ID 0xCB00
23#define PRODUCT_ID 0xA455
24#define DEVICE_VER 0x0001
25#define MANUFACTURER 0xCB
26#define PRODUCT Static
27
28/* key matrix size */
29#define MATRIX_ROWS 8
30#define MATRIX_COLS 6
31
32
33/*
34 * Keyboard Matrix Assignments
35 *
36 * Change this to how you wired your keyboard
37 * COLS: AVR pins used for columns, left to right
38 * ROWS: AVR pins used for rows, top to bottom
39 * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
40 * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
41 *
42*/
43#define MATRIX_ROW_PINS { D5, D6, D7, B0, B1, B2, B3, B4 }
44#define MATRIX_COL_PINS { B5, D4, C0, C1, C2, C3 }
45#define UNUSED_PINS
46
47/* COL2ROW, ROW2COL*/
48#define DIODE_DIRECTION COL2ROW
49
50#define TAP_CODE_DELAY 10
51#define ENCODER_DIRECTION_FLIP
52#define ENCODER_RESOLUTION 4
53#define ENCODERS_PAD_A { D0 }
54#define ENCODERS_PAD_B { D1 }
55// clang-format on
56/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
57#define DEBOUNCE 5
58
59/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
60#define LOCKING_SUPPORT_ENABLE
61/* Locking resynchronize hack */
62#define LOCKING_RESYNC_ENABLE
63
64/* oled custom font */
65#define OLED_FONT_END 255
66#define OLED_FONT_H "gfxfont.c"
67
68/* bootmagic */
69#define BOOTMAGIC_LITE_ROW 0
70#define BOOTMAGIC_LITE_COLUMN 0
diff --git a/keyboards/0xcb/static/gfxfont.c b/keyboards/0xcb/static/gfxfont.c
new file mode 100644
index 000000000..3f499a530
--- /dev/null
+++ b/keyboards/0xcb/static/gfxfont.c
@@ -0,0 +1,277 @@
1/*
2Copyright 2021 0xCB - Conor Burns
3
4This program is free software: you can redistribute it and/or modify
5it under the terms of the GNU General Public License as published by
6the Free Software Foundation, either version 2 of the License, or
7(at your option) any later version.
8
9This program is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12GNU General Public License for more details.
13
14You should have received a copy of the GNU General Public License
15along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/
17#include "progmem.h"
18// clang-format off
19static const unsigned char font[] PROGMEM = {
20 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
21 0x3E, 0x5B, 0x4F, 0x5B, 0x3E, 0x00,
22 0x3E, 0x6B, 0x4F, 0x6B, 0x3E, 0x00,
23 0x1C, 0x3E, 0x7C, 0x3E, 0x1C, 0x00,
24 0x18, 0x3C, 0x7E, 0x3C, 0x18, 0x00,
25 0x1C, 0x57, 0x7D, 0x57, 0x1C, 0x00,
26 0x1C, 0x5E, 0x7F, 0x5E, 0x1C, 0x00,
27 0x00, 0x18, 0x3C, 0x18, 0x00, 0x00,
28 0xFF, 0xE7, 0xC3, 0xE7, 0xFF, 0x00,
29 0x00, 0x18, 0x24, 0x18, 0x00, 0x00,
30 0xFF, 0xE7, 0xDB, 0xE7, 0xFF, 0x00,
31 0x30, 0x48, 0x3A, 0x06, 0x0E, 0x00,
32 0x26, 0x29, 0x79, 0x29, 0x26, 0x00,
33 0x40, 0x7F, 0x05, 0x05, 0x07, 0x00,
34 0x40, 0x7F, 0x05, 0x25, 0x3F, 0x00,
35 0x5A, 0x3C, 0xE7, 0x3C, 0x5A, 0x00,
36 0x7F, 0x3E, 0x1C, 0x1C, 0x08, 0x00,
37 0x08, 0x1C, 0x1C, 0x3E, 0x7F, 0x00,
38 0x14, 0x22, 0x7F, 0x22, 0x14, 0x00,
39 0x5F, 0x5F, 0x00, 0x5F, 0x5F, 0x00,
40 0x06, 0x09, 0x7F, 0x01, 0x7F, 0x00,
41 0x00, 0x66, 0x89, 0x95, 0x6A, 0x00,
42 0x60, 0x60, 0x60, 0x60, 0x60, 0x00,
43 0x94, 0xA2, 0xFF, 0xA2, 0x94, 0x00,
44 0x08, 0x04, 0x7E, 0x04, 0x08, 0x00,
45 0x10, 0x20, 0x7E, 0x20, 0x10, 0x00,
46 0x08, 0x08, 0x2A, 0x1C, 0x08, 0x00,
47 0x08, 0x1C, 0x2A, 0x08, 0x08, 0x00,
48 0x1E, 0x10, 0x10, 0x10, 0x10, 0x00,
49 0x0C, 0x1E, 0x0C, 0x1E, 0x0C, 0x00,
50 0x30, 0x38, 0x3E, 0x38, 0x30, 0x00,
51 0x06, 0x0E, 0x3E, 0x0E, 0x06, 0x00,
52 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
53 0x00, 0x00, 0x5F, 0x00, 0x00, 0x00,
54 0x00, 0x07, 0x00, 0x07, 0x00, 0x00,
55 0x14, 0x7F, 0x14, 0x7F, 0x14, 0x00,
56 0x24, 0x2A, 0x7F, 0x2A, 0x12, 0x00,
57 0x23, 0x13, 0x08, 0x64, 0x62, 0x00,
58 0x36, 0x49, 0x56, 0x20, 0x50, 0x00,
59 0x00, 0x08, 0x07, 0x03, 0x00, 0x00,
60 0x00, 0x1C, 0x22, 0x41, 0x00, 0x00,
61 0x00, 0x41, 0x22, 0x1C, 0x00, 0x00,
62 0x2A, 0x1C, 0x7F, 0x1C, 0x2A, 0x00,
63 0x08, 0x08, 0x3E, 0x08, 0x08, 0x00,
64 0x00, 0x80, 0x70, 0x30, 0x00, 0x00,
65 0x08, 0x08, 0x08, 0x08, 0x08, 0x00,
66 0x00, 0x00, 0x60, 0x60, 0x00, 0x00,
67 0x20, 0x10, 0x08, 0x04, 0x02, 0x00,
68 0x3E, 0x51, 0x49, 0x45, 0x3E, 0x00,
69 0x00, 0x42, 0x7F, 0x40, 0x00, 0x00,
70 0x72, 0x49, 0x49, 0x49, 0x46, 0x00,
71 0x21, 0x41, 0x49, 0x4D, 0x33, 0x00,
72 0x18, 0x14, 0x12, 0x7F, 0x10, 0x00,
73 0x27, 0x45, 0x45, 0x45, 0x39, 0x00,
74 0x3C, 0x4A, 0x49, 0x49, 0x31, 0x00,
75 0x41, 0x21, 0x11, 0x09, 0x07, 0x00,
76 0x36, 0x49, 0x49, 0x49, 0x36, 0x00,
77 0x46, 0x49, 0x49, 0x29, 0x1E, 0x00,
78 0x00, 0x00, 0x14, 0x00, 0x00, 0x00,
79 0x00, 0x40, 0x34, 0x00, 0x00, 0x00,
80 0x00, 0x08, 0x14, 0x22, 0x41, 0x00,
81 0x14, 0x14, 0x14, 0x14, 0x14, 0x00,
82 0x00, 0x41, 0x22, 0x14, 0x08, 0x00,
83 0x02, 0x01, 0x59, 0x09, 0x06, 0x00,
84 0x3E, 0x41, 0x5D, 0x59, 0x4E, 0x00,
85 0x7C, 0x12, 0x11, 0x12, 0x7C, 0x00,
86 0x7F, 0x49, 0x49, 0x49, 0x36, 0x00,
87 0x3E, 0x41, 0x41, 0x41, 0x22, 0x00,
88 0x7F, 0x41, 0x41, 0x41, 0x3E, 0x00,
89 0x7F, 0x49, 0x49, 0x49, 0x41, 0x00,
90 0x7F, 0x09, 0x09, 0x09, 0x01, 0x00,
91 0x3E, 0x41, 0x41, 0x51, 0x73, 0x00,
92 0x7F, 0x08, 0x08, 0x08, 0x7F, 0x00,
93 0x00, 0x41, 0x7F, 0x41, 0x00, 0x00,
94 0x20, 0x40, 0x41, 0x3F, 0x01, 0x00,
95 0x7F, 0x08, 0x14, 0x22, 0x41, 0x00,
96 0x7F, 0x40, 0x40, 0x40, 0x40, 0x00,
97 0x7F, 0x02, 0x1C, 0x02, 0x7F, 0x00,
98 0x7F, 0x04, 0x08, 0x10, 0x7F, 0x00,
99 0x3E, 0x41, 0x41, 0x41, 0x3E, 0x00,
100 0x7F, 0x09, 0x09, 0x09, 0x06, 0x00,
101 0x3E, 0x41, 0x51, 0x21, 0x5E, 0x00,
102 0x7F, 0x09, 0x19, 0x29, 0x46, 0x00,
103 0x26, 0x49, 0x49, 0x49, 0x32, 0x00,
104 0x03, 0x01, 0x7F, 0x01, 0x03, 0x00,
105 0x3F, 0x40, 0x40, 0x40, 0x3F, 0x00,
106 0x1F, 0x20, 0x40, 0x20, 0x1F, 0x00,
107 0x3F, 0x40, 0x38, 0x40, 0x3F, 0x00,
108 0x63, 0x14, 0x08, 0x14, 0x63, 0x00,
109 0x03, 0x04, 0x78, 0x04, 0x03, 0x00,
110 0x61, 0x59, 0x49, 0x4D, 0x43, 0x00,
111 0x00, 0x7F, 0x41, 0x41, 0x41, 0x00,
112 0x02, 0x04, 0x08, 0x10, 0x20, 0x00,
113 0x00, 0x41, 0x41, 0x41, 0x7F, 0x00,
114 0x04, 0x02, 0x01, 0x02, 0x04, 0x00,
115 0x40, 0x40, 0x40, 0x40, 0x40, 0x00,
116 0x00, 0x03, 0x07, 0x08, 0x00, 0x00,
117 0x20, 0x54, 0x54, 0x78, 0x40, 0x00,
118 0x7F, 0x28, 0x44, 0x44, 0x38, 0x00,
119 0x38, 0x44, 0x44, 0x44, 0x28, 0x00,
120 0x38, 0x44, 0x44, 0x28, 0x7F, 0x00,
121 0x38, 0x54, 0x54, 0x54, 0x18, 0x00,
122 0x00, 0x08, 0x7E, 0x09, 0x02, 0x00,
123 0x18, 0x24, 0x24, 0x1C, 0x78, 0x00,
124 0x7F, 0x08, 0x04, 0x04, 0x78, 0x00,
125 0x00, 0x44, 0x7D, 0x40, 0x00, 0x00,
126 0x20, 0x40, 0x40, 0x3D, 0x00, 0x00,
127 0x7F, 0x10, 0x28, 0x44, 0x00, 0x00,
128 0x00, 0x41, 0x7F, 0x40, 0x00, 0x00,
129 0x7C, 0x04, 0x78, 0x04, 0x78, 0x00,
130 0x7C, 0x08, 0x04, 0x04, 0x78, 0x00,
131 0x38, 0x44, 0x44, 0x44, 0x38, 0x00,
132 0xFC, 0x18, 0x24, 0x24, 0x18, 0x00,
133 0x18, 0x24, 0x24, 0x18, 0xFC, 0x00,
134 0x7C, 0x08, 0x04, 0x04, 0x08, 0x00,
135 0x48, 0x54, 0x54, 0x54, 0x24, 0x00,
136 0x04, 0x04, 0x3F, 0x44, 0x24, 0x00,
137 0x3C, 0x40, 0x40, 0x20, 0x7C, 0x00,
138 0x1C, 0x20, 0x40, 0x20, 0x1C, 0x00,
139 0x3C, 0x40, 0x30, 0x40, 0x3C, 0x00,
140 0x44, 0x28, 0x10, 0x28, 0x44, 0x00,
141 0x4C, 0x10, 0x10, 0x10, 0x7C, 0x00,
142 0x44, 0xE4, 0xD4, 0x4C, 0x44, 0x00,
143 0x00, 0x08, 0x36, 0x41, 0x00, 0x00,
144 0x00, 0x00, 0x77, 0x00, 0x00, 0x00,
145 0x00, 0x41, 0x36, 0x08, 0x00, 0x00,
146 0x02, 0x01, 0x02, 0x04, 0x02, 0x00,
147 0x3C, 0x26, 0x23, 0x26, 0x3C, 0x00,
148 0x00, 0xE0, 0xFC, 0x1E, 0x06, 0xC6,
149 0xC6, 0x06, 0x1E, 0xFC, 0xE0, 0x00,
150 0x00, 0x00, 0x60, 0xE0, 0x80, 0x00,
151 0x00, 0x80, 0xE0, 0x60, 0x00, 0x00,
152 0x00, 0x00, 0xE0, 0xF8, 0x3C, 0x0E,
153 0x06, 0x06, 0x06, 0x0E, 0x0C, 0x00,
154 0x00, 0x00, 0xFE, 0xFE, 0x86, 0x86,
155 0x86, 0x86, 0x8C, 0x78, 0x70, 0x00,
156 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
157 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
158 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
159 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
160 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
161 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
162 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
163 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
164 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
165 0xFF, 0xFF, 0x38, 0x38, 0xC0, 0xC0,
166 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
167 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00,
168 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
169 0xFF, 0xFF, 0x0C, 0x0C, 0xF0, 0xF0,
170 0x0C, 0x0C, 0xFF, 0xFF, 0x00, 0x00,
171 0xFF, 0xFF, 0x7F, 0x07, 0x07, 0x07,
172 0x03, 0x03, 0x00, 0x00, 0x00, 0x07,
173 0x07, 0x00, 0x00, 0x00, 0x03, 0x03,
174 0x07, 0x07, 0x07, 0x7F, 0xFF, 0xFF,
175 0x70, 0xD0, 0x70, 0x00, 0x07, 0x05,
176 0x07, 0x02, 0x02, 0x82, 0xC2, 0x42,
177 0x7E, 0xC0, 0xC0, 0xC0, 0x40, 0x7E,
178 0x42, 0xC2, 0x82, 0x02, 0x02, 0x07,
179 0x05, 0x07, 0x00, 0x70, 0xD0, 0x70,
180 0x00, 0x07, 0x3F, 0x78, 0x60, 0x63,
181 0x63, 0x60, 0x78, 0x3F, 0x07, 0x00,
182 0x00, 0x00, 0x60, 0x79, 0x19, 0x06,
183 0x06, 0x19, 0x79, 0x60, 0x00, 0x00,
184 0x00, 0x00, 0x07, 0x1F, 0x3C, 0x70,
185 0x60, 0x60, 0x60, 0x70, 0x30, 0x00,
186 0x00, 0x00, 0x7F, 0x7F, 0x61, 0x61,
187 0x61, 0x61, 0x31, 0x1E, 0x0E, 0x00,
188 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
189 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
190 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
191 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
192 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
193 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
194 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
195 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
196 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
197 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00,
198 0x07, 0x07, 0x3F, 0x3F, 0x00, 0x00,
199 0x0F, 0x0F, 0x30, 0x30, 0x30, 0x30,
200 0x30, 0x30, 0x0F, 0x0F, 0x00, 0x00,
201 0x3F, 0x3F, 0x00, 0x00, 0x03, 0x03,
202 0x00, 0x00, 0x3F, 0x3F, 0x00, 0x00,
203 0x83, 0x83, 0x80, 0x00, 0x00, 0x00,
204 0x00, 0x00, 0x00, 0x18, 0x18, 0xFE,
205 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00,
206 0x00, 0x00, 0x00, 0x80, 0x83, 0x83,
207 0xC0, 0x5F, 0xD0, 0x90, 0x90, 0x90,
208 0xFC, 0x06, 0x01, 0xF8, 0xFC, 0xFC,
209 0xC0, 0xC0, 0xFF, 0xFF, 0x00, 0x00,
210 0x3C, 0x3C, 0x30, 0x01, 0x06, 0xFC,
211 0x90, 0x90, 0x90, 0xD0, 0x5F, 0xC0,
212 0x00, 0x18, 0x18, 0x86, 0x86, 0x86,
213 0x86, 0x86, 0x86, 0x78, 0x78, 0x00,
214 0x00, 0x06, 0x06, 0x06, 0x06, 0x86,
215 0x86, 0xE6, 0xE6, 0x1E, 0x1E, 0x00,
216 0x00, 0x80, 0x80, 0x60, 0x60, 0x18,
217 0x18, 0xFE, 0xFE, 0x00, 0x00, 0x00,
218 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
219 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
220 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
221 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
222 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
223 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
224 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
225 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
226 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
227 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
228 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
229 0xFC, 0xFC, 0x03, 0x03, 0x03, 0x03,
230 0x03, 0x03, 0x0C, 0x0C, 0x00, 0x00,
231 0xF0, 0xF0, 0x0C, 0x0C, 0x03, 0x03,
232 0x0C, 0x0C, 0xF0, 0xF0, 0x00, 0x00,
233 0xFF, 0xFF, 0xC3, 0xC3, 0xC3, 0xC3,
234 0xC3, 0xC3, 0x3C, 0x3C, 0x00, 0x00,
235 0xC1, 0xC1, 0x01, 0x00, 0x00, 0x00,
236 0x00, 0x00, 0x00, 0x40, 0x60, 0x7F,
237 0x7F, 0x60, 0x40, 0x00, 0x00, 0x00,
238 0x00, 0x00, 0x00, 0x01, 0xC1, 0xC1,
239 0x01, 0xFD, 0x05, 0x04, 0x04, 0x04,
240 0x1F, 0x30, 0x40, 0x87, 0x9F, 0x1F,
241 0x01, 0x81, 0xFF, 0xFF, 0x00, 0x00,
242 0x1E, 0x9E, 0x86, 0x40, 0x30, 0x1F,
243 0x04, 0x04, 0x04, 0x05, 0xFD, 0x01,
244 0x00, 0x7E, 0x7E, 0x61, 0x61, 0x61,
245 0x61, 0x61, 0x61, 0x60, 0x60, 0x00,
246 0x00, 0x18, 0x18, 0x60, 0x60, 0x61,
247 0x61, 0x61, 0x61, 0x1E, 0x1E, 0x00,
248 0x00, 0x07, 0x07, 0x06, 0x06, 0x06,
249 0x06, 0x7F, 0x7F, 0x06, 0x06, 0x00,
250 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
251 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
252 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
253 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
254 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
255 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
256 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
257 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
258 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
259 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
260 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
261 0x0F, 0x0F, 0x30, 0x30, 0x30, 0x30,
262 0x30, 0x30, 0x0C, 0x0C, 0x00, 0x00,
263 0x3F, 0x3F, 0x03, 0x03, 0x03, 0x03,
264 0x03, 0x03, 0x3F, 0x3F, 0x00, 0x00,
265 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00,
266 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
267 0xFF, 0xFF, 0xFE, 0xE0, 0xE0, 0xE0,
268 0xC0, 0xC0, 0x00, 0x00, 0x00, 0xE0,
269 0xE0, 0x00, 0x00, 0x00, 0xC0, 0xC0,
270 0xE0, 0xE0, 0xE0, 0xFE, 0xFF, 0xFF,
271 0x07, 0x05, 0x07, 0x00, 0x70, 0x50,
272 0x70, 0x20, 0x20, 0x20, 0x21, 0x3F,
273 0x01, 0x61, 0x9F, 0x9F, 0x61, 0x01,
274 0x3F, 0x21, 0x20, 0x20, 0x20, 0x70,
275 0x50, 0x70, 0x00, 0x07, 0x05, 0x07,
276};
277// clang-format on
diff --git a/keyboards/0xcb/static/info.json b/keyboards/0xcb/static/info.json
new file mode 100644
index 000000000..d646471be
--- /dev/null
+++ b/keyboards/0xcb/static/info.json
@@ -0,0 +1,102 @@
1{
2 "keyboard_name": "0xCB Static",
3 "url": "https://0xCB.dev",
4 "maintainer": "Conor-Burns",
5 "width": 12,
6 "height": 5,
7 "layouts": {
8 "LAYOUT": {
9 "layout": [
10 {"x":11, "y":0},
11 {"x":0, "y":1},
12 {"x":1, "y":1},
13 {"x":2, "y":1},
14 {"x":3, "y":1},
15 {"x":4, "y":1},
16 {"x":5, "y":1},
17 {"x":6, "y":1},
18 {"x":7, "y":1},
19 {"x":8, "y":1},
20 {"x":9, "y":1},
21 {"x":10, "y":1},
22 {"x":11, "y":1},
23 {"x":0, "y":2, "w":1.25},
24 {"x":1.25, "y":2},
25 {"x":2.25, "y":2},
26 {"x":3.25, "y":2},
27 {"x":4.25, "y":2},
28 {"x":5.25, "y":2},
29 {"x":6.25, "y":2},
30 {"x":7.25, "y":2},
31 {"x":8.25, "y":2},
32 {"x":9.25, "y":2},
33 {"x":10.25, "y":2, "w":1.75},
34 {"x":0, "y":3, "w":1.75},
35 {"x":1.75, "y":3},
36 {"x":2.75, "y":3},
37 {"x":3.75, "y":3},
38 {"x":4.75, "y":3},
39 {"x":5.75, "y":3},
40 {"x":6.75, "y":3},
41 {"x":7.75, "y":3},
42 {"x":8.75, "y":3},
43 {"x":9.75, "y":3},
44 {"x":10.75, "y":3, "w":1.25},
45 {"x":0, "y":4},
46 {"x":1, "y":4},
47 {"x":2, "y":4},
48 {"x":3, "y":4, "w":2.75},
49 {"x":5.75, "y":4},
50 {"x":6.75, "y":4, "w":2.25},
51 {"x":9, "y":4},
52 {"x":10, "y":4},
53 {"x":11, "y":4}
54 ]
55 },
56 "LAYOUT_bigbar": {
57 "layout": [
58 {"x":11, "y":0},
59 {"x":0, "y":1},
60 {"x":1, "y":1},
61 {"x":2, "y":1},
62 {"x":3, "y":1},
63 {"x":4, "y":1},
64 {"x":5, "y":1},
65 {"x":6, "y":1},
66 {"x":7, "y":1},
67 {"x":8, "y":1},
68 {"x":9, "y":1},
69 {"x":10, "y":1},
70 {"x":11, "y":1},
71 {"x":0, "y":2, "w":1.25},
72 {"x":1.25, "y":2},
73 {"x":2.25, "y":2},
74 {"x":3.25, "y":2},
75 {"x":4.25, "y":2},
76 {"x":5.25, "y":2},
77 {"x":6.25, "y":2},
78 {"x":7.25, "y":2},
79 {"x":8.25, "y":2},
80 {"x":9.25, "y":2},
81 {"x":10.25, "y":2, "w":1.75},
82 {"x":0, "y":3, "w":1.75},
83 {"x":1.75, "y":3},
84 {"x":2.75, "y":3},
85 {"x":3.75, "y":3},
86 {"x":4.75, "y":3},
87 {"x":5.75, "y":3},
88 {"x":6.75, "y":3},
89 {"x":7.75, "y":3},
90 {"x":8.75, "y":3},
91 {"x":9.75, "y":3},
92 {"x":10.75, "y":3, "w":1.25},
93 {"x":0, "y":4, "w":1.25},
94 {"x":1.25, "y":4},
95 {"x":2.25, "y":4},
96 {"x":3.25, "y":4, "w":6.25},
97 {"x":9.5, "y":4, "w":1.25},
98 {"x":10.75, "y":4, "w":1.25}
99 ]
100 }
101 }
102}
diff --git a/keyboards/0xcb/static/keymaps/default/keymap.c b/keyboards/0xcb/static/keymaps/default/keymap.c
new file mode 100644
index 000000000..2e051d270
--- /dev/null
+++ b/keyboards/0xcb/static/keymaps/default/keymap.c
@@ -0,0 +1,190 @@
1/*
2Copyright 2021 0xCB - Conor Burns
3
4This program is free software: you can redistribute it and/or modify
5it under the terms of the GNU General Public License as published by
6the Free Software Foundation, either version 2 of the License, or
7(at your option) any later version.
8
9This program is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12GNU General Public License for more details.
13
14You should have received a copy of the GNU General Public License
15along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/
17#include QMK_KEYBOARD_H
18// clang-format off
19enum layer_names {
20 _HOME,
21 _FN2,
22 _FN3,
23 _FN4
24};
25const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
26[_HOME] = LAYOUT(
27 KC_MPLY,
28 KC_GESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
29 KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_ENT,
30 KC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_RSPC,
31 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, MO(1), MO(2)
32),
33[_FN2] = LAYOUT(
34 RESET,
35 KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL,
36 KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______,
37 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
38 _______, _______, _______, _______, _______, _______, _______, _______, _______
39),
40[_FN3] = LAYOUT(
41 EEP_RST,
42 _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LBRC, KC_RBRC, KC_BSLS,
43 _______, _______, _______, _______, _______, _______, _______, _______, KC_SCLN, KC_QUOT, _______,
44 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_SLSH,
45 _______, _______, _______, _______, _______, _______, _______, _______, _______
46),
47[_FN4] = LAYOUT(
48 _______,
49 _______, KC_MUTE, KC_VOLD, KC_VOLU, KC_MPRV, KC_MNXT, KC_MSTP, KC_INS, KC_HOME, KC_DEL, KC_END, _______,
50 _______, _______, KC_BRID, KC_BRIU, _______, _______, _______, KC_PGUP, KC_UP, KC_PGDN, _______,
51 _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______,
52 _______, _______, _______, _______, _______, _______, _______, _______, _______
53),
54};
55// clang-format on
56
57/*layer switcher */
58layer_state_t layer_state_set_user(layer_state_t state) {
59state = update_tri_layer_state(state, _FN2, _FN3, _FN4);
60return state;
61}
62/* rotary encoder (MX12) - add different functions for layers here */
63#ifdef ENCODER_ENABLE
64bool encoder_update_user(uint8_t index, bool clockwise) {
65 if (IS_LAYER_ON(_FN4)) {
66 if (clockwise) {
67 tap_code(KC_VOLU);
68 } else {
69 tap_code(KC_VOLD);
70 }
71 } else if (IS_LAYER_ON(_FN3)) {
72 if (clockwise) {
73 tap_code(KC_VOLU);
74 } else {
75 tap_code(KC_VOLD);
76 }
77 } else if (IS_LAYER_ON(_FN2)) {
78 if (clockwise) {
79 tap_code(KC_VOLU);
80 } else {
81 tap_code(KC_VOLD);
82 }
83 } else {
84 if (clockwise) {
85 tap_code(KC_VOLU);
86 } else {
87 tap_code(KC_VOLD);
88 }
89 }
90 return true;
91}
92#endif
93
94/* oled stuff :) */
95#ifdef OLED_DRIVER_ENABLE
96uint16_t startup_timer = 0;
97
98oled_rotation_t oled_init_user(oled_rotation_t rotation) {
99 startup_timer = timer_read();
100 return rotation;
101}
102static void render_logo(void) {
103 static const char PROGMEM raw_logo[] = {
104 0, 8, 0,192,194,192,192, 60, 60, 44, 60,188, 60, 60, 60, 60, 44, 61, 60,192,192,192,208, 1, 0,252,252,180,252, 60, 60, 44, 60,252,253,252,252, 60, 60, 44, 60,244,220,252,252, 0, 0, 16, 0, 0, 0,192,192, 65,192, 60, 60, 52, 60,192,193,192,192, 16, 0, 0,144, 4, 0,252,125,244, 60, 60, 60, 60, 61,252,252,244,252, 60, 60, 60, 61,248,108,252, 0, 0, 61, 60,188, 60, 52,252,252,220,252, 61, 60, 60, 52, 0, 0,192,210, 64,192, 60, 60, 44, 61, 60, 60, 60, 61, 52, 60, 60, 60,192,192, 64,196, 0, 4, 0,
105 0, 16, 0, 61, 63, 55, 63,192, 64,192,196,192,192,192,200,192,196,192,192, 3, 3, 2, 11, 0, 0, 35, 3, 3, 3, 0, 64, 2, 0,255,255,253,247, 0, 0, 0, 32, 1, 0, 1, 65, 8, 0,189,244,252,236, 3,130, 3, 1, 0, 68, 0, 0, 3, 34,131, 3,252,252,236,252, 0, 32, 17, 1, 1, 0, 0, 32, 0, 2,255,255,127,247, 0, 1, 0, 8, 1, 1, 1, 0, 0, 0, 16, 0, 64, 0,255,191,255,251, 0,129, 0, 2, 32, 0,255,255,239,255, 0, 0, 2, 0, 0, 0, 8, 64, 0, 1, 0, 0, 3, 35, 3, 3, 0, 8, 0,
106 1, 16, 0,192, 64,194,192, 3, 67, 3, 3, 9, 3, 3, 3, 3, 2, 83, 3,252,252,188,244, 0, 2, 32, 0, 0, 2, 0,144, 0, 0,255,255,237,255, 0, 16, 0, 0, 0, 64, 2, 0,128, 0,255,123,255,255, 60, 52, 60, 60, 60, 60, 60, 60, 44, 60, 56, 60,239,255,126,255, 0, 2, 32, 0, 0, 34, 0, 0, 16, 0,255,255,255,223, 0, 0, 4, 0, 0, 0, 33, 0, 0, 17, 0, 0, 0, 0,255,255,239,255, 0,128, 0, 0, 72, 0,255,253,247,255, 0, 0, 1, 0,144, 0, 4, 0, 32, 0, 0, 2,192,192,192,200, 0, 16, 0,
107 64, 4, 0, 3, 7, 3, 3, 60, 60, 52,188, 60, 61, 60, 60, 60, 60, 44, 60, 67, 3, 3, 3, 0, 0, 64, 0, 0, 4, 0, 0, 16, 0, 47, 63, 62, 63, 0, 0,132, 0, 0, 0, 0,128, 8, 0,255,255,111,127, 0, 0, 0, 2,128, 0, 0, 0, 64, 4, 0,128,127,127,107,127, 0, 32, 0, 0, 0, 66, 0, 0, 0,136, 55, 63, 61, 63, 0, 0, 0, 2, 0, 64, 0,136, 0, 0, 60, 44,189, 60, 63, 63, 63, 59, 60, 60,172, 60, 0, 64, 3, 2, 3,131, 60, 44, 60, 60, 60, 60,188, 60, 56, 44, 60, 60, 3, 3,131, 2, 0, 32, 2,
108 };
109 oled_write_raw_P(raw_logo, sizeof(raw_logo));
110}
111/* Shows the name of the current layer and locks for the host (CAPS etc.) */
112static void render_layer(void) {
113 led_t led_state = host_keyboard_led_state();
114 // clang-format off
115 static const char PROGMEM logo[][3][7] = {
116 {{0x97, 0x98, 0x99, 0x9A, 0}, {0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0}, {0x9B, 0x9C, 0x9D, 0x9E, 0x9F, 0}}, /* l num CB */
117 {{0xB7, 0xB8, 0xB9, 0xBA, 0}, {0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, 0}, {0xBB, 0xBC, 0xBD, 0xBE, 0xBF, 0}}, /* 1 num CB */
118 {{0xD7, 0xD8, 0xD9, 0xDA, 0}, {0xD1, 0xD2, 0xD3, 0xD4, 0xD5, 0xD6, 0}, {0xDB, 0xDC, 0xDD, 0xDE, 0xDF, 0}}, /* 1 cap CB */
119 {{0xF7, 0xF8, 0xF9, 0xFA, 0}, {0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0}, {0xFB, 0xFC, 0xFD, 0xFE, 0xFF, 0}}, /* l cap CB */
120 {{0xB7, 0xC0, 0xC1, 0xBA, 0}, {0xB7, 0xC2, 0xC3, 0xBA, 0}, {0xB7, 0xC4, 0xC5, 0xBA, 0}}, /* 2 3 4 */
121 {{0xD7, 0xE0, 0xE1, 0xDA, 0}, {0xD7, 0xE2, 0xE3, 0xDA, 0}, {0xD7, 0xE4, 0xE5, 0xDA, 0}}, /* 2 3 4 */
122 };
123 // clang-format on
124 oled_set_cursor(0, 0);
125 oled_write_P(logo[0][0], false);
126 oled_set_cursor(0, 3);
127 oled_write_P(logo[3][0], false);
128 switch (get_highest_layer(layer_state)) {
129 case _HOME:
130 oled_set_cursor(0, 1);
131 oled_write_P(logo[1][0], false);
132 oled_set_cursor(0, 2);
133 oled_write_P(logo[2][0], false);
134 break;
135 case _FN2:
136 oled_set_cursor(0, 1);
137 oled_write_P(logo[4][0], false);
138 oled_set_cursor(0, 2);
139 oled_write_P(logo[5][0], false);
140 break;
141 case _FN3:
142 oled_set_cursor(0, 1);
143 oled_write_P(logo[4][1], false);
144 oled_set_cursor(0, 2);
145 oled_write_P(logo[5][1], false);
146 break;
147 case _FN4:
148 oled_set_cursor(0, 1);
149 oled_write_P(logo[4][2], false);
150 oled_set_cursor(0, 2);
151 oled_write_P(logo[5][2], false);
152 break;
153 default:
154 oled_set_cursor(0, 1);
155 oled_write_P(PSTR(" "), false);
156 oled_set_cursor(0, 2);
157 oled_write_P(PSTR(" "), false);
158 }
159 oled_set_cursor(8, 0);
160 oled_write_P(led_state.num_lock ? logo[0][1] : PSTR(" "), false);
161 oled_set_cursor(8, 1);
162 oled_write_P(led_state.num_lock ? logo[1][1] : PSTR(" "), false);
163 oled_set_cursor(8, 2);
164 oled_write_P(led_state.caps_lock ? logo[2][1] : PSTR(" "), false);
165 oled_set_cursor(8, 3);
166 oled_write_P(led_state.caps_lock ? logo[3][1] : PSTR(" "), false);
167
168 oled_set_cursor(16, 0);
169 oled_write_P(logo[0][2], false);
170 oled_set_cursor(16, 1);
171 oled_write_P(logo[1][2], false);
172 oled_set_cursor(16, 2);
173 oled_write_P(logo[2][2], false);
174 oled_set_cursor(16, 3);
175 oled_write_P(logo[3][2], false);
176}
177
178void oled_task_user(void) {
179 static bool finished_timer = false;
180 if (!finished_timer && (timer_elapsed(startup_timer) < 3000)) {
181 render_logo();
182 } else {
183 if (!finished_timer) {
184 oled_clear();
185 finished_timer = true;
186 }
187 render_layer();
188 }
189}
190#endif
diff --git a/keyboards/0xcb/static/keymaps/via/keymap.c b/keyboards/0xcb/static/keymaps/via/keymap.c
new file mode 100644
index 000000000..c860c941d
--- /dev/null
+++ b/keyboards/0xcb/static/keymaps/via/keymap.c
@@ -0,0 +1,197 @@
1/*
2Copyright 2021 0xCB - Conor Burns
3
4This program is free software: you can redistribute it and/or modify
5it under the terms of the GNU General Public License as published by
6the Free Software Foundation, either version 2 of the License, or
7(at your option) any later version.
8
9This program is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12GNU General Public License for more details.
13
14You should have received a copy of the GNU General Public License
15along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/
17#include QMK_KEYBOARD_H
18// clang-format off
19enum layer_names {
20 _HOME,
21 _FN2,
22 _FN3,
23 _FN4
24};
25const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
26[_HOME] = LAYOUT(
27 KC_MPLY,
28 KC_GESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
29 KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_ENT,
30 KC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_RSPC,
31 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, MO(1), MO(2)
32),
33[_FN2] = LAYOUT(
34 RESET,
35 KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL,
36 KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______,
37 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
38 _______, _______, _______, _______, _______, _______, _______, _______, _______
39),
40[_FN3] = LAYOUT(
41 EEP_RST,
42 _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LBRC, KC_RBRC, KC_BSLS,
43 _______, _______, _______, _______, _______, _______, _______, _______, KC_SCLN, KC_QUOT, _______,
44 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_SLSH,
45 _______, _______, _______, _______, _______, _______, _______, _______, _______
46),
47[_FN4] = LAYOUT(
48 _______,
49 _______, KC_MUTE, KC_VOLD, KC_VOLU, KC_MPRV, KC_MNXT, KC_MSTP, KC_INS, KC_HOME, KC_DEL, KC_END, _______,
50 _______, _______, KC_BRID, KC_BRIU, _______, _______, _______, KC_PGUP, KC_UP, KC_PGDN, _______,
51 _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______,
52 _______, _______, _______, _______, _______, _______, _______, _______, _______
53),
54};
55// clang-format on
56
57/*layer switcher */
58layer_state_t layer_state_set_user(layer_state_t state) {
59state = update_tri_layer_state(state, _FN2, _FN3, _FN4);
60return state;
61}
62/* rotary encoder (MX12) - add different functions for layers here */
63#ifdef ENCODER_ENABLE
64bool encoder_update_user(uint8_t index, bool clockwise) {
65 if (IS_LAYER_ON(_FN4)) {
66 if (clockwise) {
67 tap_code(KC_VOLU);
68 } else {
69 tap_code(KC_VOLD);
70 }
71 } else if (IS_LAYER_ON(_FN3)) {
72 if (clockwise) {
73 tap_code(KC_VOLU);
74 } else {
75 tap_code(KC_VOLD);
76 }
77 } else if (IS_LAYER_ON(_FN2)) {
78 if (clockwise) {
79 tap_code(KC_VOLU);
80 } else {
81 tap_code(KC_VOLD);
82 }
83 } else {
84 if (clockwise) {
85 tap_code(KC_VOLU);
86 } else {
87 tap_code(KC_VOLD);
88 }
89 }
90 return true;
91}
92#endif
93
94/* oled stuff :) */
95#ifdef OLED_DRIVER_ENABLE
96uint16_t startup_timer = 0;
97
98oled_rotation_t oled_init_user(oled_rotation_t rotation) {
99 startup_timer = timer_read();
100 return rotation;
101}
102static void render_logo(void) {
103 static const char PROGMEM raw_logo[] = {
104 0, 8, 0,192,194,192,192, 60, 60, 44, 60,188, 60, 60, 60, 60, 44, 61, 60,192,192,192,208, 1, 0,252,252,180,252, 60, 60, 44, 60,252,253,252,252, 60, 60, 44, 60,244,220,252,252, 0, 0, 16, 0, 0, 0,192,192, 65,192, 60, 60, 52, 60,192,193,192,192, 16, 0, 0,144, 4, 0,252,125,244, 60, 60, 60, 60, 61,252,252,244,252, 60, 60, 60, 61,248,108,252, 0, 0, 61, 60,188, 60, 52,252,252,220,252, 61, 60, 60, 52, 0, 0,192,210, 64,192, 60, 60, 44, 61, 60, 60, 60, 61, 52, 60, 60, 60,192,192, 64,196, 0, 4, 0,
105 0, 16, 0, 61, 63, 55, 63,192, 64,192,196,192,192,192,200,192,196,192,192, 3, 3, 2, 11, 0, 0, 35, 3, 3, 3, 0, 64, 2, 0,255,255,253,247, 0, 0, 0, 32, 1, 0, 1, 65, 8, 0,189,244,252,236, 3,130, 3, 1, 0, 68, 0, 0, 3, 34,131, 3,252,252,236,252, 0, 32, 17, 1, 1, 0, 0, 32, 0, 2,255,255,127,247, 0, 1, 0, 8, 1, 1, 1, 0, 0, 0, 16, 0, 64, 0,255,191,255,251, 0,129, 0, 2, 32, 0,255,255,239,255, 0, 0, 2, 0, 0, 0, 8, 64, 0, 1, 0, 0, 3, 35, 3, 3, 0, 8, 0,
106 1, 16, 0,192, 64,194,192, 3, 67, 3, 3, 9, 3, 3, 3, 3, 2, 83, 3,252,252,188,244, 0, 2, 32, 0, 0, 2, 0,144, 0, 0,255,255,237,255, 0, 16, 0, 0, 0, 64, 2, 0,128, 0,255,123,255,255, 60, 52, 60, 60, 60, 60, 60, 60, 44, 60, 56, 60,239,255,126,255, 0, 2, 32, 0, 0, 34, 0, 0, 16, 0,255,255,255,223, 0, 0, 4, 0, 0, 0, 33, 0, 0, 17, 0, 0, 0, 0,255,255,239,255, 0,128, 0, 0, 72, 0,255,253,247,255, 0, 0, 1, 0,144, 0, 4, 0, 32, 0, 0, 2,192,192,192,200, 0, 16, 0,
107 64, 4, 0, 3, 7, 3, 3, 60, 60, 52,188, 60, 61, 60, 60, 60, 60, 44, 60, 67, 3, 3, 3, 0, 0, 64, 0, 0, 4, 0, 0, 16, 0, 47, 63, 62, 63, 0, 0,132, 0, 0, 0, 0,128, 8, 0,255,255,111,127, 0, 0, 0, 2,128, 0, 0, 0, 64, 4, 0,128,127,127,107,127, 0, 32, 0, 0, 0, 66, 0, 0, 0,136, 55, 63, 61, 63, 0, 0, 0, 2, 0, 64, 0,136, 0, 0, 60, 44,189, 60, 63, 63, 63, 59, 60, 60,172, 60, 0, 64, 3, 2, 3,131, 60, 44, 60, 60, 60, 60,188, 60, 56, 44, 60, 60, 3, 3,131, 2, 0, 32, 2,
108 };
109 oled_write_raw_P(raw_logo, sizeof(raw_logo));
110}
111/* Shows the name of the current layer and locks for the host (CAPS etc.) */
112static void render_layer(void) {
113 led_t led_state = host_keyboard_led_state();
114 // clang-format off
115 static const char PROGMEM logo[][3][7] = {
116 {{0x97, 0x98, 0x99, 0x9A, 0}, {0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0}, {0x9B, 0x9C, 0x9D, 0x9E, 0x9F, 0}}, /* l num CB */
117 {{0xB7, 0xB8, 0xB9, 0xBA, 0}, {0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, 0}, {0xBB, 0xBC, 0xBD, 0xBE, 0xBF, 0}}, /* 1 num CB */
118 {{0xD7, 0xD8, 0xD9, 0xDA, 0}, {0xD1, 0xD2, 0xD3, 0xD4, 0xD5, 0xD6, 0}, {0xDB, 0xDC, 0xDD, 0xDE, 0xDF, 0}}, /* 1 cap CB */
119 {{0xF7, 0xF8, 0xF9, 0xFA, 0}, {0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0}, {0xFB, 0xFC, 0xFD, 0xFE, 0xFF, 0}}, /* l cap CB */
120 {{0xB7, 0xC0, 0xC1, 0xBA, 0}, {0xB7, 0xC2, 0xC3, 0xBA, 0}, {0xB7, 0xC4, 0xC5, 0xBA, 0}}, /* 2 3 4 */
121 {{0xD7, 0xE0, 0xE1, 0xDA, 0}, {0xD7, 0xE2, 0xE3, 0xDA, 0}, {0xD7, 0xE4, 0xE5, 0xDA, 0}}, /* 2 3 4 */
122 };
123 // clang-format on
124 oled_set_cursor(0, 0);
125 oled_write_P(logo[0][0], false);
126 oled_set_cursor(0, 3);
127 oled_write_P(logo[3][0], false);
128 switch (get_highest_layer(layer_state)) {
129 case _HOME:
130 oled_set_cursor(0, 1);
131 oled_write_P(logo[1][0], false);
132 oled_set_cursor(0, 2);
133 oled_write_P(logo[2][0], false);
134 break;
135 case _FN2:
136 oled_set_cursor(0, 1);
137 oled_write_P(logo[4][0], false);
138 oled_set_cursor(0, 2);
139 oled_write_P(logo[5][0], false);
140 break;
141 case _FN3:
142 oled_set_cursor(0, 1);
143 oled_write_P(logo[4][1], false);
144 oled_set_cursor(0, 2);
145 oled_write_P(logo[5][1], false);
146 break;
147 case _FN4:
148 oled_set_cursor(0, 1);
149 oled_write_P(logo[4][2], false);
150 oled_set_cursor(0, 2);
151 oled_write_P(logo[5][2], false);
152 break;
153 default:
154 oled_set_cursor(0, 1);
155 oled_write_P(PSTR(" "), false);
156 oled_set_cursor(0, 2);
157 oled_write_P(PSTR(" "), false);
158 }
159 oled_set_cursor(8, 0);
160 oled_write_P(led_state.num_lock ? logo[0][1] : PSTR(" "), false);
161 oled_set_cursor(8, 1);
162 oled_write_P(led_state.num_lock ? logo[1][1] : PSTR(" "), false);
163 oled_set_cursor(8, 2);
164 oled_write_P(led_state.caps_lock ? logo[2][1] : PSTR(" "), false);
165 oled_set_cursor(8, 3);
166 oled_write_P(led_state.caps_lock ? logo[3][1] : PSTR(" "), false);
167
168 oled_set_cursor(16, 0);
169 oled_write_P(logo[0][2], false);
170 oled_set_cursor(16, 1);
171 oled_write_P(logo[1][2], false);
172 oled_set_cursor(16, 2);
173 oled_write_P(logo[2][2], false);
174 oled_set_cursor(16, 3);
175 oled_write_P(logo[3][2], false);
176}
177
178void oled_task_user(void) {
179 static bool finished_timer = false;
180 if (!finished_timer && (timer_elapsed(startup_timer) < 3000)) {
181 render_logo();
182 } else {
183 if (!finished_timer) {
184 oled_clear();
185 finished_timer = true;
186 }
187 render_layer();
188 }
189}
190#endif
191
192/* Resets via on eep reset - thank you drashna! */
193void eeconfig_init_kb(void) {
194 via_eeprom_set_valid(false);
195 via_init();
196 eeconfig_init_user();
197}
diff --git a/keyboards/0xcb/static/keymaps/via/rules.mk b/keyboards/0xcb/static/keymaps/via/rules.mk
new file mode 100644
index 000000000..1e5b99807
--- /dev/null
+++ b/keyboards/0xcb/static/keymaps/via/rules.mk
@@ -0,0 +1 @@
VIA_ENABLE = yes
diff --git a/keyboards/0xcb/static/readme.md b/keyboards/0xcb/static/readme.md
new file mode 100644
index 000000000..8403b4450
--- /dev/null
+++ b/keyboards/0xcb/static/readme.md
@@ -0,0 +1,27 @@
1# 0xCB Static
2
3Macro keypad
4
5* Keyboard Maintainer: [Conor Burns](https://github.com/conor-burns)
6* Hardware Supported: https://github.com/0xCB-dev/0xcb-static
7* Hardware Availability: Soon on tindie or order your own parts - the hardware in the repo is Open Source :D
8* PCB renders :)
9
10![](https://github.com/0xCB-dev/0xcb-static/blob/main/PCB/rev1.0/top.png)
11
12![](https://github.com/0xCB-dev/0xcb-static/blob/main/PCB/rev1.0/bottom.png)
13
14More Pictures [here](https://0xcb.dev/static/)
15
16To go to bootloader press ESC while plugging in or hold the RESET switch, then hold the BOOT switch, release RESET, release BOOT.
17The board should now appear in lsusb (or device manager).
18
19Make example for this keyboard (after setting up your build environment):
20
21 make 0xcb/static:default
22
23Flashing example for this keyboard:
24
25 make 0xcb/static:flash
26
27See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
diff --git a/keyboards/0xcb/static/rules.mk b/keyboards/0xcb/static/rules.mk
new file mode 100644
index 000000000..b7158f888
--- /dev/null
+++ b/keyboards/0xcb/static/rules.mk
@@ -0,0 +1,26 @@
1# MCU name
2MCU = atmega328p
3
4# Bootloader selection
5BOOTLOADER = USBasp
6
7# Build Options
8# change yes to no to disable
9#
10BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
11MOUSEKEY_ENABLE = yes # Mouse keys
12EXTRAKEY_ENABLE = yes # Audio control and System control
13CONSOLE_ENABLE = no # Console for debug
14COMMAND_ENABLE = no # Commands for debug and configuration
15# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
16SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
17# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
18NKRO_ENABLE = no # USB Nkey Rollover
19BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
20RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
21BLUETOOTH_ENABLE = no # Enable Bluetooth
22AUDIO_ENABLE = no # Audio output
23
24ENCODER_ENABLE = yes
25LTO_ENABLE = yes
26OLED_DRIVER_ENABLE = yes
diff --git a/keyboards/0xcb/static/static.c b/keyboards/0xcb/static/static.c
new file mode 100644
index 000000000..c6f5601f2
--- /dev/null
+++ b/keyboards/0xcb/static/static.c
@@ -0,0 +1,17 @@
1/*
2Copyright 2021 0xCB - Conor Burns
3
4This program is free software: you can redistribute it and/or modify
5it under the terms of the GNU General Public License as published by
6the Free Software Foundation, either version 2 of the License, or
7(at your option) any later version.
8
9This program is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12GNU General Public License for more details.
13
14You should have received a copy of the GNU General Public License
15along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/
17#include "static.h"
diff --git a/keyboards/0xcb/static/static.h b/keyboards/0xcb/static/static.h
new file mode 100644
index 000000000..81be5a263
--- /dev/null
+++ b/keyboards/0xcb/static/static.h
@@ -0,0 +1,48 @@
1/*
2Copyright 2021 0xCB - Conor Burns
3
4This program is free software: you can redistribute it and/or modify
5it under the terms of the GNU General Public License as published by
6the Free Software Foundation, either version 2 of the License, or
7(at your option) any later version.
8
9This program is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12GNU General Public License for more details.
13
14You should have received a copy of the GNU General Public License
15along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/
17#pragma once
18
19#include "quantum.h"
20
21/* This a shortcut to help you visually see your layout.
22 *
23 * The first section contains all of the arguments representing the physical
24 * layout of the board and position of the keys.
25 *
26 * The second converts the arguments into a two-dimensional array which
27 * represents the switch matrix.
28 */
29
30// clang-format off
31 #define LAYOUT( \
32 K15, \
33 K00, K10, K01, K11, K02, K12, K03, K13, K04, K14, K05, K35, \
34 K20, K30, K21, K31, K22, K32, K23, K33, K24, K34, K25, \
35 K40, K41, K51, K42, K52, K43, K53, K44, K54, K45, K55, \
36 K60, K70, K61, K71, K72, K64, K74, K65, K75 \
37 ) \
38 { \
39 { K00, K01, K02, K03, K04, K05 }, \
40 { K10, K11, K12, K13, K14, K15 }, \
41 { K20, K21, K22, K23, K24, K25 }, \
42 { K30, K31, K32, K33, K34, K35 }, \
43 { K40, K41, K42, K43, K44, K45 }, \
44 { KC_NO, K51, K52, K53, K54, K55 }, \
45 { K60, K61, KC_NO, KC_NO, K64, K65 }, \
46 { K70, K71, K72, KC_NO, K74, K75 }, \
47 }
48// clang-format on
diff --git a/keyboards/crkbd/keymaps/davidrambo/config.h b/keyboards/crkbd/keymaps/davidrambo/config.h
new file mode 100644
index 000000000..25f5f3b22
--- /dev/null
+++ b/keyboards/crkbd/keymaps/davidrambo/config.h
@@ -0,0 +1,84 @@
1/*
2This is the c configuration file for the keymap
3
4Copyright 2012 Jun Wako <wakojun@gmail.com>
5Copyright 2015 Jack Humbert
6
7This program is free software: you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published by
9the Free Software Foundation, either version 2 of the License, or
10(at your option) any later version.
11
12This program is distributed in the hope that it will be useful,
13but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15GNU General Public License for more details.
16
17You should have received a copy of the GNU General Public License
18along with this program. If not, see <http://www.gnu.org/licenses/>.
19*/
20
21#pragma once
22
23//#define USE_MATRIX_I2C
24
25/* Select hand configuration */
26
27#define MASTER_LEFT
28// #define MASTER_RIGHT
29// #define EE_HANDS
30
31#define RGBLIGHT_SPLIT
32
33//#define SSD1306OLED
34
35#define TAPPING_TERM 200
36#define PERMISSIVE_HOLD
37
38#ifdef RGB_MATRIX_ENABLE
39 #define RGB_MATRIX_STARTUP_HUE 231
40 #define RGB_MATRIX_KEYPRESSES // reacts to keypresses
41 #define RGB_MATRIX_TYPING_MEATMAP_DECREASE_DELAY_MS 50
42 // # define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses)
43 // # define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
44 #define RGB_DISABLE_WHEN_USB_SUSPENDED true // turn off effects when suspended
45 #define RGB_MATRIX_FRAMEBUFFER_EFFECTS
46 // # define RGB_MATRIX_LED_PROCESS_LIMIT (DRIVER_LED_TOTAL + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
47 // # define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
48 #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 100 // limits maximum brightness of LEDs to 150 out of 255. Higher may cause the controller to crash.
49 #define RGB_MATRIX_HUE_STEP 8
50 #define RGB_MATRIX_SAT_STEP 8
51 #define RGB_MATRIX_VAL_STEP 8
52 #define RGB_MATRIX_SPD_STEP 10
53
54 /* Disable the animations you don't want/need. You will need to disable a good number of these *
55 * because they take up a lot of space. Disable until you can successfully compile your firmware. */
56 #define DISABLE_RGB_MATRIX_ALPHAS_MODS
57 #define DISABLE_RGB_MATRIX_GRADIENT_UP_DOWN
58 #define DISABLE_RGB_MATRIX_BREATHING
59 #define DISABLE_RGB_MATRIX_CYCLE_ALL
60 #define DISABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
61 #define DISABLE_RGB_MATRIX_CYCLE_UP_DOWN
62 #define DISABLE_RGB_MATRIX_CYCLE_OUT_IN
63 #define DISABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
64 #define DISABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
65 #define DISABLE_RGB_MATRIX_DUAL_BEACON
66 #define DISABLE_RGB_MATRIX_RAINBOW_BEACON
67 #define DISABLE_RGB_MATRIX_RAINBOW_PINWHEELS
68 #define DISABLE_RGB_MATRIX_RAINDROPS
69 #define DISABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
70 // # define DISABLE_RGB_MATRIX_TYPING_HEATMAP
71 #define DISABLE_RGB_MATRIX_DIGITAL_RAIN
72 #define DISABLE_RGB_MATRIX_SOLID_REACTIVE
73 #define DISABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
74 #define DISABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
75 #define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
76 #define DISABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
77 #define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
78 #define DISABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
79 #define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
80 #define DISABLE_RGB_MATRIX_SPLASH
81 #define DISABLE_RGB_MATRIX_MULTISPLASH
82 #define DISABLE_RGB_MATRIX_SOLID_SPLASH
83 #define DISABLE_RGB_MATRIX_SOLID_MULTISPLASH
84#endif
diff --git a/keyboards/crkbd/keymaps/davidrambo/keymap.c b/keyboards/crkbd/keymaps/davidrambo/keymap.c
new file mode 100644
index 000000000..6e9779522
--- /dev/null
+++ b/keyboards/crkbd/keymaps/davidrambo/keymap.c
@@ -0,0 +1,126 @@
1/* Copyright 2021 David Rambo
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#include QMK_KEYBOARD_H
18
19//extern uint8_t is_master;
20
21
22enum custom_layers {
23 _COLEMAK,
24 _SYMBOL,
25 _NAVIGATION,
26 _FKEYS,
27};
28
29//keycode shorthands
30#define SYM MO(1)
31#define NAV LT(2, KC_ESC)
32#define FKEY MO(3)
33
34//aliases for clarity in layering
35#define SftEnt SFT_T(KC_ENT) // Shift when held, Enter when tapped
36#define BSCTL LCTL_T(KC_BSPC) // Ctrl when held, Backspace when tapped
37#define CTAB LCTL(KC_TAB)
38#define ATAB LALT(KC_TAB)
39
40//aliases for Navigation layer
41#define CBSPC LCTL(KC_BSPC) // delete whole word
42#define C_CL LCTL(KC_LEFT) // move cursor one word back
43#define C_CR LCTL(KC_RGHT) // move cursor one word forward
44
45//internet browser tab shortcuts and window swapping
46#define CTLPGDN LCTL(KC_PGDN)
47#define CTLPGUP LCTL(KC_PGUP)
48
49#define G_GRV LGUI(KC_GRV)
50#define SftEnt SFT_T(KC_ENT)
51
52enum custom_keycodes {
53 PLACEHOLDER = SAFE_RANGE,
54 SET_RGB,
55};
56
57const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
58 [_COLEMAK] = LAYOUT(
59 //,-----------------------------------------------------. ,-----------------------------------------------------.
60 KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC,
61 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
62 NAV , KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O , KC_QUOT,
63 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
64 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, SftEnt,
65 //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
66 KC_LALT, KC_LGUI, BSCTL, KC_SPC, SYM , FKEY
67 //`--------------------------' `--------------------------'
68
69 ),
70
71 [_SYMBOL] = LAYOUT(
72 //,-----------------------------------------------------. ,-----------------------------------------------------.
73 KC_LBRC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_RBRC,
74 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
75 KC_BSLS, KC_EXLM, KC_AT , KC_HASH, KC_DLR , KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_EQL ,
76 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
77 _______, KC_HOME, KC_END, _______, _______, _______, KC_GRV, KC_MINS, KC_PGUP, _______, _______, _______,
78 //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
79 _______, _______, _______, _______, _______, KC_PGDN
80 //`--------------------------' `--------------------------'
81 ),
82
83 [_NAVIGATION] = LAYOUT(
84 //,-----------------------------------------------------. ,-----------------------------------------------------.
85 _______, _______, _______, _______, _______, _______, CTAB , C_CL , KC_UP, C_CR , KC_DEL, _______,
86 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
87 _______, _______, _______, _______, _______, _______, CTLPGUP, KC_LEFT , KC_DOWN, KC_RGHT, CTLPGDN, _______,
88 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
89 RESET, _______, _______, _______, _______, _______, ATAB , CBSPC , KC_HOME, KC_END, G_GRV , _______,
90 //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
91 _______, _______, _______, _______, _______, KC_RALT
92 //`--------------------------' `--------------------------'
93 ),
94
95 [_FKEYS] = LAYOUT(
96 //,-----------------------------------------------------. ,-----------------------------------------------------.
97 KC_F12, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
98 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
99 _______, RGB_SAI, RGB_HUI, RGB_VAI, RGB_TOG, SET_RGB, _______, _______, _______, _______, _______, _______,
100 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
101 _______, RGB_MOD, RGB_M_P, KC_VOLD, KC_VOLU, KC_MPLY, _______, _______, _______, _______, _______, _______,
102 //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
103 _______, _______, _______, _______, _______, _______
104 //`--------------------------' `--------------------------'
105 )
106};
107
108void keyboard_post_init_user(void) {
109// rgb_matrix_sethsv(191, 43, 81);
110 rgblight_mode_noeeprom(RGB_MATRIX_TYPING_HEATMAP);
111};
112
113bool process_record_user(uint16_t keycode, keyrecord_t *record) {
114
115 switch (keycode) {
116
117 case SET_RGB:
118 if (record->event.pressed) {
119 rgb_matrix_sethsv_noeeprom(18, 86, 95);
120 }
121 return false;
122 break;
123
124 }
125 return true;
126}
diff --git a/keyboards/crkbd/keymaps/davidrambo/readme.md b/keyboards/crkbd/keymaps/davidrambo/readme.md
new file mode 100644
index 000000000..e8ce162b6
--- /dev/null
+++ b/keyboards/crkbd/keymaps/davidrambo/readme.md
@@ -0,0 +1 @@
This is my Corne keymap, which uses Colemak and shortcuts for Linux and Windows.
diff --git a/keyboards/crkbd/keymaps/davidrambo/rules.mk b/keyboards/crkbd/keymaps/davidrambo/rules.mk
new file mode 100644
index 000000000..782b689f4
--- /dev/null
+++ b/keyboards/crkbd/keymaps/davidrambo/rules.mk
@@ -0,0 +1,3 @@
1RGBLIGHT_ENABLE = no
2RGB_MATRIX_ENABLE = yes
3BOOTLOADER = atmel-dfu
diff --git a/keyboards/dinofizz/fnrow/v1/chconf.h b/keyboards/dinofizz/fnrow/v1/chconf.h
new file mode 100644
index 000000000..4f26862ff
--- /dev/null
+++ b/keyboards/dinofizz/fnrow/v1/chconf.h
@@ -0,0 +1,35 @@
1/* Copyright 2020 QMK
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/*
18 * This file was auto-generated by:
19 * `qmk chibios-confupdate -i keyboards/dinofizz/fnrow/v1/chconf.h -r platforms/chibios/common/configs/chconf.h`
20 */
21
22#pragma once
23
24#define CH_CFG_ST_FREQUENCY 10000
25
26#define CH_CFG_USE_TM FALSE
27
28#define CH_CFG_USE_MESSAGES_PRIORITY FALSE
29
30#define CH_CFG_USE_DYNAMIC FALSE
31
32#define CH_DBG_ENABLE_STACK_CHECK FALSE
33
34#include_next <chconf.h>
35
diff --git a/keyboards/dinofizz/fnrow/v1/config.h b/keyboards/dinofizz/fnrow/v1/config.h
new file mode 100644
index 000000000..fb7e4e91d
--- /dev/null
+++ b/keyboards/dinofizz/fnrow/v1/config.h
@@ -0,0 +1,36 @@
1/*
2Copyright 2021 Dino Fizzotti
3
4This program is free software: you can redistribute it and/or modify
5it under the terms of the GNU General Public License as published by
6the Free Software Foundation, either version 2 of the License, or
7(at your option) any later version.
8
9This program is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12GNU General Public License for more details.
13
14You should have received a copy of the GNU General Public License
15along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/
17
18#pragma once
19
20#include "config_common.h"
21
22#define VENDOR_ID 0xD1F1
23#define PRODUCT_ID 0x0100
24#define DEVICE_VER 0x0001
25#define MANUFACTURER Dino Fizzotti
26#define PRODUCT FnRow v1
27
28#define MATRIX_ROWS 2
29#define MATRIX_COLS 7
30
31#define MATRIX_ROW_PINS { A0, A1 }
32#define MATRIX_COL_PINS {B0, B1, B3, B4, B5, B6, B7 }
33
34#define DIODE_DIRECTION COL2ROW
35
36#define DEBOUNCE 5
diff --git a/keyboards/dinofizz/fnrow/v1/halconf.h b/keyboards/dinofizz/fnrow/v1/halconf.h
new file mode 100644
index 000000000..68dc2abdf
--- /dev/null
+++ b/keyboards/dinofizz/fnrow/v1/halconf.h
@@ -0,0 +1,51 @@
1/* Copyright 2020 QMK
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/*
18 * This file was auto-generated by:
19 * `qmk chibios-confupdate -i keyboards/dinofizz/fnrow/v1/halconf.h -r platforms/chibios/common/configs/halconf.h`
20 */
21
22#pragma once
23
24#define HAL_USE_DAC FALSE
25
26#define HAL_USE_GPT FALSE
27
28#define HAL_USE_I2C FALSE
29
30#define HAL_USE_PWM FALSE
31
32#define HAL_USE_SERIAL_USB FALSE
33
34#define HAL_USE_SPI FALSE
35
36#define PAL_USE_CALLBACKS FALSE
37
38#define PAL_USE_WAIT FALSE
39
40#define ADC_USE_WAIT FALSE
41
42#define ADC_USE_MUTUAL_EXCLUSION FALSE
43
44#define SERIAL_USB_BUFFERS_SIZE 256
45
46#define SPI_USE_WAIT FALSE
47
48#define SPI_USE_MUTUAL_EXCLUSION FALSE
49
50#include_next <halconf.h>
51
diff --git a/keyboards/dinofizz/fnrow/v1/info.json b/keyboards/dinofizz/fnrow/v1/info.json
new file mode 100644
index 000000000..3cebfd079
--- /dev/null
+++ b/keyboards/dinofizz/fnrow/v1/info.json
@@ -0,0 +1,78 @@
1{
2 "keyboard_name": "FnRow v1",
3 "maintainer": "dinofizz",
4 "url": "https://github.com/dinofizz/fnrow-pcb",
5 "width": 15,
6 "height": 1,
7 "layouts": {
8 "LAYOUT_fn_row": {
9 "layout": [
10 {
11 "label": "SW1",
12 "x": 0,
13 "y": 0
14 },
15 {
16 "label": "SW3",
17 "x": 2,
18 "y": 0
19 },
20 {
21 "label": "SW5",
22 "x": 3,
23 "y": 0
24 },
25 {
26 "label": "SW7",
27 "x": 4,
28 "y": 0
29 },
30 {
31 "label": "SW9",
32 "x": 5,
33 "y": 0
34 },
35 {
36 "label": "SW11",
37 "x": 6.5,
38 "y": 0
39 },
40 {
41 "label": "SW13",
42 "x": 7.5,
43 "y": 0
44 },
45 {
46 "label": "SW2",
47 "x": 8.5,
48 "y": 0
49 },
50 {
51 "label": "SW4",
52 "x": 9.5,
53 "y": 0
54 },
55 {
56 "label": "SW6",
57 "x": 11,
58 "y": 0
59 },
60 {
61 "label": "SW8",
62 "x": 12,
63 "y": 0
64 },
65 {
66 "label": "SW10",
67 "x": 13,
68 "y": 0
69 },
70 {
71 "label": "SW12",
72 "x": 14,
73 "y": 0
74 }
75 ]
76 }
77 }
78}
diff --git a/keyboards/dinofizz/fnrow/v1/keymaps/default/keymap.c b/keyboards/dinofizz/fnrow/v1/keymaps/default/keymap.c
new file mode 100644
index 000000000..653d03619
--- /dev/null
+++ b/keyboards/dinofizz/fnrow/v1/keymaps/default/keymap.c
@@ -0,0 +1,22 @@
1/* Copyright 2021 Dino Fizzotti
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
18const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
19 [0] = LAYOUT_fn_row(
20 KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12
21 ),
22};
diff --git a/keyboards/dinofizz/fnrow/v1/keymaps/default/readme.md b/keyboards/dinofizz/fnrow/v1/keymaps/default/readme.md
new file mode 100644
index 000000000..465257793
--- /dev/null
+++ b/keyboards/dinofizz/fnrow/v1/keymaps/default/readme.md
@@ -0,0 +1 @@
# The default keymap for FnRow v1
diff --git a/keyboards/dinofizz/fnrow/v1/keymaps/via/keymap.c b/keyboards/dinofizz/fnrow/v1/keymaps/via/keymap.c
new file mode 100644
index 000000000..025b730b4
--- /dev/null
+++ b/keyboards/dinofizz/fnrow/v1/keymaps/via/keymap.c
@@ -0,0 +1,34 @@
1/* Copyright 2021 Dino Fizzotti
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
18const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
19 [0] = LAYOUT_fn_row(
20 MO(1), KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12
21 ),
22
23 [1] = LAYOUT_fn_row(
24 KC_TRNS, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_HOME, KC_END
25 ),
26
27 [2] = LAYOUT_fn_row(
28 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
29 ),
30
31 [3] = LAYOUT_fn_row(
32 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
33 ),
34};
diff --git a/keyboards/dinofizz/fnrow/v1/keymaps/via/rules.mk b/keyboards/dinofizz/fnrow/v1/keymaps/via/rules.mk
new file mode 100644
index 000000000..1e5b99807
--- /dev/null
+++ b/keyboards/dinofizz/fnrow/v1/keymaps/via/rules.mk
@@ -0,0 +1 @@
VIA_ENABLE = yes
diff --git a/keyboards/dinofizz/fnrow/v1/mcuconf.h b/keyboards/dinofizz/fnrow/v1/mcuconf.h
new file mode 100644
index 000000000..6c4685668
--- /dev/null
+++ b/keyboards/dinofizz/fnrow/v1/mcuconf.h
@@ -0,0 +1,28 @@
1/* Copyright 2020 QMK
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/*
18 * This file was auto-generated by:
19 * `qmk chibios-confupdate -i keyboards/dinofizz/fnrow/v1/mcuconf.h -r platforms/chibios/GENERIC_STM32_F042X6/configs/mcuconf.h`
20 */
21
22#pragma once
23
24#include_next <mcuconf.h>
25
26#undef STM32_SERIAL_USE_USART2
27#define STM32_SERIAL_USE_USART2 TRUE
28
diff --git a/keyboards/dinofizz/fnrow/v1/readme.md b/keyboards/dinofizz/fnrow/v1/readme.md
new file mode 100644
index 000000000..707cbdcbf
--- /dev/null
+++ b/keyboards/dinofizz/fnrow/v1/readme.md
@@ -0,0 +1,28 @@
1# FnRow v1
2
3A keyboard featuring a single horizontal row of switches in the style of a "function row" layout.
4
5* Keyboard Maintainer: [Dino Fizzotti](https://www.dinofizzotti.com)
6* [PCB Schematic and layout](https://github.com/dinofizz/fnrow-pcb)
7* [Blog post](https://www.dinofizzotti.com/blog/2021-02-07-fnrow-v1-a-configurable-function-row-layout-mechanical-keyboard/)
8
9## Features
10
11* USB-C
12* USB ESD and overcurrent protection
13* Dedicated reset switch to enable DFU mode
14* Optional status LED
15
16## Compilation
17
18Make compilation example for this keyboard (after setting up your build environment):
19
20 make dinofizz/fnrow/v1:default
21
22# Flashing
23
24The FnRow features a hardware reset push-button to the left of the USB-C port. To flash new firmware you will need to enter the bootloader mode first. Plug the FnRow in to your computer using a USB cable and press the reset button momentarily. The board will then show up as an STM32 flash bootloader device. You can then use the following command to flash new firmware to the board.
25
26 make dinofizz/fnrow/v1:default:flash
27
28See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
diff --git a/keyboards/dinofizz/fnrow/v1/rules.mk b/keyboards/dinofizz/fnrow/v1/rules.mk
new file mode 100644
index 000000000..3ee041a7f
--- /dev/null
+++ b/keyboards/dinofizz/fnrow/v1/rules.mk
@@ -0,0 +1,25 @@
1# MCU name
2MCU = STM32F042
3
4# Bootloader selection
5BOOTLOADER = stm32-dfu
6
7# Build Options
8# change yes to no to disable
9#
10BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration
11MOUSEKEY_ENABLE = no # Mouse keys
12EXTRAKEY_ENABLE = yes # Audio control and System control
13CONSOLE_ENABLE = no # Console for debug
14COMMAND_ENABLE = no # Commands for debug and configuration
15# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
16SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
17# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
18NKRO_ENABLE = no # USB Nkey Rollover
19BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
20RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
21BLUETOOTH_ENABLE = no # Enable Bluetooth
22AUDIO_ENABLE = no # Audio output
23
24# Enter lower-power sleep mode when on the ChibiOS idle thread
25OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE
diff --git a/keyboards/dinofizz/fnrow/v1/v1.c b/keyboards/dinofizz/fnrow/v1/v1.c
new file mode 100644
index 000000000..a5c5b21ea
--- /dev/null
+++ b/keyboards/dinofizz/fnrow/v1/v1.c
@@ -0,0 +1,36 @@
1/* Copyright 2021 Dino Fizzotti
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 "v1.h"
17
18void keyboard_pre_init_kb(void) {
19 // Immediately set the LED pin as an output and set it ON
20 setPinOutput(A15);
21 writePinHigh(A15);
22
23 keyboard_pre_init_user();
24}
25
26void keyboard_post_init_kb(void) {
27 // Blink the LED so we know everything is running OK
28 // Finish with LED OFF
29 writePinLow(A15);
30 wait_ms(100);
31 writePinHigh(A15);
32 wait_ms(100);
33 writePinLow(A15);
34
35 keyboard_post_init_user();
36}
diff --git a/keyboards/dinofizz/fnrow/v1/v1.h b/keyboards/dinofizz/fnrow/v1/v1.h
new file mode 100644
index 000000000..ce9209cad
--- /dev/null
+++ b/keyboards/dinofizz/fnrow/v1/v1.h
@@ -0,0 +1,25 @@
1/* Copyright 2021 Dino Fizzotti
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
18#include "quantum.h"
19
20#define LAYOUT_fn_row( \
21 K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012 \
22) { \
23 { K000, K001, K002, K003, K004, K005, K006, }, \
24 { K007, K008, K009, K010, K011, K012, KC_NO }, \
25}
diff --git a/keyboards/gh60/satan/keymaps/bri/keymap.c b/keyboards/gh60/satan/keymaps/bri/keymap.c
index 1f9430a9f..2f742411d 100644
--- a/keyboards/gh60/satan/keymaps/bri/keymap.c
+++ b/keyboards/gh60/satan/keymaps/bri/keymap.c
@@ -5,8 +5,8 @@
5#define _FL 1 5#define _FL 1
6#define _NAV 2 6#define _NAV 2
7 7
8#define A_LEFT LALT(KC_LEFT) 8#define ALEFT LALT(KC_LEFT)
9#define A_RGHT LALT(KC_RGHT) 9#define ARGHT LALT(KC_RGHT)
10 10
11const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 11const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
12 /* Keymap _BL: (Base Layer) Default Layer 12 /* Keymap _BL: (Base Layer) Default Layer
@@ -59,7 +59,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
59 59
60[_NAV] = LAYOUT_60_ansi( 60[_NAV] = LAYOUT_60_ansi(
61 _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, \ 61 _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, \
62 _______,_______,_______,_______,_______,_______,_______,A_LEFT , KC_UP ,A_RGHT ,_______,_______,_______,_______, \ 62 _______,_______,_______,_______,_______,_______,_______,ALEFT , KC_UP ,ARGHT ,_______,_______,_______,_______, \
63 _______,_______,_______,_______,_______,_______,_______,KC_LEFT,KC_DOWN,KC_RGHT,_______,_______, _______, \ 63 _______,_______,_______,_______,_______,_______,_______,KC_LEFT,KC_DOWN,KC_RGHT,_______,_______, _______, \
64 _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, \ 64 _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, \
65 _______,_______,_______, _______, _______,_______,_______,_______), 65 _______,_______,_______, _______, _______,_______,_______,_______),
diff --git a/keyboards/gray_studio/think65/solder/keymaps/dangjoeltang/keymap.c b/keyboards/gray_studio/think65/solder/keymaps/dangjoeltang/keymap.c
new file mode 100644
index 000000000..4994fb3fa
--- /dev/null
+++ b/keyboards/gray_studio/think65/solder/keymaps/dangjoeltang/keymap.c
@@ -0,0 +1,232 @@
1/* Copyright 2021 Qiaowei Tang
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#include QMK_KEYBOARD_H
17
18
19 /*
20 * LED ranges for Think6.5v2 2U
21 * These values were derived from manual testing. Derived from keymaps/rys.
22 * ┌───────┬───────┬─────────────┬───────────────────────────────────────────┐
23 * │ 00 01 │ 02 03 │ 04 05 06 07 │ 08 09 10 11 12 13 14 15 16 17 18 19 20 21 │
24 * │ badge │ badge │    (?)     │              underglow (?)                │
25 * │  bar │ icon │         │                               │
26 * └───────┴───────┴─────────────┴───────────────────────────────────────────┘
27 */
28
29// Define the LED ranges start, end
30#define THINK65_LED_RANGE_OFF 0, 0
31#define THINK65_LED_RANGE_CAPS 0, 2
32#define THINK65_LED_RANGE_BADGE 0, 4
33#define THINK65_LED_RANGE_UNDERGLOW 4, 22
34#define THINK65_LED_RANGE_ALL 0, 22
35
36// Turn the LEDs off by setting HSV to 0, 0, 0
37#define THINK65_LEDS_OFF 0, 0, 0
38
39// Caps Lock indicator LED
40#define THINK65_LEDS_CAPS 0, 0, 255
41
42#define THINK65_LED_STATE_OFF 0x0 // 0b00000000
43#define THINK65_LED_STATE_CAPS 0x1 // 0b00000001
44#define THINK65_LED_STATE_BADGE 0x2 // 0b00000010
45#define THINK65_LED_STATE_CAPS_AND_BADGE 0x3 // 0b00000011
46
47// Define each LED range as a bit flag
48#define THINK65_LED_CAPS_RANGE_BIT 0
49#define THINK65_LED_BADGE_RANGE_BIT 1
50
51// Setup some keycodes to control cycling and range toggling
52enum {
53 KVM_SW1 = SAFE_RANGE,
54 KVM_SW2,
55 CYC_LED,
56 TOG_BDG
57};
58
59// setup the user EEPROM space we need
60typedef union {
61 uint8_t raw;
62 struct {
63 uint8_t current_led_state:8;
64 };
65} user_config_t;
66
67user_config_t user_config;
68
69// toggle one of the range flag bits
70void toggle_led_state(unsigned int led_range) {
71 if (led_range >= THINK65_LED_CAPS_RANGE_BIT && led_range <= THINK65_LED_BADGE_RANGE_BIT) {
72 user_config.current_led_state ^= 1 << led_range;
73 }
74}
75
76// set one of the range flag bits
77void set_led_state(unsigned int led_range) {
78 if (led_range >= THINK65_LED_CAPS_RANGE_BIT && led_range <= THINK65_LED_BADGE_RANGE_BIT) {
79 user_config.current_led_state |= 1 << led_range;
80 }
81}
82
83// clear one of the range flag bits
84void clear_led_state(unsigned int led_range) {
85 if (led_range >= THINK65_LED_CAPS_RANGE_BIT && led_range <= THINK65_LED_BADGE_RANGE_BIT) {
86 user_config.current_led_state &= ~(1 << led_range);
87 }
88}
89
90// cycle LED states: Off -> Esc -> Badge -> Underglow -> Esc+Badge -> Esc+Underglow -> Badge+Underglow -> All
91void cycle_led_state(void) {
92 switch(user_config.current_led_state) {
93 case THINK65_LED_STATE_OFF:
94 user_config.current_led_state = THINK65_LED_STATE_CAPS;
95 break;
96 case THINK65_LED_STATE_CAPS:
97 user_config.current_led_state = THINK65_LED_STATE_BADGE;
98 break;
99 case THINK65_LED_STATE_BADGE:
100 user_config.current_led_state = THINK65_LED_STATE_CAPS_AND_BADGE;
101 break;
102 case THINK65_LED_STATE_CAPS_AND_BADGE:
103 user_config.current_led_state = THINK65_LED_STATE_OFF;
104 break;
105 default:
106 break;
107 }
108}
109
110void apply_led_state(void) {
111 uint8_t h = rgblight_get_hue();
112 uint8_t s = rgblight_get_sat();
113 uint8_t v = rgblight_get_val();
114
115 // Set the RGB ranges based on the current state
116 switch(user_config.current_led_state) {
117 case THINK65_LED_STATE_OFF:
118 rgblight_sethsv_range(THINK65_LEDS_OFF, THINK65_LED_RANGE_ALL);
119 break;
120 case THINK65_LED_STATE_CAPS:
121 rgblight_sethsv_range(THINK65_LEDS_OFF, THINK65_LED_RANGE_BADGE);
122 rgblight_sethsv_range(THINK65_LEDS_CAPS, THINK65_LED_RANGE_CAPS);
123 break;
124 case THINK65_LED_STATE_BADGE:
125 rgblight_sethsv_range(THINK65_LEDS_OFF, THINK65_LED_RANGE_CAPS);
126 rgblight_sethsv_range(h, s, v, THINK65_LED_RANGE_BADGE);
127 break;
128 case THINK65_LED_STATE_CAPS_AND_BADGE:
129 rgblight_sethsv_range(h, s, v, THINK65_LED_RANGE_BADGE);
130 rgblight_sethsv_range(THINK65_LEDS_CAPS, THINK65_LED_RANGE_CAPS);
131 break;
132 default:
133 break;
134 }
135}
136
137void keyboard_post_init_user(void) {
138 user_config.raw = eeconfig_read_user();
139
140 if (user_config.current_led_state >= THINK65_LED_STATE_OFF && user_config.current_led_state <= THINK65_LED_STATE_CAPS_AND_BADGE) {
141 // If the current state read from user EEPROM is valid, apply it
142 apply_led_state();
143 } else {
144 // Setup a new default state of off
145 user_config.current_led_state = THINK65_LED_STATE_OFF;
146 apply_led_state();
147 eeconfig_update_user(user_config.raw);
148 }
149}
150
151bool process_record_user(uint16_t keycode, keyrecord_t *record) {
152 switch (keycode) {
153 case KVM_SW1:
154 if (record->event.pressed) {
155 SEND_STRING(SS_TAP(X_RCTL) SS_TAP(X_RCTL) "1");
156 } else {}
157 break;
158 case KVM_SW2:
159 if(record->event.pressed) {
160 SEND_STRING(SS_TAP(X_RCTL) SS_TAP(X_RCTL) "2");
161 } else {}
162 break;
163 case CYC_LED:
164 if (record->event.pressed) {
165 cycle_led_state();
166 apply_led_state();
167 eeconfig_update_user(user_config.raw);
168 }
169 break;
170 case TOG_BDG:
171 if (record->event.pressed) {
172 toggle_led_state(THINK65_LED_BADGE_RANGE_BIT);
173 apply_led_state();
174 eeconfig_update_user(user_config.raw);
175 }
176 break;
177 case KC_CAPS:
178 if (!record->event.pressed) {
179 // connect capslock LED control to the badge LEDs
180 host_keyboard_led_state().caps_lock ? set_led_state(THINK65_LED_CAPS_RANGE_BIT) : clear_led_state(THINK65_LED_CAPS_RANGE_BIT);
181 apply_led_state();
182 eeconfig_update_user(user_config.raw);
183 }
184 break;
185 }
186 return true;
187};
188
189const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
190 /* Base Layer
191 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┬───┐
192 * │Esc│! 1│@ 2│# 3│$ 4│% 5│^ 6│& 7│* 8│( 9│) 0│_ -│+ =│ Bckspc│` ~│
193 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤
194 * │Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │{ [│} ]│| \│Del│
195 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤
196 * │HyCaps│ A │ S │ D │ F │ G │ H │ J │ K │ L │: ;│" '│ Enter│ │
197 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤ │
198 * │Shift │ Z │ X │ C │ V │ B │ N │ M │< ,│> .│? /│ Shift│ Up│ │
199 * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬─┬───┼───┼───┤
200 * │Ctrl│ Opt│ Cmd│ Space │Cmd │FnPy│ │Lef│Dow│Rig│
201 * └────┴────┴────┴────────────────────────┴────┴────┴─┴───┴───┴───┘
202 */
203 [0] = LAYOUT_65_ansi_blocker(
204 KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_GRV,
205 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,
206 KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, XXXXXXX,
207 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, XXXXXXX,
208 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
209 ),
210 /*
211 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬────────┬───┐
212 * │RST│ F1│ F2│ F3│ F4│ F5│ F6│ F7│ F8│ F9│F10│F11│F12│        │SW1│
213 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬──────┼───┤
214 * │ TOG │PLN│MOD│HU+│HU-│SA+│SA-│VA+│VA-│ │ │Hom│End│ │SW2│
215 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴──────┼───┤
216 * │ │CYC│BDG│UGL│CAP│ │ │ │ │ │ │ │ │ │
217 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬────┤ │
218 * │ │ │ │ │ │ │ │ │ │ │ │ │Vol+│ │
219 * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬─┬───┼────┼───┤
220 * │ │ │ │ │ │ │ │ │Vol-│ │
221 * └────┴────┴────┴────────────────────────┴────┴────┴─┴───┴────┴───┘
222 */
223 [1] = LAYOUT_65_ansi_blocker(
224 RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KVM_SW1,
225 TOG_BDG, RGB_M_P, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, KC_HOME, KC_END, _______, KVM_SW2,
226 _______, CYC_LED, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
227 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLU, _______,
228 _______, _______, _______, _______, _______, _______, _______, KC_VOLD, _______
229 ),
230
231};
232
diff --git a/keyboards/gray_studio/think65/solder/keymaps/dangjoeltang/readme.md b/keyboards/gray_studio/think65/solder/keymaps/dangjoeltang/readme.md
new file mode 100644
index 000000000..520e7e075
--- /dev/null
+++ b/keyboards/gray_studio/think65/solder/keymaps/dangjoeltang/readme.md
@@ -0,0 +1,9 @@
1# dangjoeltang's Think6.5v2 keymap
2
3My personal keymap for the Think6.5v2. Using the `LAYOUT_65_ansi_blocker` LAYOUT for a 2U blocker version. I added functionality to enable the Caps-lock indicator LED above the badge. This functionality shipped with the original board; however, for those who reflash their boards using the default `gray_studio/think65/solder` keymaps that functionality disappeared.
4
5## [Base Layer](http://www.keyboard-layout-editor.com/#/gists/9c6a905a643b77249958f28662348f53)
6![Base Layer](https://imgur.com/Gyim08a)
7
8## [Function Layer](http://www.keyboard-layout-editor.com/#/gists/1c061d3664ea5caf5cb64c759339278d)
9![Function Layer](https://imgur.com/H2Yqnv3)
diff --git a/keyboards/keebio/iris/keymaps/davidrambo/keymap.c b/keyboards/keebio/iris/keymaps/davidrambo/keymap.c
index aa757508a..b36abd4c5 100644
--- a/keyboards/keebio/iris/keymaps/davidrambo/keymap.c
+++ b/keyboards/keebio/iris/keymaps/davidrambo/keymap.c
@@ -1,35 +1,30 @@
1#include QMK_KEYBOARD_H 1#include QMK_KEYBOARD_H
2 2
3extern keymap_config_t keymap_config;
4
5//keycode shorthands 3//keycode shorthands
6#define KC____ KC_TRNS // three underscores "___" for transparent 4#define MACNAV LT(4, KC_TAB)
7#define KC_SYM MO(3) 5#define PCNAV LT(5, KC_TAB)
8#define KC_MAC TO(0)
9#define KC_PC TO(1)
10#define KC_GM TO(2)
11#define KC_NAVMAC LT(4, KC_TAB)
12#define KC_NAVPC LT(5, KC_TAB)
13 6
14//text editor shortcuts for NAV and NAVPC 7//text editor shortcuts for NAV and NAVPC
15#define KC_AL LALT(KC_LEFT) 8#define ALEFT LALT(KC_LEFT)
16#define KC_AR LALT(KC_RGHT) 9#define ARGHT LALT(KC_RGHT)
17#define KC_CL LCTL(KC_LEFT) 10#define CLEFT LCTL(KC_LEFT)
18#define KC_CR LCTL(KC_RGHT) 11#define CRGHT LCTL(KC_RGHT)
19#define KC_ABSPC LALT(KC_BSPC) 12#define ABSPC LALT(KC_BSPC)
20#define KC_CBSPC LCTL(KC_BSPC) 13#define CBSPC LCTL(KC_BSPC)
21 14
22//internet browser tab shortcuts and window swapping for Mac and Windows 15//internet browser tab shortcuts and window swapping for Mac and Windows
23#define KC_GSL LGUI(S(KC_LEFT)) 16#define GSL LGUI(S(KC_LEFT))
24#define KC_GSR LGUI(S(KC_RGHT)) 17#define GSR LGUI(S(KC_RGHT))
25#define KC_CPGD LCTL(KC_PGDN) 18#define CTLPGDN LCTL(KC_PGDN)
26#define KC_CPGU LCTL(KC_PGUP) 19#define CTLPGUP LCTL(KC_PGUP)
20
21#define CMBS GUI_T(KC_BSPC)
22#define CTBS CTL_T(KC_BSPC)
23#define C_TAB LCTL(KC_TAB)
24#define G_TAB LGUI(KC_TAB)
25#define A_TAB LALT(KC_TAB)
27 26
28#define KC_CMBS GUI_T(KC_BSPC) 27#define SFLK TD(SFT_LCK) // alias for tapdance
29#define KC_CTBS CTL_T(KC_BSPC)
30#define KC_C_TAB LCTL(KC_TAB)
31#define KC_G_TAB LGUI(KC_TAB)
32#define KC_A_TAB LALT(KC_TAB)
33 28
34//layer shorthands 29//layer shorthands
35#define _COLEMAK 0 30#define _COLEMAK 0
@@ -39,101 +34,98 @@ extern keymap_config_t keymap_config;
39#define _NAVMAC 4 34#define _NAVMAC 4
40#define _NAVPC 5 35#define _NAVPC 5
41 36
42enum { 37enum custom_keycodes {
43// SFT_LCK //tapdance declarations 38 SFT_LCK, //tapdance declarations
44 COLEMAK = 0, 39 COLEMAK = 0,
45 PC, 40 PC,
46 GAME, 41 GAME,
47 SYMBOL, 42 SYMBOL,
48 NAV, //Navigation layer for Mac Colemak 43 NAV, //Navigation layer for Mac Colemak
49 NAVPC, //Navigation layer for PC Colemak 44 NAVPC, //Navigation layer for PC Colemak
50 SFT_LCK //tapdance declaration
51}; 45};
52 46
53#define KC_SFLK TD(SFT_LCK) // alias for tapdance
54
55const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 47const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
56 48
57 [_COLEMAK] = LAYOUT( 49 [_COLEMAK] = LAYOUT(
58 //,----+----+----+----+----+----. ,----+----+----+----+----+----. 50 //,------+------+------+------+------+------. ,------+------+------+------+------+------.
59 KC_ESC , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 ,KC_MINS, 51 KC_ESC, KC_1 , KC_2 , KC_3 , KC_4, KC_5, KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_MINS,
60 //|----+----+----+----+----+----| |----+----+----+----+----+----| 52 //|------+------+------+------+------+------| |------+------+------+------+------+------|
61 KC_GRV , KC_Q , KC_W , KC_F , KC_P , KC_G , KC_J , KC_L , KC_U , KC_Y ,KC_SCLN,KC_BSPC, 53 KC_GRV, KC_Q , KC_W , KC_F , KC_P, KC_G, KC_J , KC_L , KC_U , KC_Y , KC_SCLN,KC_BSPC,
62 //|----+----+----+----+----+----| |----+----+----+----+----+----| 54 //|------+------+------+------+------+------| |------+------+------+------+------+------|
63 KC_NAVMAC, KC_A , KC_R , KC_S , KC_T , KC_D , KC_H , KC_N , KC_E , KC_I , KC_O ,KC_QUOT, 55 MACNAV, KC_A , KC_R , KC_S , KC_T, KC_D, KC_H , KC_N , KC_E , KC_I , KC_O, KC_QUOT,
64 //|----+----+----+----+----+----+----. ,----|----+----+----+----+----+----| 56 //|------+------+------+------+------+------+------. ,------|------+------+------+------+------+------|
65 KC_SFLK, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_PC , KC_ENT , KC_K , KC_M ,KC_COMM, KC_DOT,KC_SLSH,KC_RSFT, 57 KC_LSFT,KC_Z , KC_X , KC_C , KC_V, KC_B , TO(1), KC_ENT, KC_K, KC_M , KC_COMM,KC_DOT,KC_SLSH,KC_RSFT,
66 //`----+----+----+--+-+----+----+----/ \----+----+----+----+----+----+----' 58 //`------+------+------+------+------+----+------/ \-----+------+------+------+------+------+------'
67 KC_LCTL,KC_LGUI,KC_CMBS, KC_SPC, KC_SYM, KC_LALT 59 KC_LCTL, KC_LALT, CMBS, KC_SPC, MO(3), KC_RALT
68 // `----+----+----' `----+----+----' 60 // `------+------+------' `------+------+------'
69 ), 61 ),
70 62
71 [_PC] = LAYOUT( 63 [_PC] = LAYOUT(
72 KC____ , KC____ , KC____ , KC____ , KC____ , KC____ , KC____ , KC____ , KC____ , KC____ , KC____ , KC____ , 64 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
73 65
74 KC____ , KC____ , KC____ , KC____ , KC____ , KC____ , KC____ , KC____ , KC____ , KC____ , KC____ , KC____ , 66 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
75 67
76 KC_NAVPC,KC____ , KC____ , KC____ , KC____ , KC____ , KC____ , KC____ , KC____ , KC____ , KC____ , KC____ , 68 PCNAV , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
77 69
78 KC____ , KC____ , KC____ , KC____ , KC____ , KC____ , KC_GM, KC____, KC____ , KC____ , KC____ , KC____ , KC____ , KC____ , 70 _______, _______, _______, _______, _______, _______, TO(2), _______, _______, _______, _______, _______, _______, _______,
79 71
80 KC_LGUI , KC_LCTL , KC_CTBS , KC____ , KC____ , KC____ 72 KC_LALT, KC_LGUI, CTBS, _______, _______, _______
81 ), 73 ),
82 74
83 [_GAME] = LAYOUT( 75 [_GAME] = LAYOUT(
84 KC____ , KC____ , KC____ , KC____ , KC____ , KC____ , KC____ , KC____ , KC____ , KC____ , KC____ , KC____ , 76 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
85 77
86 KC_B , KC_T , KC_Q , KC_W , KC_E , KC_R , KC____ , KC____ , KC____ , KC____ , KC____ , KC____ , 78 KC_B , KC_T , KC_Q , KC_W , KC_E , KC_R , _______, _______, _______, _______, _______, _______,
87 79
88 KC_TAB , KC_LSFT, KC_A , KC_S , KC_D , KC_F , KC____ , KC____ , KC____ , KC____ , KC____ , KC____ , 80 KC_TAB , KC_LSFT, KC_A , KC_S , KC_D , KC_F , _______, _______, _______, _______, _______, _______,
89 81
90 KC_LALT, KC_LCTL, KC_Z , KC_X , KC_C , KC_V , KC_M, KC_P , KC____, KC____ , KC____ , KC____ , KC____ , KC____ , 82 KC_LALT, KC_LCTL, KC_Z , KC_X , KC_C , KC_V , KC_M, KC_P , _______, _______, _______, _______, _______, _______,
91 83
92 KC_G , KC_I , KC_SPC, KC_BSPC, KC_MAC, KC____ 84 KC_G, KC_I, KC_SPC, KC_BSPC, TO(0), _______
93 ), 85 ),
94 86
95 [_SYMBOL] = LAYOUT( 87 [_SYMBOL] = LAYOUT(
96 88
97 KC____ , KC____ , KC____ , KC____ , KC____ , KC____ , KC____ , KC____ , KC____ , KC____ , KC____ , KC____ , 89 KC_F12 , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5, KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11,
98 90
99 KC_LBRC, KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_RBRC, 91 KC_LBRC, KC_1 , KC_2 , KC_3 , KC_4 , KC_5, KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_RBRC,
100 92
101 KC_BSLS, KC_EXLM, KC_AT , KC_HASH, KC_DLR , KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_EQL , 93 KC_BSLS, KC_EXLM, KC_AT , KC_HASH, KC_DLR , KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_EQL,
102 94
103 KC____ , KC_HOME, KC_END , KC_VOLD, KC_VOLU, KC_MPLY,KC____, KC____,KC____, KC_MINS, KC____ , KC____ , KC____ , KC____ , 95 _______, KC_HOME, KC_END, KC_VOLD, KC_VOLU, KC_MPLY, _______, _______, _______, KC_MINS, _______, _______, _______, _______,
104 96
105 KC____ , KC____ , KC____, KC____, KC____ , KC____ 97 _______, _______, _______, _______, _______, _______
106 ), 98 ),
107 99
108 [_NAVMAC] = LAYOUT( 100 [_NAVMAC] = LAYOUT(
109 101
110 KC____ , KC____ , KC____ , KC____ , KC____ , KC____ , KC____ , KC____ , KC____ , KC____ , KC____ , KC____ , 102 RESET , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
111 103
112 KC____ , KC____ , KC____ , KC____ , KC____ , KC____ , KC_C_TAB, KC_AL , KC_UP , KC_AR , KC_DEL , KC____ , 104 _______, _______, _______, _______, _______, _______, C_TAB, ALEFT , KC_UP , ARGHT , KC_DEL , _______,
113 105
114 KC____ , KC____ , KC____ , KC____ , KC____ , KC____ , KC_GSL , KC_LEFT, KC_DOWN, KC_RGHT, KC_GSR , KC____ , 106 _______, _______, _______, _______, _______, _______, GSL , KC_LEFT, KC_DOWN, KC_RGHT, GSR , _______,
115 107
116 KC____ , KC____ , KC____ , KC____ , KC____ , KC____ ,KC____, KC____,KC_G_TAB,KC_ABSPC, KC____ , KC____ , KC____ , KC____ , 108 _______, _______, _______, _______, _______, _______, _______, _______, G_TAB, ABSPC , _______, _______, _______, _______,
117 109
118 KC____ , KC____ , KC____ , KC____ , KC____ , KC____ 110 _______, _______, _______, _______, _______, _______
119 ), 111 ),
120 112
121 [_NAVPC] = LAYOUT( 113 [_NAVPC] = LAYOUT(
122 114
123 KC____ , KC____ , KC____ , KC____ , KC____ , KC____ , KC____ , KC____ , KC____ , KC____ , KC____ , KC____ , 115 RESET , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
124 116
125 KC____ , KC____ , KC____ , KC____ , KC____ , KC____ , KC_C_TAB, KC_CL , KC_UP , KC_CR , KC_DEL , KC____ , 117 _______, _______, _______, _______, _______, _______, C_TAB , CLEFT , KC_UP , CRGHT , KC_DEL , _______,
126 118
127 KC____ , KC____ , KC____ , KC____ , KC____ , KC____ , KC_CPGU, KC_LEFT, KC_DOWN, KC_RGHT, KC_CPGD, KC____ , 119 _______, _______, _______, _______, _______, _______, CTLPGUP, KC_LEFT, KC_DOWN, KC_RGHT, CTLPGDN, _______,
128 120
129 KC____ , KC____ , KC____ , KC____ , KC____ , KC____ ,KC____, KC____,KC_A_TAB,KC_CBSPC, KC____ , KC____ , KC____ , KC____ , 121 _______, _______, _______, _______, _______, _______,_______, _______, A_TAB , CBSPC, _______, _______, _______, _______,
130 122
131 KC____ , KC____ , KC____ , KC____ , KC____ , KC____ 123 _______, _______, _______, _______, _______, _______
132 ), 124 ),
133 125
134}; 126};
135 127
136// Shift vs. capslock function. From bbaserdem's Planck keymap. 128// Shift vs. capslock function. From bbaserdem's Planck keymap (since deprecated).
137void caps_tap (qk_tap_dance_state_t *state, void *user_data) { 129void caps_tap (qk_tap_dance_state_t *state, void *user_data) {
138 if (state->count == 1) { 130 if (state->count == 1) {
139 register_code (KC_LSFT); 131 register_code (KC_LSFT);
diff --git a/keyboards/ky01/info.json b/keyboards/ky01/info.json
index 809975931..601c47cdd 100644
--- a/keyboards/ky01/info.json
+++ b/keyboards/ky01/info.json
@@ -7,430 +7,95 @@
7 "layouts": { 7 "layouts": {
8 "LAYOUT": { 8 "LAYOUT": {
9 "layout": [ 9 "layout": [
10 { 10 {"x":0, "y":0},
11 "label": "Esc", 11 {"x":2, "y":0},
12 "x": 0, 12 {"x":3, "y":0},
13 "y": 0 13 {"x":4, "y":0},
14 }, 14 {"x":5, "y":0},
15 { 15 {"x":6.5, "y":0},
16 "label": "F1", 16 {"x":7.5, "y":0},
17 "x": 2, 17 {"x":8.5, "y":0},
18 "y": 0 18 {"x":9.5, "y":0},
19 }, 19 {"x":11, "y":0},
20 { 20 {"x":12, "y":0},
21 "label": "F2", 21 {"x":13, "y":0},
22 "x": 3, 22 {"x":14, "y":0},
23 "y": 0 23 {"x":15.25, "y":0},
24 }, 24
25 { 25 {"x":0, "y":1.25},
26 "label": "F3", 26 {"x":1, "y":1.25},
27 "x": 4, 27 {"x":2, "y":1.25},
28 "y": 0 28 {"x":3, "y":1.25},
29 }, 29 {"x":4, "y":1.25},
30 { 30 {"x":5, "y":1.25},
31 "label": "F4", 31 {"x":6, "y":1.25},
32 "x": 5, 32 {"x":7, "y":1.25},
33 "y": 0 33 {"x":8, "y":1.25},
34 }, 34 {"x":9, "y":1.25},
35 { 35 {"x":10, "y":1.25},
36 "label": "F5", 36 {"x":11, "y":1.25},
37 "x": 6.5, 37 {"x":12, "y":1.25},
38 "y": 0 38 {"x":13, "y":1.25},
39 }, 39 {"x":14, "y":1.25},
40 { 40 {"x":15.25, "y":1.25},
41 "label": "F6", 41
42 "x": 7.5, 42 {"x":0, "y":2.25, "w":1.5},
43 "y": 0 43 {"x":1.5, "y":2.25},
44 }, 44 {"x":2.5, "y":2.25},
45 { 45 {"x":3.5, "y":2.25},
46 "label": "F7", 46 {"x":4.5, "y":2.25},
47 "x": 8.5, 47 {"x":5.5, "y":2.25},
48 "y": 0 48 {"x":6.5, "y":2.25},
49 }, 49 {"x":7.5, "y":2.25},
50 { 50 {"x":8.5, "y":2.25},
51 "label": "F8", 51 {"x":9.5, "y":2.25},
52 "x": 9.5, 52 {"x":10.5, "y":2.25},
53 "y": 0 53 {"x":11.5, "y":2.25},
54 }, 54 {"x":12.5, "y":2.25},
55 { 55 {"x":13.5, "y":2.25, "w":1.5},
56 "label": "F9", 56 {"x":15.25, "y":2.25},
57 "x": 11, 57
58 "y": 0 58 {"x":0, "y":3.25, "w":1.75},
59 }, 59 {"x":1.75, "y":3.25},
60 { 60 {"x":2.75, "y":3.25},
61 "label": "F10", 61 {"x":3.75, "y":3.25},
62 "x": 12, 62 {"x":4.75, "y":3.25},
63 "y": 0 63 {"x":5.75, "y":3.25},
64 }, 64 {"x":6.75, "y":3.25},
65 { 65 {"x":7.75, "y":3.25},
66 "label": "F11", 66 {"x":8.75, "y":3.25},
67 "x": 13, 67 {"x":9.75, "y":3.25},
68 "y": 0 68 {"x":10.75, "y":3.25},
69 }, 69 {"x":11.75, "y":3.25},
70 { 70 {"x":12.75, "y":3.25},
71 "label": "F12", 71 {"x":13.75, "y":3.25, "w":1.25},
72 "x": 14, 72 {"x":15.25, "y":3.25},
73 "y": 0 73
74 }, 74 {"x":0, "y":4.25, "w":1.25},
75 { 75 {"x":1.25, "y":4.25},
76 "label": "PrtSc", 76 {"x":2.25, "y":4.25},
77 "x": 15.25, 77 {"x":3.25, "y":4.25},
78 "y": 0 78 {"x":4.25, "y":4.25},
79 }, 79 {"x":5.25, "y":4.25},
80 { 80 {"x":6.25, "y":4.25},
81 "label": "\\u00ac", 81 {"x":7.25, "y":4.25},
82 "x": 0, 82 {"x":8.25, "y":4.25},
83 "y": 1.5 83 {"x":9.25, "y":4.25},
84 }, 84 {"x":10.25, "y":4.25},
85 { 85 {"x":11.25, "y":4.25},
86 "label": "!", 86 {"x":12.25, "y":4.25, "w":1.75},
87 "x": 1, 87 {"x":14.25, "y":4.5},
88 "y": 1.5 88
89 }, 89 {"x":0, "y":5.25, "w":1.25},
90 { 90 {"x":1.25, "y":5.25, "w":1.25},
91 "label": "\"", 91 {"x":2.5, "y":5.25, "w":1.25},
92 "x": 2, 92 {"x":3.75, "y":5.25, "w":6.25},
93 "y": 1.5 93 {"x":10, "y":5.25},
94 }, 94 {"x":11, "y":5.25},
95 { 95 {"x":12, "y":5.25},
96 "label": "\\u00a3", 96 {"x":13.25, "y":5.5},
97 "x": 3, 97 {"x":14.25, "y":5.5},
98 "y": 1.5 98 {"x":15.25, "y":5.5}
99 },
100 {
101 "label": "$",
102 "x": 4,
103 "y": 1.5
104 },
105 {
106 "label": "%",
107 "x": 5,
108 "y": 1.5
109 },
110 {
111 "label": "^",
112 "x": 6,
113 "y": 1.5
114 },
115 {
116 "label": "&",
117 "x": 7,
118 "y": 1.5
119 },
120 {
121 "label": "*",
122 "x": 8,
123 "y": 1.5
124 },
125 {
126 "label": "(",
127 "x": 9,
128 "y": 1.5
129 },
130 {
131 "label": ")",
132 "x": 10,
133 "y": 1.5
134 },
135 {
136 "label": "_",
137 "x": 11,
138 "y": 1.5
139 },
140 {
141 "label": "+",
142 "x": 12,
143 "y": 1.5
144 },
145 {
146 "label": "Backspace",
147 "x": 13,
148 "y": 1.5
149 },
150 {
151 "label": "Delete",
152 "x": 14,
153 "y": 1.5
154 },
155 {
156 "label": "Insert",
157 "x": 15.25,
158 "y": 1.5
159 },
160 {
161 "label": "Tab",
162 "x": 0,
163 "y": 2.5,
164 "w": 1.5
165 },
166 {
167 "label": "Q",
168 "x": 1.5,
169 "y": 2.5
170 },
171 {
172 "label": "W",
173 "x": 2.5,
174 "y": 2.5
175 },
176 {
177 "label": "E",
178 "x": 3.5,
179 "y": 2.5
180 },
181 {
182 "label": "R",
183 "x": 4.5,
184 "y": 2.5
185 },
186 {
187 "label": "T",
188 "x": 5.5,
189 "y": 2.5
190 },
191 {
192 "label": "Y",
193 "x": 6.5,
194 "y": 2.5
195 },
196 {
197 "label": "U",
198 "x": 7.5,
199 "y": 2.5
200 },
201 {
202 "label": "I",
203 "x": 8.5,
204 "y": 2.5
205 },
206 {
207 "label": "O",
208 "x": 9.5,
209 "y": 2.5
210 },
211 {
212 "label": "P",
213 "x": 10.5,
214 "y": 2.5
215 },
216 {
217 "label": "{",
218 "x": 11.5,
219 "y": 2.5
220 },
221 {
222 "label": "}",
223 "x": 12.5,
224 "y": 2.5
225 },
226 {
227 "label": "Enter",
228 "x": 13.75,
229 "y": 2.5,
230 "w": 1.25,
231 "h": 2
232 },
233 {
234 "label": "Delete",
235 "x": 15.25,
236 "y": 2.5
237 },
238 {
239 "label": "Caps Lock",
240 "x": 0,
241 "y": 3.5,
242 "w": 1.75
243 },
244 {
245 "label": "A",
246 "x": 1.75,
247 "y": 3.5
248 },
249 {
250 "label": "S",
251 "x": 2.75,
252 "y": 3.5
253 },
254 {
255 "label": "D",
256 "x": 3.75,
257 "y": 3.5
258 },
259 {
260 "label": "F",
261 "x": 4.75,
262 "y": 3.5
263 },
264 {
265 "label": "G",
266 "x": 5.75,
267 "y": 3.5
268 },
269 {
270 "label": "H",
271 "x": 6.75,
272 "y": 3.5
273 },
274 {
275 "label": "J",
276 "x": 7.75,
277 "y": 3.5
278 },
279 {
280 "label": "K",
281 "x": 8.75,
282 "y": 3.5
283 },
284 {
285 "label": "L",
286 "x": 9.75,
287 "y": 3.5
288 },
289 {
290 "label": ":",
291 "x": 10.75,
292 "y": 3.5
293 },
294 {
295 "label": "@",
296 "x": 11.75,
297 "y": 3.5
298 },
299 {
300 "label": "~",
301 "x": 12.75,
302 "y": 3.5
303 },
304 {
305 "label": "PgDn",
306 "x": 15.25,
307 "y": 3.5
308 },
309 {
310 "label": "Shift",
311 "x": 0,
312 "y": 4.5,
313 "w": 1.25
314 },
315 {
316 "label": "|",
317 "x": 1.25,
318 "y": 4.5
319 },
320 {
321 "label": "Z",
322 "x": 2.25,
323 "y": 4.5
324 },
325 {
326 "label": "X",
327 "x": 3.25,
328 "y": 4.5
329 },
330 {
331 "label": "C",
332 "x": 4.25,
333 "y": 4.5
334 },
335 {
336 "label": "V",
337 "x": 5.25,
338 "y": 4.5
339 },
340 {
341 "label": "B",
342 "x": 6.25,
343 "y": 4.5
344 },
345 {
346 "label": "N",
347 "x": 7.25,
348 "y": 4.5
349 },
350 {
351 "label": "M",
352 "x": 8.25,
353 "y": 4.5
354 },
355 {
356 "label": "<",
357 "x": 9.25,
358 "y": 4.5
359 },
360 {
361 "label": ">",
362 "x": 10.25,
363 "y": 4.5
364 },
365 {
366 "label": "?",
367 "x": 11.25,
368 "y": 4.5
369 },
370 {
371 "label": "Shift",
372 "x": 12.25,
373 "y": 4.5,
374 "w": 1.75
375 },
376 {
377 "label": "\\u2191",
378 "x": 14.25,
379 "y": 4.5
380 },
381 {
382 "label": "Ctrl",
383 "x": 0,
384 "y": 5.5,
385 "w": 1.25
386 },
387 {
388 "label": "Win",
389 "x": 1.25,
390 "y": 5.5,
391 "w": 1.25
392 },
393 {
394 "label": "Alt",
395 "x": 2.5,
396 "y": 5.5,
397 "w": 1.25
398 },
399 {
400 "x": 3.75,
401 "y": 5.5,
402 "w": 6.25
403 },
404 {
405 "label": "AltGr",
406 "x": 10,
407 "y": 5.5
408 },
409 {
410 "label": "Win",
411 "x": 11,
412 "y": 5.5
413 },
414 {
415 "label": "Ctrl",
416 "x": 12,
417 "y": 5.5
418 },
419 {
420 "label": "\\u2190",
421 "x": 13.25,
422 "y": 5.5
423 },
424 {
425 "label": "\\u2193",
426 "x": 14.25,
427 "y": 5.5
428 },
429 {
430 "label": "\\u2192",
431 "x": 15.25,
432 "y": 5.5
433 }
434 ] 99 ]
435 } 100 }
436 } 101 }
diff --git a/keyboards/planck/keymaps/davidrambo/keymap.c b/keyboards/planck/keymaps/davidrambo/keymap.c
index b82791194..fa524180f 100644
--- a/keyboards/planck/keymaps/davidrambo/keymap.c
+++ b/keyboards/planck/keymaps/davidrambo/keymap.c
@@ -1,19 +1,38 @@
1/* Copyright 2021 David Rambo
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
1#include QMK_KEYBOARD_H 17#include QMK_KEYBOARD_H
2 18
3#define A_BSPC LALT(KC_BSPC) 19#define A_BSPC LALT(KC_BSPC)
4#define A_LEFT LALT(KC_LEFT) 20#define A_LEFT LALT(KC_LEFT)
5#define A_RGHT LALT(KC_RGHT) 21#define A_RGHT LALT(KC_RGHT)
6#define C_TAB LCTL(KC_TAB) 22#define C_TAB LCTL(KC_TAB)
7#define GSL LGUI(S(KC_LEFT)) 23#define CTLPGUP LCTL(KC_PGUP) // back one tab in Brave
8#define GSR LGUI(S(KC_RGHT)) 24#define CTLPGDN LCTL(KC_PGDN) // forward one tab in Brave
9#define G_TAB LGUI(KC_TAB) 25#define G_TAB LGUI(KC_TAB)
10#define G_GRV LGUI(KC_GRV) 26#define G_GRV LGUI(KC_GRV)
11#define SftEnt SFT_T(KC_ENT) 27#define SftEnt SFT_T(KC_ENT)
12#define NAV LT(2, KC_TAB) 28#define NAV LT(2, KC_TAB)
29#define RECT LCA_T(KC_DEL) // Ctrl+Alt is the basis for Rectangle WM shortcuts
13 30
14#define _COLEMAK 0 31enum custom_layers {
15#define _SYMBOL 1 32 _COLEMAK,
16#define _NAVIGATION 2 33 _SYMBOL,
34 _NAVIGATION,
35}
17 36
18//tapdance declarations 37//tapdance declarations
19enum { 38enum {
@@ -40,7 +59,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
40 KC_GESC, KC_Q , KC_W , KC_F , KC_P , KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC, 59 KC_GESC, KC_Q , KC_W , KC_F , KC_P , KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC,
41 NAV , KC_A , KC_R , KC_S , KC_T , KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, 60 NAV , KC_A , KC_R , KC_S , KC_T , KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT,
42 SftLck , KC_Z , KC_X , KC_C , KC_V , KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, SftEnt , 61 SftLck , KC_Z , KC_X , KC_C , KC_V , KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, SftEnt ,
43 KC_DEL , KC_LGUI, KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_SPC, MO(1), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT 62 RECT , KC_LGUI, KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_SPC, MO(1), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
44 ), 63 ),
45 64
46/* Symbol 65/* Symbol
@@ -49,7 +68,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
49 * |------+------+------+------+------+-------------+------+------+------+------+------| 68 * |------+------+------+------+------+-------------+------+------+------+------+------|
50 * | \| | ! | @ | # | $ | % | ^ | & | * | ( | ) | =+ | 69 * | \| | ! | @ | # | $ | % | ^ | & | * | ( | ) | =+ |
51 * |------+------+------+------+------+------|------+------+------+------+------+------| 70 * |------+------+------+------+------+------|------+------+------+------+------+------|
52 * | | Home | End | ScUp | ScDn | BRMD | BRMU | -_ |Pg Up | | / | | 71 * | | Home | End | | | BRMD | BRMU | -_ |Pg Up | | / | |
53 * |------+------+------+------+------+------+------+------+------+------+------+------| 72 * |------+------+------+------+------+------+------+------+------+------+------+------|
54 * | `~ | | | |Alt(Bk)| | |Pg Dn | Vol- | Vol+ | | 73 * | `~ | | | |Alt(Bk)| | |Pg Dn | Vol- | Vol+ | |
55 * `-----------------------------------------------------------------------------------' 74 * `-----------------------------------------------------------------------------------'
@@ -58,15 +77,15 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
58 KC_LBRC, KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_RBRC, 77 KC_LBRC, KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_RBRC,
59 KC_BSLS, KC_EXLM, KC_AT , KC_HASH, KC_DLR , KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_EQL , 78 KC_BSLS, KC_EXLM, KC_AT , KC_HASH, KC_DLR , KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_EQL ,
60 _______, KC_HOME, KC_END , _______, _______, KC_BRMD, KC_BRMU, KC_MINS, KC_PGUP, _______, _______, _______, 79 _______, KC_HOME, KC_END , _______, _______, KC_BRMD, KC_BRMU, KC_MINS, KC_PGUP, _______, _______, _______,
61 KC_GRV, _______, _______, _______, A_BSPC , _______, _______, _______, KC_PGDN, KC_VOLD, KC_VOLU, KC_MUTE 80 _______, KC_GRV , _______, _______, _______ , _______, _______, _______, KC_PGDN, KC_VOLD, KC_VOLU, KC_MUTE
62 ), 81 ),
63 82
64/* Navigation*/ 83/* Navigation*/
65 84
66[_NAVIGATION] = LAYOUT_planck_grid( 85[_NAVIGATION] = LAYOUT_planck_grid(
67 _______, _______, _______, _______, _______, _______, C_TAB , A_LEFT, KC_UP, A_RGHT , KC_DEL , _______, 86 _______, _______, _______, _______, _______, _______, C_TAB , A_LEFT, KC_UP, A_RGHT , KC_DEL , _______,
68 _______, _______, _______, _______, _______, _______, GSL , KC_LEFT, KC_DOWN, KC_RGHT, GSR , _______, 87 _______, _______, _______, _______, _______, _______, CTLPGUP, KC_LEFT, KC_DOWN, KC_RGHT, CTLPGDN, _______,
69 _______, _______, _______, _______, _______, _______, G_TAB , KC_HOME, _______, KC_END, G_GRV , _______, 88 _______, _______, _______, _______, _______, _______, G_TAB , A_BSPC , KC_HOME, KC_END, G_GRV , _______,
70 RESET , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ 89 RESET , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
71) 90)
72}; 91};
diff --git a/keyboards/preonic/keymaps/davidrambo/config.h b/keyboards/preonic/keymaps/davidrambo/config.h
new file mode 100644
index 000000000..c99ca8381
--- /dev/null
+++ b/keyboards/preonic/keymaps/davidrambo/config.h
@@ -0,0 +1,20 @@
1/* Copyright 2021 David Rambo
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 TAPPING_TERM 200
20#define PERMISSIVE_HOLD
diff --git a/keyboards/preonic/keymaps/davidrambo/keymap.c b/keyboards/preonic/keymaps/davidrambo/keymap.c
new file mode 100755
index 000000000..322089d91
--- /dev/null
+++ b/keyboards/preonic/keymaps/davidrambo/keymap.c
@@ -0,0 +1,179 @@
1/* Copyright 2021 David Rambo
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#include QMK_KEYBOARD_H
18
19//aliases for clarity in layering
20#define A_BSPC LALT(KC_BSPC) // delete whole word in Mac
21#define C_BSPC LCTL(KC_BSPC) // delete whole word in PC
22#define A_LEFT LALT(KC_LEFT) // move cursor whole word back in Mac
23#define A_RGHT LALT(KC_RGHT) // move cursor whole word forward in Mac
24#define C_RGHT LCTL(KC_RGHT) // move cursor whole word back in PC
25#define C_LEFT LCTL(KC_LEFT) // move cursor whole word forward in PC
26#define SftEnt SFT_T(KC_ENT)
27#define BS_GUI LGUI_T(KC_BSPC)
28#define BS_CTL LCTL_T(KC_BSPC)
29#define RECT LCA_T(KC_DEL) // Ctrl+Alt is the basis for Rectangle WM
30
31// internet browser tab shortcuts and window/application swapping for Mac and Win
32#define GSL LGUI(S(KC_LEFT)) // back one tab in Safari
33#define GSR LGUI(S(KC_RGHT)) // forward one tab in Safari
34#define CTLPGUP LCTL(KC_PGUP) // back one tab on PC
35#define CTLPGDN LCTL(KC_PGDN) // forward one tab on PC
36#define G_TAB LGUI(KC_TAB) // Mac: switch applications
37#define G_GRV LGUI(KC_GRV) // Mac: switch between windows within an application
38#define A_TAB LALT(KC_TAB)
39#define C_TAB LCTL(KC_TAB)
40
41// navigKC_ation layers for both Mac OS X and Windows
42#define NAVMAC LT(5, KC_ESC)
43#define NAVPC LT(6, KC_ESC)
44#define NAVQUD LT(7, KC_ESC)
45
46enum custom_layers {
47 _COLEMAK,
48 _PC,
49 _QUD,
50 _GAME,
51 _SYMBOL,
52 _NAVMAC,
53 _NAVPC,
54 _NAVQUD,
55}
56
57//tapdance declarations
58enum {
59 SFT_LCK
60};
61
62#define SftLck TD(SFT_LCK) /* alias for tapdance */
63
64const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
65
66/* Colemak
67 * ,-----------------------------------------------------------------------------------.
68 * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp |
69 * |------+------+------+------+------+------+------+------+------+------+------+------|
70 * | Tab | Q | W | F | P | G | J | L | U | Y | ; | Bksp |
71 * |------+------+------+------+------+-------------+------+------+------+------+------|
72 * | ESC` | A | R | S | T | D | H | N | E | I | O | " |
73 * |------+------+------+------+------+------|------+------+------+------+------+------|
74 * |SftLck| Z | X | C | V | B | K | M | , | . | /? |SftEnt|
75 * |------+------+------+------+------+------+------+------+------+------+------+------|
76 * | Del |PrnSc | GUI | Alt | Ctrl |BsGui | Space|Symbol| Left | Down | Up |Right |
77 * `-----------------------------------------------------------------------------------'
78*/
79
80[_COLEMAK] = LAYOUT_preonic_grid(
81 KC_GRV , KC_1, KC_2, KC_3, KC_4, KC_5 , KC_6, KC_7, KC_8, KC_9, KC_0, TG(1) ,
82 KC_TAB , KC_Q, KC_W, KC_F, KC_P, KC_G , KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC,
83 NAVMAC , KC_A, KC_R, KC_S, KC_T, KC_D , KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT,
84 SftLck , KC_Z, KC_X, KC_C, KC_V, KC_B , KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, SftEnt ,
85 RECT , KC_RCTL, KC_LGUI, KC_LCTL, KC_LALT, BS_GUI, KC_SPC, MO(4), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
86 ),
87
88[_PC] = LAYOUT_preonic_grid(
89 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, TO(2) ,
90 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
91 NAVPC , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
92 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
93 KC_DEL , KC_PSCR, KC_LCTL, KC_LALT, KC_LGUI, BS_CTL , KC_SPC , MO(4) , _______, _______, _______, _______
94 ),
95
96[_QUD] = LAYOUT_preonic_grid(
97 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, TO(3) ,
98 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
99 NAVQUD , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
100 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
101 KC_DEL , KC_PSCR, KC_LGUI, KC_LALT, KC_LCTL, NAVQUD , KC_SPC, MO(4) , _______, _______, _______, _______
102 ),
103
104[_GAME] = LAYOUT_preonic_grid(
105 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, TO(0) ,
106 KC_TAB , KC_T , KC_Q , KC_W , KC_E , KC_R , KC_Y , KC_U , KC_I , KC_O , KC_P , _______,
107 KC_TAB , KC_LSFT, KC_A , KC_S , KC_D , KC_F , KC_H , KC_J , KC_K , KC_L , KC_SCLN, _______,
108 KC_LALT, KC_LCTL, KC_Z , KC_X , KC_C , KC_V , KC_N , KC_M , _______, _______, _______, _______,
109 _______, _______, _______, KC_G , KC_B , KC_SPC , KC_I , MO(4) , _______, _______, _______, _______
110 ),
111
112/* Symbol
113 * ,-----------------------------------------------------------------------------------.
114 * | [ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | ] |
115 * |------+------+------+------+------+-------------+------+------+------+------+------|
116 * | \| | ! | @ | # | $ | % | ^ | & | * | ( | ) | =+ |
117 * |------+------+------+------+------+------|------+------+------+------+------+------|
118 * | | Home | End | | Play | BRMD | BRMU | -_ |Pg Up | | / | |
119 * |------+------+------+------+------+------+------+------+------+------+------+------|
120 * | `~ | | | | | | | |Pg Dn | Vol- | Vol+ | |
121 * `-----------------------------------------------------------------------------------'
122 */
123[_SYMBOL] = LAYOUT_preonic_grid(
124 KC_F12 , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 ,
125 KC_LBRC, KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_RBRC,
126 KC_BSLS, KC_EXLM, KC_AT , KC_HASH, KC_DLR , KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_EQL ,
127 _______, KC_HOME, KC_END , KC_MNXT, KC_MPLY, KC_WH_L, KC_WH_R, KC_MINS, KC_PGUP, KC_WH_D, KC_WH_U, _______,
128 _______, _______, _______, _______, _______, _______, _______, _______, KC_PGDN, KC_VOLD, KC_VOLU, KC_MUTE
129 ),
130
131/* Navigation*/
132
133[_NAVMAC] = LAYOUT_preonic_grid(
134 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
135 _______, _______, _______, _______, _______, _______, C_TAB , A_LEFT , KC_UP , A_RGHT , KC_DEL , _______,
136 _______, _______, _______, _______, _______, _______,S(C_TAB), KC_LEFT, KC_DOWN, KC_RGHT, C_TAB , _______,
137 _______, _______, _______, _______, _______, _______, G_TAB , A_BSPC , KC_HOME, KC_END , G_GRV , _______,
138 RESET , _______, _______, _______, KC_RALT, _______, _______, _______, _______, _______, _______, _______
139),
140
141[_NAVPC] = LAYOUT_preonic_grid(
142 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
143 _______, _______, _______, _______, _______, _______, C_TAB , C_LEFT , KC_UP , C_RGHT , KC_DEL , _______,
144 _______, _______, _______, _______, _______, _______, CTLPGUP, KC_LEFT, KC_DOWN, KC_RGHT, CTLPGDN, _______,
145 _______, _______, _______, _______, _______, _______, A_TAB , C_BSPC , KC_HOME, KC_END , G_GRV , _______,
146 RESET , _______, _______, KC_RALT, _______, _______, _______, _______, _______, _______, _______, _______
147),
148
149[_NAVQUD] = LAYOUT_preonic_grid(
150 _______, _______, _______, _______, _______, _______, _______, _______, KC_PSLS, KC_PAST, _______, _______,
151 _______, _______, _______, _______, _______, _______, _______, KC_P7 , KC_P8 , KC_P9 , _______, _______,
152 _______, _______, _______, _______, _______, _______, _______, KC_P4 , KC_P2 , KC_P6 , _______, _______,
153 _______, _______, _______, _______, _______, _______, _______, KC_P1 , KC_P5 , KC_P3 , _______, _______,
154 _______, _______, _______, _______, _______, _______, _______, _______, KC_PMNS, KC_PPLS, _______, _______
155)
156};
157
158// Shift vs capslock function. From bbaserdem's Planck keymap.
159void caps_tap (qk_tap_dance_state_t *state, void *user_data) {
160 if (state->count == 1) {
161 register_code (KC_LSFT);
162 } else if (state->count == 2) {
163 unregister_code (KC_LSFT);
164 register_code (KC_CAPS);
165 }
166}
167void caps_tap_end (qk_tap_dance_state_t *state, void *user_data) {
168 if (state->count == 1) {
169 unregister_code (KC_LSFT);
170 } else {
171 unregister_code (KC_CAPS);
172 }
173}
174
175//Tap Dance Definitions
176qk_tap_dance_action_t tap_dance_actions[] = {
177 //Tap once for Shift, twice for Caps Lock
178 [SFT_LCK] = ACTION_TAP_DANCE_FN_ADVANCED( caps_tap, NULL, caps_tap_end )
179};
diff --git a/keyboards/preonic/keymaps/davidrambo/rules.mk b/keyboards/preonic/keymaps/davidrambo/rules.mk
new file mode 100644
index 000000000..6f0d3dc0b
--- /dev/null
+++ b/keyboards/preonic/keymaps/davidrambo/rules.mk
@@ -0,0 +1,3 @@
1TAP_DANCE_ENABLE = yes
2AUDIO_ENABLE = no
3
diff --git a/keyboards/ramonimbao/chevron/info.json b/keyboards/ramonimbao/chevron/info.json
index 2a88fedb1..540a0870d 100644
--- a/keyboards/ramonimbao/chevron/info.json
+++ b/keyboards/ramonimbao/chevron/info.json
@@ -1,5 +1,7 @@
1{ 1{
2 "keyboard_name": "Chevron", 2 "keyboard_name": "Chevron",
3 "url": "",
4 "maintainer": "ramonimbao",
3 "width": 14.5, 5 "width": 14.5,
4 "height": 5, 6 "height": 5,
5 "layouts": { 7 "layouts": {
diff --git a/keyboards/xd75/keymaps/davidrambo/keymap.c b/keyboards/xd75/keymaps/davidrambo/keymap.c
index 7be197a81..f380ebdb1 100644
--- a/keyboards/xd75/keymaps/davidrambo/keymap.c
+++ b/keyboards/xd75/keymaps/davidrambo/keymap.c
@@ -1,37 +1,57 @@
1/* Copyright 2021 David Rambo
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
1#include QMK_KEYBOARD_H 17#include QMK_KEYBOARD_H
2 18
3//aliases for clarity in layering 19//aliases for clarity in layering
4#define A_BSPC LALT(KC_BSPC) // delete whole word in Mac 20#define ABSPC LALT(KC_BSPC) // delete whole word in Mac
5#define C_BSPC LCTL(KC_BSPC) // delete whole word in PC 21#define CBSPC LCTL(KC_BSPC) // delete whole word in PC
6#define A_LEFT LALT(KC_LEFT) 22#define ALEFT LALT(KC_LEFT)
7#define A_RGHT LALT(KC_RGHT) 23#define ARGHT LALT(KC_RGHT)
8#define C_RGHT LCTL(KC_RGHT) 24#define CRGHT LCTL(KC_RGHT)
9#define C_LEFT LCTL(KC_LEFT) 25#define CLEFT LCTL(KC_LEFT)
10#define SftEnt SFT_T(KC_ENT) 26#define SftEnt SFT_T(KC_ENT)
11#define BS_GUI LGUI_T(KC_BSPC) 27#define BSGUI LGUI_T(KC_BSPC)
12#define BS_CTL LCTL_T(KC_BSPC) 28#define BSCTL LCTL_T(KC_BSPC)
13 29
14// internet browser tab shortcuts and window/application swapping for Mac and Win 30// internet browser tab shortcuts and window/application swapping for Mac and Win
15#define GSL LGUI(S(KC_LEFT)) // back one tab in Safari 31#define GSL LGUI(S(KC_LEFT)) // back one tab in Safari
16#define GSR LGUI(S(KC_RGHT)) // forward one tab in Safari 32#define GSR LGUI(S(KC_RGHT)) // forward one tab in Safari
17#define CTLPGDN LCTL(KC_PGDN) // back one tab on Windows 33#define CTLPGDN LCTL(KC_PGDN) // back one tab on PC
18#define CTLPGUP LCTL(KC_PGUP) // forward one tab on Windows 34#define CTLPGUP LCTL(KC_PGUP) // forward one tab on PC
19#define G_TAB LGUI(KC_TAB) // Mac: switch applications 35#define GTAB LGUI(KC_TAB) // Mac: switch applications
20#define G_GRV LGUI(KC_GRV) // Mac: switch between windows within an application 36#define GGRV LGUI(KC_GRV) // Mac: switch between windows within an application
21#define A_TAB LALT(KC_TAB) 37#define ATAB LALT(KC_TAB)
22#define C_TAB LCTL(KC_TAB) 38#define CTAB LCTL(KC_TAB)
23 39
24// navigation layers for both Mac OS X and Windows 40// toggles for navigation layers for Mac, PC, and Roguelike Numpad
25#define NAV LT(4, KC_TAB) 41#define NAV LT(5, KC_ESC)
26#define NAVPC LT(5, KC_TAB) 42#define NAVPC LT(6, KC_ESC)
27 43#define NAVQUD MO(7)
28// Layer shorthand 44
29#define _COLEMAK 0 45enum custom_layer {
30#define _PC 1 46 _COLEMAK,
31#define _GAME 2 // Gaming layer 47 _PC,
32#define _SYMBOL 3 // Function keys, numbers, symbols, Backlighting 48 _GAME, // Gaming layer
33#define _NAV 4 // Navigation Layer on Mac 49 _QUD,3 // Roguelike layer
34#define _NAVPC 5 // Navigation Layer on Win 50 _SYMBOL, // Function keys, numbers, symbols, Backlighting
51 _NAV, // Navigation Layer on Mac
52 _NAVPC, // Navigation Layer on Win
53 _NAVQUD, // Numpad for Roguelike 8-directional movement
54}
35 55
36// tapdance declarations 56// tapdance declarations
37enum { 57enum {
@@ -58,29 +78,37 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
58 */ 78 */
59 79
60 [_COLEMAK] = LAYOUT_ortho_5x15( /* COLEMAK */ 80 [_COLEMAK] = LAYOUT_ortho_5x15( /* COLEMAK */
61 KC_GRV , KC_1, KC_2, KC_3, KC_4, KC_5, KC_MINS, TG(1) , KC_EQL, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, 81 KC_GRV , KC_1, KC_2, KC_3, KC_4, KC_5, KC_MINS, TO(1) , KC_EQL, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
62 KC_GESC, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_LBRC, KC_BSLS, KC_RBRC, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC, 82 KC_TAB , KC_Q, KC_W, KC_F, KC_P, KC_G, KC_LBRC, KC_BSLS, KC_RBRC, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC,
63 NAV , KC_A, KC_R, KC_S, KC_T, KC_D, KC_PGUP, KC_ESC , KC_ENT , KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, 83 NAV , KC_A, KC_R, KC_S, KC_T, KC_D, KC_PGUP, KC_MPLY, GGRV , KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT,
64 SftLck , KC_Z, KC_X, KC_C, KC_V, KC_B, KC_PGDN, KC_UP , KC_ENT , KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, SftEnt , 84 SftLck , KC_Z, KC_X, KC_C, KC_V, KC_B, KC_PGDN, KC_UP , GTAB , KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, SftEnt,
65 KC_DEL , KC_LGUI, KC_LCTL, KC_LALT, KC_LGUI, BS_GUI, KC_LEFT, KC_DOWN, KC_RGHT, KC_SPC, MO(3) , KC_RGUI, KC_RALT, KC_RCTL, BL_STEP 85 KC_DEL , KC_LGUI, KC_LCTL, KC_LALT, KC_LCTL, BSGUI, KC_LEFT, KC_DOWN, KC_RGHT, KC_SPC, MO(4) , KC_RGUI, KC_RALT, KC_RCTL, BL_STEP
66 ), 86 ),
67 87
68// Windows Layer: essentially swaps Control and GUI 88// Linux/Windows Layer: essentially swaps Control and GUI
69 89
70 [_PC] = LAYOUT_ortho_5x15( /* WINDOWS */ 90 [_PC] = LAYOUT_ortho_5x15( /* WINDOWS */
71 _______, _______, _______, _______, _______, _______, _______, TG(2) , _______, _______, _______, _______, _______, _______, _______, 91 _______, _______, _______, _______, _______, _______, _______, TO(2) , _______, _______, _______, _______, _______, _______, _______,
72 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
73 NAVPC , _______, _______, _______, _______, _______, _______, KC_MPLY, _______, _______, _______, _______, _______, _______, _______,
74 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, 92 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
75 _______, KC_LCTL, KC_LGUI, _______, KC_LCTL, BS_CTL , _______, _______, _______, _______, _______, KC_RCTL, KC_RALT, KC_RGUI, _______ 93 NAVPC , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
94 _______, _______, _______, _______, _______, _______, _______, _______, ATAB , _______, _______, _______, _______, _______, _______,
95 _______, KC_PSCR, KC_LGUI, _______, KC_LGUI, BSCTL , _______, _______, _______, _______, _______, KC_RCTL, _______, KC_RGUI, _______
76 ), 96 ),
77 97
78 [_GAME] = LAYOUT_ortho_5x15( /* Gaming Layer */ 98 [_GAME] = LAYOUT_ortho_5x15( /* Gaming Layer */
79 _______, KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_F10 , KC_F11 , KC_F12 , _______, _______, _______, _______, _______, TO(0) , 99 _______, _______, _______, _______, _______, _______, _______, TO(0) , _______, _______, _______, _______, _______, _______, TO(3) ,
80 KC_ESC , KC_T , KC_Q , KC_W , KC_E , KC_R , KC_F7 , KC_F8 , KC_F9 , KC_Y , KC_U , KC_I , KC_O , KC_P , _______, 100 KC_ESC , KC_T , KC_Q , KC_W , KC_E , KC_R , KC_F7 , KC_F8 , KC_F9 , KC_Y , KC_U , KC_I , KC_O , KC_P , _______,
81 KC_TAB , KC_LSFT, KC_A , KC_S , KC_D , KC_F , KC_F4 , KC_F5 , KC_F6 , KC_H , KC_J , KC_K , KC_L , KC_SCLN, _______, 101 KC_TAB , KC_LSFT, KC_A , KC_S , KC_D , KC_F , KC_F4 , KC_F5 , KC_F6 , KC_H , KC_J , KC_K , KC_L , KC_SCLN, _______,
82 KC_LALT, KC_LCTL, KC_Z , KC_X , KC_C , KC_V , KC_F1 , KC_F2 , KC_F3 , KC_N , KC_M , _______, _______, _______, KC_ENT , 102 KC_LALT, KC_LCTL, KC_Z , KC_X , KC_C , KC_V , KC_F1 , KC_F2 , KC_F3 , KC_N , KC_M , _______, _______, _______, KC_ENT ,
83 _______, _______, _______, KC_G , KC_B , KC_SPC , KC_I , KC_M , _______, _______, KC_LEFT, KC_DOWN, KC_UP , KC_RGHT, _______ 103 _______, _______, _______, KC_G , KC_B , KC_SPC , KC_I , KC_M , ATAB , _______, KC_LEFT, KC_DOWN, KC_UP , KC_RGHT, _______
104 ),
105
106 [_QUD] = LAYOUT_ortho_5x15( /* Roguelike Layer */
107 _______, _______, _______, _______, _______, _______, _______,KC_PSLS, KC_PAST, _______, _______, _______, _______, _______, TO(0),
108 KC_GESC, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_LBRC, KC_BSLS, KC_RBRC, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC,
109 NAV , KC_A, KC_R, KC_S, KC_T, KC_D, KC_PGUP, KC_MPLY, GGRV , KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT,
110 SftLck , KC_Z, KC_X, KC_C, KC_V, KC_B, KC_PGDN, KC_UP , ATAB , KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, SftEnt ,
111 KC_DEL , KC_LGUI, KC_LGUI, KC_LALT, KC_LCTL, TO(7), KC_LEFT, KC_DOWN, KC_RGHT, KC_SPC, MO(4) , KC_RGUI, KC_RALT, KC_RCTL, _______
84 ), 112 ),
85 113
86/* SYMBOL 114/* SYMBOL
@@ -101,25 +129,33 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
101 KC_F12 , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , _______, _______, _______, KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , 129 KC_F12 , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , _______, _______, _______, KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 ,
102 KC_LBRC, KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , _______, _______, _______, KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_RBRC, 130 KC_LBRC, KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , _______, _______, _______, KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_RBRC,
103 _______, KC_EXLM, KC_AT , KC_HASH, KC_DLR , KC_PERC, _______, _______, _______, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_EQL , 131 _______, KC_EXLM, KC_AT , KC_HASH, KC_DLR , KC_PERC, _______, _______, _______, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_EQL ,
104 _______, KC_HOME, KC_END , BL_OFF , BL_ON , KC_F11 , _______, _______, _______, KC_F12 , KC_MINS, _______, _______, _______, _______, 132 _______, KC_HOME, KC_END , BL_OFF , BL_ON , KC_VOLD, _______, _______, _______, KC_VOLU, KC_MINS, _______, _______, _______, _______,
105 _______, _______, _______, _______, _______, A_BSPC , _______, _______, _______, _______, _______, _______, _______, _______, _______ 133 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
106 ), 134 ),
107 135
108 136
109 [_NAV] = LAYOUT_ortho_5x15( /* NAVIGATION for Mac */ 137 [_NAV] = LAYOUT_ortho_5x15( /* NAVIGATION for Mac */
110 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, 138 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
111 _______, _______, _______, _______, _______, _______, _______, _______, _______, C_TAB , A_LEFT, KC_UP, A_RGHT , KC_DEL , _______, 139 _______, _______, _______, _______, _______, _______, _______, _______, _______, CTAB , ALEFT , KC_UP , ARGHT , KC_DEL , _______,
112 _______, _______, _______, _______, _______, _______, _______, _______, _______, GSL , KC_LEFT, KC_DOWN, KC_RGHT, GSR , _______, 140 _______, _______, _______, _______, _______, _______, _______, _______, _______, CTLPGUP, KC_LEFT, KC_DOWN, KC_RGHT, CTLPGDN, _______,
113 _______, _______, _______, _______, _______, _______, _______, _______, _______, G_TAB , A_BSPC , KC_HOME, KC_END , G_GRV , _______, 141 _______, _______, _______, _______, _______, _______, _______, _______, _______, GTAB , ABSPC , KC_HOME, KC_END , GGRV , _______,
114 RESET , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ 142 RESET , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
115 ), 143 ),
116 144
117 [_NAVPC] = LAYOUT_ortho_5x15( /* NAVIGATION FOR WINDOWS: replaces Alt with Control, GUI with Alt, and browser tab shortcuts*/ 145 [_NAVPC] = LAYOUT_ortho_5x15( /* NAVIGATION FOR PC: replaces Alt with Control, GUI with Alt, and browser tab shortcuts*/
118 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, 146 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
119 _______, _______, _______, _______, _______, _______, _______, _______, _______, C_TAB , C_LEFT, KC_UP, C_RGHT , KC_DEL , _______, 147 _______, _______, _______, _______, _______, _______, _______, _______, _______, CTAB , CLEFT , KC_UP , CRGHT , KC_DEL , _______,
120 _______, _______, _______, _______, _______, _______, _______, _______, _______, CTLPGUP, KC_LEFT, KC_DOWN, KC_RGHT, CTLPGDN, _______, 148 _______, _______, _______, _______, _______, _______, _______, _______, _______, CTLPGUP, KC_LEFT, KC_DOWN, KC_RGHT, CTLPGDN, _______,
121 _______, _______, _______, _______, _______, _______, _______, _______, _______, A_TAB , C_BSPC , KC_HOME, KC_END , _______, _______, 149 _______, _______, _______, _______, _______, _______, _______, _______, _______, ATAB , CBSPC , KC_HOME, KC_END , _______, _______,
122 RESET , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ 150 RESET , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
151 ),
152
153 [_NAVQUD] = LAYOUT_ortho_5x15( /* NAVIGATION for Mac */
154 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSLS, KC_PAST, _______, _______,
155 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_KP_7, KC_KP_8, KC_KP_9, KC_PMNS, _______,
156 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_KP_4, KC_KP_2, KC_KP_6, KC_PPLS, _______,
157 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_KP_1, KC_KP_5, KC_KP_3, _______, _______,
158 _______, _______, _______, _______, _______, TO(3), _______, _______, _______, _______, KC_KP_0, KC_PDOT, _______, _______, _______
123 ) 159 )
124}; 160};
125 161
diff --git a/keyboards/xd75/keymaps/davidrambo/readme.md b/keyboards/xd75/keymaps/davidrambo/readme.md
index a53abc8af..4199a5d80 100644
--- a/keyboards/xd75/keymaps/davidrambo/readme.md
+++ b/keyboards/xd75/keymaps/davidrambo/readme.md
@@ -1,7 +1,8 @@
1# XD75 1# XD75
2 2
3This is a Colemak layout for XD75 with both Mac and Windows layers. 3This is a Colemak layout for XD75 with both Mac and Linux/Windows layers.
4These two layers share momentary toggle access to a "Symbol" layer, which is modeled after my Planck layout (see planck/keymaps/davidrambo). 4These two layers share momentary toggle access to a "Symbol" layer, which is modeled after my Planck layout (see planck/keymaps/davidrambo).
5Each of the base Colemak layers have their own Navigation layers for the right hand to use arrows and shortcuts for both text editing and web browsing. 5Each of the base Colemak layers have their own Navigation layers for the right hand to use arrows and shortcuts for both text editing and web browsing.
6It also has two layers used for games: one with a typical WASD orientation, another for playing Roguelikes that need a numpad.
6 7
7The rules.mk file overrides the XD75's "BACKLIGHT_ENABLE" with YES and also adds tap dance functionality. \ No newline at end of file 8The rules.mk file overrides the XD75's "BACKLIGHT_ENABLE" with YES and also adds tap dance functionality.
diff --git a/message.mk b/message.mk
index da5f9fb9e..f4a246894 100644
--- a/message.mk
+++ b/message.mk
@@ -92,6 +92,6 @@ MSG_PYTHON_MISSING = $(ERROR_COLOR)ERROR:$(NO_COLOR) Can not run \"qmk\" command
92 Please run $(BOLD)util/qmk_install.sh$(NO_COLOR) to install all the dependencies QMK requires.\n\n 92 Please run $(BOLD)util/qmk_install.sh$(NO_COLOR) to install all the dependencies QMK requires.\n\n
93MSG_FLASH_BOOTLOADER = $(WARN_COLOR)WARNING:$(NO_COLOR) This board's bootloader is not specified or is not supported by the \":flash\" target at this time.\n\n 93MSG_FLASH_BOOTLOADER = $(WARN_COLOR)WARNING:$(NO_COLOR) This board's bootloader is not specified or is not supported by the \":flash\" target at this time.\n\n
94MSG_FLASH_ARCH = $(WARN_COLOR)WARNING:$(NO_COLOR) This board's architecture is not supported by the \":flash\" target at this time.\n\n 94MSG_FLASH_ARCH = $(WARN_COLOR)WARNING:$(NO_COLOR) This board's architecture is not supported by the \":flash\" target at this time.\n\n
95MSG_BOOTLOADER_NOT_FOUND = $(ERROR_COLOR)ERROR:$(NO_COLOR) Bootloader not found. Trying again in 5s.\n 95MSG_BOOTLOADER_NOT_FOUND = $(ERROR_COLOR)ERROR:$(NO_COLOR) Bootloader not found. Trying again in 5s (Ctrl+C to cancel)\n
96BOOTLOADER_RETRY_TIME ?= 0.5 96BOOTLOADER_RETRY_TIME ?= 0.5
97MSG_BOOTLOADER_NOT_FOUND_QUICK_RETRY = Bootloader not found. Trying again every $(BOOTLOADER_RETRY_TIME)s 97MSG_BOOTLOADER_NOT_FOUND_QUICK_RETRY = Bootloader not found. Trying again every $(BOOTLOADER_RETRY_TIME)s (Ctrl+C to cancel)
diff --git a/tmk_core/avr.mk b/tmk_core/avr.mk
index b787e77ec..2efde2212 100644
--- a/tmk_core/avr.mk
+++ b/tmk_core/avr.mk
@@ -173,7 +173,7 @@ define EXEC_AVRDUDE
173 fi; \ 173 fi; \
174 }; \ 174 }; \
175 USB= ;\ 175 USB= ;\
176 printf "Detecting USB port, reset your controller now."; \ 176 printf "Waiting for USB serial port - reset your controller now (Ctrl+C to cancel)"; \
177 TMP1=`mktemp`; \ 177 TMP1=`mktemp`; \
178 TMP2=`mktemp`; \ 178 TMP2=`mktemp`; \
179 list_devices > $$TMP1; \ 179 list_devices > $$TMP1; \