diff options
author | marksard <38324387+marksard@users.noreply.github.com> | 2020-09-04 20:14:34 +0900 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-09-04 04:14:34 -0700 |
commit | 6e32dd123ff0ff49768f43c97bbc10836ff8a629 (patch) | |
tree | 02e1288b9873a41af13707447985d4318372b9d4 /keyboards/marksard | |
parent | 82a830196f5a71ced413af302ce4dd12ec034782 (diff) | |
download | qmk_firmware-6e32dd123ff0ff49768f43c97bbc10836ff8a629.tar.gz qmk_firmware-6e32dd123ff0ff49768f43c97bbc10836ff8a629.zip |
[Keyboard] add rhymestone by marksard (#9708)
* Keyboard: add treeadstone48
* rename layout defines
* Use of pragma once
* move common include code
* fixed info.json
* change keymap layout from kc to normal
* fix alpha revision keymap
* fixed info.json
* remove USE_Link_Time_Optimization
* Add keyboard the Rhymestone
* fixed by PR review
* fixed by review
* Update keyboards/rhymestone/readme.md
fixed
* Fixed possible changes to oled_write_P
* Change the name of the layout definition
* Update keyboards/rhymestone/info.json
* Update keyboards/rhymestone/keymaps/default/keymap.c
* Update keyboards/rhymestone/keymaps/default/keymap.c
* Update keyboards/rhymestone/keymaps/default/keymap.c
* Update keyboards/rhymestone/keymaps/default/keymap.c
* Update keyboards/rhymestone/keymaps/switch_tester/keymap.c
* Update keyboards/rhymestone/keymaps/switch_tester/keymap.c
* Update keyboards/rhymestone/rev1/rev1.h
* add empty rules.mk in rev1
* Update from other review
* Update keyboards/rhymestone/rules.mk
* fixed other review
* move rhymestone to marksard directory
* move rhymestone to marksard directory (Commit the necessary modifications)
* remove
Diffstat (limited to 'keyboards/marksard')
-rw-r--r-- | keyboards/marksard/rhymestone/common/glcdfont.c | 233 | ||||
-rw-r--r-- | keyboards/marksard/rhymestone/common/oled_helper.c | 87 | ||||
-rw-r--r-- | keyboards/marksard/rhymestone/common/oled_helper.h | 32 | ||||
-rw-r--r-- | keyboards/marksard/rhymestone/info.json | 213 | ||||
-rw-r--r-- | keyboards/marksard/rhymestone/keymaps/default/config.h | 27 | ||||
-rw-r--r-- | keyboards/marksard/rhymestone/keymaps/default/keymap.c | 226 | ||||
-rw-r--r-- | keyboards/marksard/rhymestone/keymaps/default/rules.mk | 9 | ||||
-rw-r--r-- | keyboards/marksard/rhymestone/keymaps/switch_tester/keymap.c | 76 | ||||
-rw-r--r-- | keyboards/marksard/rhymestone/keymaps/switch_tester/readme.md | 3 | ||||
-rw-r--r-- | keyboards/marksard/rhymestone/keymaps/switch_tester/rules.mk | 7 | ||||
-rw-r--r-- | keyboards/marksard/rhymestone/readme.md | 18 | ||||
-rw-r--r-- | keyboards/marksard/rhymestone/rev1/config.h | 152 | ||||
-rw-r--r-- | keyboards/marksard/rhymestone/rev1/rev1.c | 108 | ||||
-rw-r--r-- | keyboards/marksard/rhymestone/rev1/rev1.h | 89 | ||||
-rw-r--r-- | keyboards/marksard/rhymestone/rev1/rules.mk | 0 | ||||
-rw-r--r-- | keyboards/marksard/rhymestone/rules.mk | 27 |
16 files changed, 1307 insertions, 0 deletions
diff --git a/keyboards/marksard/rhymestone/common/glcdfont.c b/keyboards/marksard/rhymestone/common/glcdfont.c new file mode 100644 index 000000000..d9438aa5a --- /dev/null +++ b/keyboards/marksard/rhymestone/common/glcdfont.c | |||
@@ -0,0 +1,233 @@ | |||
1 | // This is the 'classic' fixed-space bitmap font for Adafruit_GFX since 1.0. | ||
2 | // See gfxfont.h for newer custom bitmap font info. | ||
3 | |||
4 | #include "progmem.h" | ||
5 | |||
6 | // Standard ASCII 5x7 font | ||
7 | |||
8 | static const unsigned char font[] PROGMEM = { | ||
9 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
10 | 0x3E, 0x5B, 0x4F, 0x5B, 0x3E, 0x00, | ||
11 | 0x3E, 0x6B, 0x4F, 0x6B, 0x3E, 0x00, | ||
12 | 0x1C, 0x3E, 0x7C, 0x3E, 0x1C, 0x00, | ||
13 | 0x18, 0x3C, 0x7E, 0x3C, 0x18, 0x00, | ||
14 | 0x1C, 0x57, 0x7D, 0x57, 0x1C, 0x00, | ||
15 | 0x1C, 0x5E, 0x7F, 0x5E, 0x1C, 0x00, | ||
16 | 0x00, 0x18, 0x3C, 0x18, 0x00, 0x00, | ||
17 | 0xFF, 0xE7, 0xC3, 0xE7, 0xFF, 0x00, | ||
18 | 0x00, 0x18, 0x24, 0x18, 0x00, 0x00, | ||
19 | 0xFF, 0xE7, 0xDB, 0xE7, 0xFF, 0x00, | ||
20 | 0x30, 0x48, 0x3A, 0x06, 0x0E, 0x00, | ||
21 | 0x26, 0x29, 0x79, 0x29, 0x26, 0x00, | ||
22 | 0x40, 0x7F, 0x05, 0x05, 0x07, 0x00, | ||
23 | 0x40, 0x7F, 0x05, 0x25, 0x3F, 0x00, | ||
24 | 0x5A, 0x3C, 0xE7, 0x3C, 0x5A, 0x00, | ||
25 | 0x7F, 0x3E, 0x1C, 0x1C, 0x08, 0x00, | ||
26 | 0x08, 0x1C, 0x1C, 0x3E, 0x7F, 0x00, | ||
27 | 0x14, 0x22, 0x7F, 0x22, 0x14, 0x00, | ||
28 | 0x5F, 0x5F, 0x00, 0x5F, 0x5F, 0x00, | ||
29 | 0x06, 0x09, 0x7F, 0x01, 0x7F, 0x00, | ||
30 | 0x00, 0x66, 0x89, 0x95, 0x6A, 0x00, | ||
31 | 0x60, 0x60, 0x60, 0x60, 0x60, 0x00, | ||
32 | 0x94, 0xA2, 0xFF, 0xA2, 0x94, 0x00, | ||
33 | 0x08, 0x04, 0x7E, 0x04, 0x08, 0x00, | ||
34 | 0x10, 0x20, 0x7E, 0x20, 0x10, 0x00, | ||
35 | 0x08, 0x08, 0x2A, 0x1C, 0x08, 0x00, | ||
36 | 0x08, 0x1C, 0x2A, 0x08, 0x08, 0x00, | ||
37 | 0x1E, 0x10, 0x10, 0x10, 0x10, 0x00, | ||
38 | 0x0C, 0x1E, 0x0C, 0x1E, 0x0C, 0x00, | ||
39 | 0x30, 0x38, 0x3E, 0x38, 0x30, 0x00, | ||
40 | 0x06, 0x0E, 0x3E, 0x0E, 0x06, 0x00, | ||
41 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
42 | 0x00, 0x00, 0x5F, 0x00, 0x00, 0x00, | ||
43 | 0x00, 0x07, 0x00, 0x07, 0x00, 0x00, | ||
44 | 0x14, 0x7F, 0x14, 0x7F, 0x14, 0x00, | ||
45 | 0x24, 0x2A, 0x7F, 0x2A, 0x12, 0x00, | ||
46 | 0x23, 0x13, 0x08, 0x64, 0x62, 0x00, | ||
47 | 0x36, 0x49, 0x56, 0x20, 0x50, 0x00, | ||
48 | 0x00, 0x08, 0x07, 0x03, 0x00, 0x00, | ||
49 | 0x00, 0x1C, 0x22, 0x41, 0x00, 0x00, | ||
50 | 0x00, 0x41, 0x22, 0x1C, 0x00, 0x00, | ||
51 | 0x2A, 0x1C, 0x7F, 0x1C, 0x2A, 0x00, | ||
52 | 0x08, 0x08, 0x3E, 0x08, 0x08, 0x00, | ||
53 | 0x00, 0x80, 0x70, 0x30, 0x00, 0x00, | ||
54 | 0x08, 0x08, 0x08, 0x08, 0x08, 0x00, | ||
55 | 0x00, 0x00, 0x60, 0x60, 0x00, 0x00, | ||
56 | 0x20, 0x10, 0x08, 0x04, 0x02, 0x00, | ||
57 | 0x3E, 0x51, 0x49, 0x45, 0x3E, 0x00, | ||
58 | 0x00, 0x42, 0x7F, 0x40, 0x00, 0x00, | ||
59 | 0x72, 0x49, 0x49, 0x49, 0x46, 0x00, | ||
60 | 0x21, 0x41, 0x49, 0x4D, 0x33, 0x00, | ||
61 | 0x18, 0x14, 0x12, 0x7F, 0x10, 0x00, | ||
62 | 0x27, 0x45, 0x45, 0x45, 0x39, 0x00, | ||
63 | 0x3C, 0x4A, 0x49, 0x49, 0x31, 0x00, | ||
64 | 0x41, 0x21, 0x11, 0x09, 0x07, 0x00, | ||
65 | 0x36, 0x49, 0x49, 0x49, 0x36, 0x00, | ||
66 | 0x46, 0x49, 0x49, 0x29, 0x1E, 0x00, | ||
67 | 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, | ||
68 | 0x00, 0x40, 0x34, 0x00, 0x00, 0x00, | ||
69 | 0x00, 0x08, 0x14, 0x22, 0x41, 0x00, | ||
70 | 0x14, 0x14, 0x14, 0x14, 0x14, 0x00, | ||
71 | 0x00, 0x41, 0x22, 0x14, 0x08, 0x00, | ||
72 | 0x02, 0x01, 0x59, 0x09, 0x06, 0x00, | ||
73 | 0x3E, 0x41, 0x5D, 0x59, 0x4E, 0x00, | ||
74 | 0x7C, 0x12, 0x11, 0x12, 0x7C, 0x00, | ||
75 | 0x7F, 0x49, 0x49, 0x49, 0x36, 0x00, | ||
76 | 0x3E, 0x41, 0x41, 0x41, 0x22, 0x00, | ||
77 | 0x7F, 0x41, 0x41, 0x41, 0x3E, 0x00, | ||
78 | 0x7F, 0x49, 0x49, 0x49, 0x41, 0x00, | ||
79 | 0x7F, 0x09, 0x09, 0x09, 0x01, 0x00, | ||
80 | 0x3E, 0x41, 0x41, 0x51, 0x73, 0x00, | ||
81 | 0x7F, 0x08, 0x08, 0x08, 0x7F, 0x00, | ||
82 | 0x00, 0x41, 0x7F, 0x41, 0x00, 0x00, | ||
83 | 0x20, 0x40, 0x41, 0x3F, 0x01, 0x00, | ||
84 | 0x7F, 0x08, 0x14, 0x22, 0x41, 0x00, | ||
85 | 0x7F, 0x40, 0x40, 0x40, 0x40, 0x00, | ||
86 | 0x7F, 0x02, 0x1C, 0x02, 0x7F, 0x00, | ||
87 | 0x7F, 0x04, 0x08, 0x10, 0x7F, 0x00, | ||
88 | 0x3E, 0x41, 0x41, 0x41, 0x3E, 0x00, | ||
89 | 0x7F, 0x09, 0x09, 0x09, 0x06, 0x00, | ||
90 | 0x3E, 0x41, 0x51, 0x21, 0x5E, 0x00, | ||
91 | 0x7F, 0x09, 0x19, 0x29, 0x46, 0x00, | ||
92 | 0x26, 0x49, 0x49, 0x49, 0x32, 0x00, | ||
93 | 0x03, 0x01, 0x7F, 0x01, 0x03, 0x00, | ||
94 | 0x3F, 0x40, 0x40, 0x40, 0x3F, 0x00, | ||
95 | 0x1F, 0x20, 0x40, 0x20, 0x1F, 0x00, | ||
96 | 0x3F, 0x40, 0x38, 0x40, 0x3F, 0x00, | ||
97 | 0x63, 0x14, 0x08, 0x14, 0x63, 0x00, | ||
98 | 0x03, 0x04, 0x78, 0x04, 0x03, 0x00, | ||
99 | 0x61, 0x59, 0x49, 0x4D, 0x43, 0x00, | ||
100 | 0x00, 0x7F, 0x41, 0x41, 0x41, 0x00, | ||
101 | 0x02, 0x04, 0x08, 0x10, 0x20, 0x00, | ||
102 | 0x00, 0x41, 0x41, 0x41, 0x7F, 0x00, | ||
103 | 0x04, 0x02, 0x01, 0x02, 0x04, 0x00, | ||
104 | 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, | ||
105 | 0x00, 0x03, 0x07, 0x08, 0x00, 0x00, | ||
106 | 0x20, 0x54, 0x54, 0x78, 0x40, 0x00, | ||
107 | 0x7F, 0x28, 0x44, 0x44, 0x38, 0x00, | ||
108 | 0x38, 0x44, 0x44, 0x44, 0x28, 0x00, | ||
109 | 0x38, 0x44, 0x44, 0x28, 0x7F, 0x00, | ||
110 | 0x38, 0x54, 0x54, 0x54, 0x18, 0x00, | ||
111 | 0x00, 0x08, 0x7E, 0x09, 0x02, 0x00, | ||
112 | 0x18, 0x24, 0x24, 0x1C, 0x78, 0x00, | ||
113 | 0x7F, 0x08, 0x04, 0x04, 0x78, 0x00, | ||
114 | 0x00, 0x44, 0x7D, 0x40, 0x00, 0x00, | ||
115 | 0x20, 0x40, 0x40, 0x3D, 0x00, 0x00, | ||
116 | 0x7F, 0x10, 0x28, 0x44, 0x00, 0x00, | ||
117 | 0x00, 0x41, 0x7F, 0x40, 0x00, 0x00, | ||
118 | 0x7C, 0x04, 0x78, 0x04, 0x78, 0x00, | ||
119 | 0x7C, 0x08, 0x04, 0x04, 0x78, 0x00, | ||
120 | 0x38, 0x44, 0x44, 0x44, 0x38, 0x00, | ||
121 | 0xFC, 0x18, 0x24, 0x24, 0x18, 0x00, | ||
122 | 0x18, 0x24, 0x24, 0x18, 0xFC, 0x00, | ||
123 | 0x7C, 0x08, 0x04, 0x04, 0x08, 0x00, | ||
124 | 0x48, 0x54, 0x54, 0x54, 0x24, 0x00, | ||
125 | 0x04, 0x04, 0x3F, 0x44, 0x24, 0x00, | ||
126 | 0x3C, 0x40, 0x40, 0x20, 0x7C, 0x00, | ||
127 | 0x1C, 0x20, 0x40, 0x20, 0x1C, 0x00, | ||
128 | 0x3C, 0x40, 0x30, 0x40, 0x3C, 0x00, | ||
129 | 0x44, 0x28, 0x10, 0x28, 0x44, 0x00, | ||
130 | 0x4C, 0x10, 0x10, 0x10, 0x7C, 0x00, | ||
131 | 0x44, 0x64, 0x54, 0x4C, 0x44, 0x00, | ||
132 | 0x00, 0x08, 0x36, 0x41, 0x00, 0x00, | ||
133 | 0x00, 0x00, 0x77, 0x00, 0x00, 0x00, | ||
134 | 0x00, 0x41, 0x36, 0x08, 0x00, 0x00, | ||
135 | 0x02, 0x01, 0x02, 0x04, 0x02, 0x00, | ||
136 | 0x3C, 0x26, 0x23, 0x26, 0x3C, 0x00, | ||
137 | 0x00, 0x00, 0xD8, 0xDE, 0xDE, 0xDE, | ||
138 | 0x1E, 0x1E, 0x1E, 0x1E, 0xFE, 0xFE, | ||
139 | 0xFE, 0xFE, 0x00, 0xF0, 0xFF, 0xFF, | ||
140 | 0xFF, 0xE3, 0xE0, 0xE0, 0xE0, 0xE0, | ||
141 | 0xE0, 0xE0, 0x00, 0x80, 0xE0, 0xE0, | ||
142 | 0xE0, 0x00, 0x00, 0x00, 0x00, 0xE0, | ||
143 | 0xE0, 0xE0, 0xE0, 0x00, 0xE0, 0xE0, | ||
144 | 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, | ||
145 | 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, | ||
146 | 0xE0, 0xE0, 0xE0, 0x00, 0xC0, 0xE0, | ||
147 | 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, | ||
148 | 0xE0, 0xE0, 0xE0, 0x00, 0x80, 0xE0, | ||
149 | 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, | ||
150 | 0xE0, 0xE0, 0xE0, 0xE0, 0x00, 0xFC, | ||
151 | 0xFC, 0xFC, 0xFC, 0xE0, 0xE0, 0x80, | ||
152 | 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, | ||
153 | 0xE0, 0xE0, 0xE0, 0xE0, 0xC0, 0x00, | ||
154 | 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, | ||
155 | 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0x80, | ||
156 | 0x00, 0xC0, 0xE0, 0xE0, 0xE0, 0xE0, | ||
157 | 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 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 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
166 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
167 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
168 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
169 | 0x80, 0xFE, 0xFF, 0xFF, 0x7F, 0x0F, | ||
170 | 0x0E, 0x0E, 0xCE, 0xFF, 0xFF, 0xFF, | ||
171 | 0x7F, 0x80, 0xFE, 0xFF, 0xFF, 0x3F, | ||
172 | 0x01, 0x01, 0x01, 0x81, 0xFF, 0xFF, | ||
173 | 0xFF, 0x3F, 0xE0, 0xFF, 0xFF, 0xFF, | ||
174 | 0x8F, 0x80, 0x80, 0x80, 0xF8, 0xFF, | ||
175 | 0xFF, 0x7F, 0xC1, 0xFE, 0xFF, 0xFF, | ||
176 | 0x1F, 0x01, 0x01, 0xE1, 0xFF, 0xFF, | ||
177 | 0xFF, 0x0F, 0x01, 0x01, 0xF1, 0xFF, | ||
178 | 0xFF, 0xFF, 0x07, 0xFC, 0xFF, 0xFF, | ||
179 | 0xFF, 0x9D, 0x9D, 0x9D, 0x9D, 0x9F, | ||
180 | 0x9F, 0x9F, 0x1F, 0x80, 0x9F, 0x9F, | ||
181 | 0x9F, 0x9F, 0x9D, 0x9D, 0xDD, 0xFD, | ||
182 | 0xFD, 0xFD, 0x39, 0xC0, 0xFF, 0xFF, | ||
183 | 0xFF, 0x9F, 0x81, 0x01, 0xF1, 0xFF, | ||
184 | 0xFF, 0xFF, 0x87, 0x81, 0x81, 0x81, | ||
185 | 0xF9, 0xFF, 0xFF, 0xFF, 0x03, 0xFC, | ||
186 | 0xFF, 0xFF, 0x3F, 0x01, 0x01, 0x01, | ||
187 | 0x01, 0xFF, 0xFF, 0xFF, 0x7F, 0xC0, | ||
188 | 0xFF, 0xFF, 0xFF, 0x9F, 0x9D, 0x9D, | ||
189 | 0x9D, 0x9D, 0x9F, 0x9F, 0x1F, 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 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
198 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
199 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
200 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
201 | 0x07, 0x07, 0x07, 0x07, 0x00, 0x00, | ||
202 | 0x00, 0x00, 0x07, 0x07, 0x07, 0x07, | ||
203 | 0x00, 0x07, 0x07, 0x07, 0x07, 0x00, | ||
204 | 0x00, 0x00, 0x00, 0x07, 0x07, 0x07, | ||
205 | 0x07, 0x60, 0x73, 0x77, 0x77, 0x77, | ||
206 | 0x77, 0x77, 0x77, 0x7F, 0x7F, 0x7F, | ||
207 | 0x1F, 0x00, 0x07, 0x07, 0x07, 0x07, | ||
208 | 0x00, 0x00, 0x00, 0x07, 0x07, 0x07, | ||
209 | 0x03, 0x00, 0x00, 0x00, 0x07, 0x07, | ||
210 | 0x07, 0x01, 0x00, 0x07, 0x07, 0x07, | ||
211 | 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, | ||
212 | 0x07, 0x00, 0x00, 0x07, 0x07, 0x07, | ||
213 | 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, | ||
214 | 0x07, 0x03, 0x00, 0x03, 0x07, 0x07, | ||
215 | 0x07, 0x07, 0x07, 0x00, 0x03, 0x07, | ||
216 | 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, | ||
217 | 0x07, 0x07, 0x03, 0x00, 0x07, 0x07, | ||
218 | 0x07, 0x07, 0x00, 0x00, 0x00, 0x00, | ||
219 | 0x07, 0x07, 0x07, 0x07, 0x00, 0x03, | ||
220 | 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, | ||
221 | 0x07, 0x07, 0x07, 0x07, 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 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
230 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
231 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
232 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
233 | }; | ||
diff --git a/keyboards/marksard/rhymestone/common/oled_helper.c b/keyboards/marksard/rhymestone/common/oled_helper.c new file mode 100644 index 000000000..537650025 --- /dev/null +++ b/keyboards/marksard/rhymestone/common/oled_helper.c | |||
@@ -0,0 +1,87 @@ | |||
1 | #ifdef OLED_DRIVER_ENABLE | ||
2 | #include QMK_KEYBOARD_H | ||
3 | #include <stdio.h> | ||
4 | #include <string.h> | ||
5 | |||
6 | void render_logo(void) { | ||
7 | |||
8 | static const char PROGMEM logo_buf[]={ | ||
9 | 0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,0x90,0x91,0x92,0x93,0x94, | ||
10 | 0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf,0xb0,0xb1,0xb2,0xb3,0xb4, | ||
11 | 0xc0,0xc1,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7,0xc8,0xc9,0xca,0xcb,0xcc,0xcd,0xce,0xcf,0xd0,0xd1,0xd2,0xd3,0xd4, | ||
12 | 0}; | ||
13 | |||
14 | oled_write_P(logo_buf, false); | ||
15 | } | ||
16 | |||
17 | void render_lock_status(void) { | ||
18 | |||
19 | // Host Keyboard LED Status | ||
20 | led_t led_state = host_keyboard_led_state(); | ||
21 | |||
22 | oled_write_P(PSTR("Lock:"), false); | ||
23 | if (led_state.num_lock) { | ||
24 | oled_write_P(PSTR("Num "), false); | ||
25 | } | ||
26 | if (led_state.caps_lock) { | ||
27 | oled_write_P(PSTR("Caps "), false); | ||
28 | } | ||
29 | if (led_state.scroll_lock) { | ||
30 | oled_write_P(PSTR("Scrl"), false); | ||
31 | } | ||
32 | |||
33 | oled_write_P(PSTR("\n"), false); | ||
34 | } | ||
35 | |||
36 | static char keylog_buf[24] = "Key state ready.\n"; | ||
37 | const char code_to_name[60] = { | ||
38 | ' ', ' ', ' ', ' ', 'a', 'b', 'c', 'd', 'e', 'f', | ||
39 | 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', | ||
40 | 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', | ||
41 | '1', '2', '3', '4', '5', '6', '7', '8', '9', '0', | ||
42 | 'R', 'E', 'B', 'T', ' ', '-', ' ', '@', ' ', ' ', | ||
43 | ' ', ';', ':', ' ', ',', '.', '/', ' ', ' ', ' '}; | ||
44 | |||
45 | void update_key_status(uint16_t keycode, keyrecord_t *record) { | ||
46 | |||
47 | if (!record->event.pressed) return; | ||
48 | |||
49 | char name = (keycode < 60) ? code_to_name[keycode] : ' '; | ||
50 | snprintf(keylog_buf, sizeof(keylog_buf) - 1, "Key:%dx%d %2x %c\n", | ||
51 | record->event.key.row, record->event.key.col, | ||
52 | (uint16_t)keycode, name); | ||
53 | } | ||
54 | |||
55 | void render_key_status(void) { | ||
56 | |||
57 | oled_write(keylog_buf, false); | ||
58 | } | ||
59 | |||
60 | #ifdef RGBLIGHT_ENABLE | ||
61 | extern rgblight_config_t rgblight_config; | ||
62 | |||
63 | static char led_buf[24] = "LED state ready.\n"; | ||
64 | rgblight_config_t rgblight_config_bak; | ||
65 | void update_led_status(void) { | ||
66 | |||
67 | if (rgblight_config_bak.enable != rgblight_config.enable || | ||
68 | rgblight_config_bak.mode != rgblight_config.mode || | ||
69 | rgblight_config_bak.hue != rgblight_config.hue || | ||
70 | rgblight_config_bak.sat != rgblight_config.sat || | ||
71 | rgblight_config_bak.val != rgblight_config.val | ||
72 | ) { | ||
73 | snprintf(led_buf, sizeof(led_buf) - 1, "LED%c:%2d hsv:%2d %2d %2d\n", | ||
74 | rgblight_config.enable ? '*' : '.', (uint8_t)rgblight_config.mode, | ||
75 | (uint8_t)(rgblight_config.hue / RGBLIGHT_HUE_STEP), | ||
76 | (uint8_t)(rgblight_config.sat / RGBLIGHT_SAT_STEP), | ||
77 | (uint8_t)(rgblight_config.val / RGBLIGHT_VAL_STEP)); | ||
78 | rgblight_config_bak = rgblight_config; | ||
79 | } | ||
80 | } | ||
81 | |||
82 | void render_led_status(void) { | ||
83 | |||
84 | oled_write(led_buf, false); | ||
85 | } | ||
86 | #endif | ||
87 | #endif | ||
diff --git a/keyboards/marksard/rhymestone/common/oled_helper.h b/keyboards/marksard/rhymestone/common/oled_helper.h new file mode 100644 index 000000000..02f7b94fa --- /dev/null +++ b/keyboards/marksard/rhymestone/common/oled_helper.h | |||
@@ -0,0 +1,32 @@ | |||
1 | #ifdef OLED_DRIVER_ENABLE | ||
2 | |||
3 | void render_logo(void); | ||
4 | void render_lock_status(void); | ||
5 | void update_key_status(uint16_t keycode, keyrecord_t *record); | ||
6 | void render_key_status(void); | ||
7 | |||
8 | #define RENDER_LOGO() render_logo() | ||
9 | #define RENDER_LOCK_STATUS() render_lock_status() | ||
10 | #define UPDATE_KEY_STATUS(a, b) update_key_status(a, b) | ||
11 | #define RENDER_KEY_STATUS() render_key_status() | ||
12 | |||
13 | #ifdef RGBLIGHT_ENABLE | ||
14 | void update_led_status(void); | ||
15 | void render_led_status(void); | ||
16 | #define UPDATE_LED_STATUS() update_led_status() | ||
17 | #define RENDER_LED_STATUS() render_led_status() | ||
18 | #else | ||
19 | #define UPDATE_LED_STATUS() | ||
20 | #define RENDER_LED_STATUS() | ||
21 | #endif | ||
22 | |||
23 | #else | ||
24 | |||
25 | #define RENDER_LOGO() | ||
26 | #define RENDER_LOCK_STATUS() | ||
27 | #define UPDATE_KEY_STATUS(a, b) | ||
28 | #define RENDER_KEY_STATUS() | ||
29 | #define UPDATE_LED_STATUS() | ||
30 | #define RENDER_LED_STATUS() | ||
31 | |||
32 | #endif | ||
diff --git a/keyboards/marksard/rhymestone/info.json b/keyboards/marksard/rhymestone/info.json new file mode 100644 index 000000000..2c1ba9b37 --- /dev/null +++ b/keyboards/marksard/rhymestone/info.json | |||
@@ -0,0 +1,213 @@ | |||
1 | { | ||
2 | "keyboard_name": "Rhymestone", | ||
3 | "url": "https://github.com/marksard/Keyboards", | ||
4 | "maintainer": "marksard", | ||
5 | "width": 11, | ||
6 | "height": 4, | ||
7 | "layouts": { | ||
8 | "LAYOUT_ortho_4x10": { | ||
9 | "layout": [ | ||
10 | { | ||
11 | "label": "Q", | ||
12 | "x": 0, | ||
13 | "y": 0 | ||
14 | }, | ||
15 | { | ||
16 | "label": "W", | ||
17 | "x": 1, | ||
18 | "y": 0 | ||
19 | }, | ||
20 | { | ||
21 | "label": "E", | ||
22 | "x": 2, | ||
23 | "y": 0 | ||
24 | }, | ||
25 | { | ||
26 | "label": "R", | ||
27 | "x": 3, | ||
28 | "y": 0 | ||
29 | }, | ||
30 | { | ||
31 | "label": "T", | ||
32 | "x": 4, | ||
33 | "y": 0 | ||
34 | }, | ||
35 | { | ||
36 | "label": "Y", | ||
37 | "x": 6, | ||
38 | "y": 0 | ||
39 | }, | ||
40 | { | ||
41 | "label": "U", | ||
42 | "x": 7, | ||
43 | "y": 0 | ||
44 | }, | ||
45 | { | ||
46 | "label": "I", | ||
47 | "x": 8, | ||
48 | "y": 0 | ||
49 | }, | ||
50 | { | ||
51 | "label": "O", | ||
52 | "x": 9, | ||
53 | "y": 0 | ||
54 | }, | ||
55 | { | ||
56 | "label": "P", | ||
57 | "x": 10, | ||
58 | "y": 0 | ||
59 | }, | ||
60 | { | ||
61 | "label": "A", | ||
62 | "x": 0, | ||
63 | "y": 1 | ||
64 | }, | ||
65 | { | ||
66 | "label": "S", | ||
67 | "x": 1, | ||
68 | "y": 1 | ||
69 | }, | ||
70 | { | ||
71 | "label": "D", | ||
72 | "x": 2, | ||
73 | "y": 1 | ||
74 | }, | ||
75 | { | ||
76 | "label": "F", | ||
77 | "x": 3, | ||
78 | "y": 1 | ||
79 | }, | ||
80 | { | ||
81 | "label": "G", | ||
82 | "x": 4, | ||
83 | "y": 1 | ||
84 | }, | ||
85 | { | ||
86 | "label": "H", | ||
87 | "x": 6, | ||
88 | "y": 1 | ||
89 | }, | ||
90 | { | ||
91 | "label": "J", | ||
92 | "x": 7, | ||
93 | "y": 1 | ||
94 | }, | ||
95 | { | ||
96 | "label": "K", | ||
97 | "x": 8, | ||
98 | "y": 1 | ||
99 | }, | ||
100 | { | ||
101 | "label": "L", | ||
102 | "x": 9, | ||
103 | "y": 1 | ||
104 | }, | ||
105 | { | ||
106 | "label": "Enter", | ||
107 | "x": 10, | ||
108 | "y": 1 | ||
109 | }, | ||
110 | { | ||
111 | "label": "Z", | ||
112 | "x": 0, | ||
113 | "y": 2 | ||
114 | }, | ||
115 | { | ||
116 | "label": "X", | ||
117 | "x": 1, | ||
118 | "y": 2 | ||
119 | }, | ||
120 | { | ||
121 | "label": "C", | ||
122 | "x": 2, | ||
123 | "y": 2 | ||
124 | }, | ||
125 | { | ||
126 | "label": "V", | ||
127 | "x": 3, | ||
128 | "y": 2 | ||
129 | }, | ||
130 | { | ||
131 | "label": "B", | ||
132 | "x": 4, | ||
133 | "y": 2 | ||
134 | }, | ||
135 | { | ||
136 | "label": "N", | ||
137 | "x": 6, | ||
138 | "y": 2 | ||
139 | }, | ||
140 | { | ||
141 | "label": "M", | ||
142 | "x": 7, | ||
143 | "y": 2 | ||
144 | }, | ||
145 | { | ||
146 | "label": ",", | ||
147 | "x": 8, | ||
148 | "y": 2 | ||
149 | }, | ||
150 | { | ||
151 | "label": ".", | ||
152 | "x": 9, | ||
153 | "y": 2 | ||
154 | }, | ||
155 | { | ||
156 | "label": "/", | ||
157 | "x": 10, | ||
158 | "y": 2 | ||
159 | }, | ||
160 | { | ||
161 | "label": "Ctrl", | ||
162 | "x": 0, | ||
163 | "y": 3 | ||
164 | }, | ||
165 | { | ||
166 | "label": "Win", | ||
167 | "x": 1, | ||
168 | "y": 3 | ||
169 | }, | ||
170 | { | ||
171 | "label": "Alt", | ||
172 | "x": 2, | ||
173 | "y": 3 | ||
174 | }, | ||
175 | { | ||
176 | "label": "Lower", | ||
177 | "x": 3, | ||
178 | "y": 3 | ||
179 | }, | ||
180 | { | ||
181 | "label": "backspace", | ||
182 | "x": 4, | ||
183 | "y": 3 | ||
184 | }, | ||
185 | { | ||
186 | "label": "space", | ||
187 | "x": 6, | ||
188 | "y": 3 | ||
189 | }, | ||
190 | { | ||
191 | "label": "Upper", | ||
192 | "x": 7, | ||
193 | "y": 3 | ||
194 | }, | ||
195 | { | ||
196 | "label": "Alt", | ||
197 | "x": 8, | ||
198 | "y": 3 | ||
199 | }, | ||
200 | { | ||
201 | "label": "App", | ||
202 | "x": 9, | ||
203 | "y": 3 | ||
204 | }, | ||
205 | { | ||
206 | "label": "Ctrl", | ||
207 | "x": 10, | ||
208 | "y": 3 | ||
209 | } | ||
210 | ] | ||
211 | } | ||
212 | } | ||
213 | } | ||
diff --git a/keyboards/marksard/rhymestone/keymaps/default/config.h b/keyboards/marksard/rhymestone/keymaps/default/config.h new file mode 100644 index 000000000..95f2d039b --- /dev/null +++ b/keyboards/marksard/rhymestone/keymaps/default/config.h | |||
@@ -0,0 +1,27 @@ | |||
1 | /* Copyright 2020 marksard | ||
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 | // place overrides here | ||
20 | |||
21 | // If you use the HashTwenty(alpha), please enable USE_HASHTWENTY | ||
22 | // #define USE_HASHTWENTY | ||
23 | |||
24 | // If you plug in the USB on the right side, please enable MASTER_RIGHT | ||
25 | // #define MASTER_RIGHT | ||
26 | |||
27 | #define OLED_FONT_H "keyboards/rhymestone/common/glcdfont.c" | ||
diff --git a/keyboards/marksard/rhymestone/keymaps/default/keymap.c b/keyboards/marksard/rhymestone/keymaps/default/keymap.c new file mode 100644 index 000000000..2d695f76b --- /dev/null +++ b/keyboards/marksard/rhymestone/keymaps/default/keymap.c | |||
@@ -0,0 +1,226 @@ | |||
1 | /* Copyright 2020 marksard | ||
2 | * | ||
3 | * This program is free software: you can redistribute it and/or modify | ||
4 | * it under the terms of the GNU General Public License as published by | ||
5 | * the Free Software Foundation, either version 2 of the License, or | ||
6 | * (at your option) any later version. | ||
7 | * | ||
8 | * This program is distributed in the hope that it will be useful, | ||
9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
11 | * GNU General Public License for more details. | ||
12 | * | ||
13 | * You should have received a copy of the GNU General Public License | ||
14 | * along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
15 | */ | ||
16 | #include QMK_KEYBOARD_H | ||
17 | #include "./common/oled_helper.h" | ||
18 | |||
19 | enum layer_number { | ||
20 | _BASE, | ||
21 | _LOWER, | ||
22 | _RAISE, | ||
23 | _ADJUST, | ||
24 | }; | ||
25 | |||
26 | enum custom_keycodes { | ||
27 | LOWER = SAFE_RANGE, | ||
28 | RAISE, | ||
29 | ADJUST, | ||
30 | KANJI, | ||
31 | RGBRST | ||
32 | }; | ||
33 | |||
34 | // Base layer mod tap | ||
35 | #define KC_Z_SF LSFT_T(KC_Z) | ||
36 | #define KC_SLSF RSFT_T(KC_SLSH) | ||
37 | |||
38 | // Lower layer mod tap | ||
39 | #define KC_11SF LSFT_T(KC_F11) | ||
40 | #define KC_GRSF RSFT_T(KC_GRV) | ||
41 | |||
42 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
43 | [_BASE] = LAYOUT_ortho_4x10( | ||
44 | //,---------------------------------------------------------------------------------------------------. | ||
45 | KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, | ||
46 | //|---------+---------+---------+---------+---------+---------+---------+---------+---------+---------| | ||
47 | KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_ENT, | ||
48 | //|---------+---------+---------+---------+---------+---------+---------+---------+---------+---------| | ||
49 | KC_Z_SF, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSF, | ||
50 | //`---------+---------+---------+---------+---------+---------+---------+---------+---------+---------' | ||
51 | KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_BSPC, KC_SPC, RAISE, KC_RGUI, KC_APP, KC_RCTL | ||
52 | //,---------------------------------------------------------------------------------------------------. | ||
53 | ), | ||
54 | |||
55 | [_LOWER] = LAYOUT_ortho_4x10( | ||
56 | //,---------------------------------------------------------------------------------------------------. | ||
57 | KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, | ||
58 | //|---------+---------+---------+---------+---------+---------+---------+---------+---------+---------| | ||
59 | KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, XXXXXXX, XXXXXXX, XXXXXXX, KC_SCLN, KC_QUOT, | ||
60 | //|---------+---------+---------+---------+---------+---------+---------+---------+---------+---------| | ||
61 | KC_11SF, KC_F12, KC_ESC, KC_TAB, KANJI, KC_DEL, XXXXXXX, XXXXXXX, KC_RO, KC_GRSF, | ||
62 | //`---------+---------+---------+---------+---------+---------+---------+---------+---------+---------' | ||
63 | _______, _______, _______, _______, KC_DEL, _______, _______, _______, _______, _______ | ||
64 | //,---------------------------------------------------------------------------------------------------. | ||
65 | ), | ||
66 | |||
67 | [_RAISE] = LAYOUT_ortho_4x10( | ||
68 | //,---------------------------------------------------------------------------------------------------. | ||
69 | KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, | ||
70 | //|---------+---------+---------+---------+---------+---------+---------+---------+---------+---------| | ||
71 | KC_LSFT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_RSFT, | ||
72 | //|---------+---------+---------+---------+---------+---------+---------+---------+---------+---------| | ||
73 | XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MINS, KC_RO, KC_COMM, KC_DOT, KC_SLSF, | ||
74 | //`---------+---------+---------+---------+---------+---------+---------+---------+---------+---------' | ||
75 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ | ||
76 | //,---------------------------------------------------------------------------------------------------. | ||
77 | ), | ||
78 | |||
79 | [_ADJUST] = LAYOUT_ortho_4x10( | ||
80 | //,---------------------------------------------------------------------------------------------------. | ||
81 | RESET, RGBRST, AG_NORM, AG_SWAP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_INS, KC_PSCR, | ||
82 | //|---------+---------+---------+---------+---------+---------+---------+---------+---------+---------| | ||
83 | RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, XXXXXXX, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, KC_NLCK, | ||
84 | //|---------+---------+---------+---------+---------+---------+---------+---------+---------+---------| | ||
85 | RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, XXXXXXX, KC_BTN1, KC_BTN2, XXXXXXX, XXXXXXX, XXXXXXX, | ||
86 | //`---------+---------+---------+---------+---------+---------+---------+---------+---------+---------' | ||
87 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ | ||
88 | //,---------------------------------------------------------------------------------------------------. | ||
89 | ) | ||
90 | }; | ||
91 | |||
92 | #define L_BASE _BASE | ||
93 | #define L_LOWER (1<<_LOWER) | ||
94 | #define L_RAISE (1<<_RAISE) | ||
95 | #define L_ADJUST (1<<_ADJUST) | ||
96 | #define L_ADJUST_TRI (L_ADJUST|L_RAISE|L_LOWER) | ||
97 | |||
98 | #ifdef OLED_DRIVER_ENABLE | ||
99 | #include <stdio.h> | ||
100 | #include <string.h> | ||
101 | |||
102 | typedef struct { | ||
103 | uint8_t state; | ||
104 | char name[8]; | ||
105 | }LAYER_DISPLAY_NAME; | ||
106 | |||
107 | #define LAYER_DISPLAY_MAX 5 | ||
108 | const LAYER_DISPLAY_NAME layer_display_name[LAYER_DISPLAY_MAX] = { | ||
109 | {L_BASE, "Base"}, | ||
110 | {L_BASE + 1, "Base"}, | ||
111 | {L_LOWER, "Lower"}, | ||
112 | {L_RAISE, "Raise"}, | ||
113 | {L_ADJUST_TRI, "Adjust"} | ||
114 | }; | ||
115 | |||
116 | static inline const char* get_leyer_status(void) { | ||
117 | |||
118 | for (uint8_t i = 0; i < LAYER_DISPLAY_MAX; ++i) { | ||
119 | if (layer_state == 0 && layer_display_name[i].state == default_layer_state) { | ||
120 | |||
121 | return layer_display_name[i].name; | ||
122 | } else if (layer_state != 0 && layer_display_name[i].state == layer_state) { | ||
123 | |||
124 | return layer_display_name[i].name; | ||
125 | } | ||
126 | } | ||
127 | |||
128 | return "?"; | ||
129 | } | ||
130 | |||
131 | static char layer_status_buf[24] = "Layer state ready.\n"; | ||
132 | static inline void update_keymap_status(void) { | ||
133 | |||
134 | snprintf(layer_status_buf, sizeof(layer_status_buf) - 1, "OS:%s Layer:%s\n", | ||
135 | keymap_config.swap_lalt_lgui? "win" : "mac", get_leyer_status()); | ||
136 | } | ||
137 | |||
138 | static inline void render_keymap_status(void) { | ||
139 | |||
140 | oled_write(layer_status_buf, false); | ||
141 | } | ||
142 | |||
143 | #define UPDATE_KEYMAP_STATUS() update_keymap_status() | ||
144 | |||
145 | static inline void render_status(void) { | ||
146 | |||
147 | UPDATE_LED_STATUS(); | ||
148 | RENDER_LED_STATUS(); | ||
149 | render_keymap_status(); | ||
150 | RENDER_LOCK_STATUS(); | ||
151 | RENDER_KEY_STATUS(); | ||
152 | } | ||
153 | |||
154 | oled_rotation_t oled_init_user(oled_rotation_t rotation) { | ||
155 | |||
156 | if (is_keyboard_master()) | ||
157 | return OLED_ROTATION_180; // flips the display 180 degrees if offhand | ||
158 | return rotation; | ||
159 | } | ||
160 | |||
161 | void oled_task_user(void) { | ||
162 | |||
163 | if (is_keyboard_master()) { | ||
164 | render_status(); | ||
165 | } else { | ||
166 | render_logo(); | ||
167 | } | ||
168 | } | ||
169 | |||
170 | #else | ||
171 | |||
172 | #define UPDATE_KEYMAP_STATUS() | ||
173 | |||
174 | #endif | ||
175 | |||
176 | bool process_record_user(uint16_t keycode, keyrecord_t *record) { | ||
177 | |||
178 | UPDATE_KEY_STATUS(keycode, record); | ||
179 | |||
180 | bool result = false; | ||
181 | switch (keycode) { | ||
182 | case LOWER: | ||
183 | if (record->event.pressed) { | ||
184 | layer_on(_LOWER); | ||
185 | } else { | ||
186 | layer_off(_LOWER); | ||
187 | } | ||
188 | |||
189 | update_tri_layer(_LOWER, _RAISE, _ADJUST); | ||
190 | break; | ||
191 | case RAISE: | ||
192 | if (record->event.pressed) { | ||
193 | layer_on(_RAISE); | ||
194 | } else { | ||
195 | layer_off(_RAISE); | ||
196 | } | ||
197 | |||
198 | update_tri_layer(_LOWER, _RAISE, _ADJUST); | ||
199 | break; | ||
200 | case KANJI: | ||
201 | if (record->event.pressed) { | ||
202 | if (keymap_config.swap_lalt_lgui == false) { | ||
203 | register_code(KC_LANG2); | ||
204 | } else { | ||
205 | register_code16(A(KC_GRV)); | ||
206 | } | ||
207 | } else { | ||
208 | unregister_code(KC_LANG2); | ||
209 | } | ||
210 | break; | ||
211 | #ifdef RGBLIGHT_ENABLE | ||
212 | case RGBRST: | ||
213 | if (record->event.pressed) { | ||
214 | eeconfig_update_rgblight_default(); | ||
215 | rgblight_enable(); | ||
216 | } | ||
217 | break; | ||
218 | #endif | ||
219 | default: | ||
220 | result = true; | ||
221 | break; | ||
222 | } | ||
223 | |||
224 | UPDATE_KEYMAP_STATUS(); | ||
225 | return result; | ||
226 | } | ||
diff --git a/keyboards/marksard/rhymestone/keymaps/default/rules.mk b/keyboards/marksard/rhymestone/keymaps/default/rules.mk new file mode 100644 index 000000000..c86cab8cc --- /dev/null +++ b/keyboards/marksard/rhymestone/keymaps/default/rules.mk | |||
@@ -0,0 +1,9 @@ | |||
1 | MOUSEKEY_ENABLE = yes # Mouse keys | ||
2 | TAP_DANCE_ENABLE = no | ||
3 | |||
4 | RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow | ||
5 | OLED_DRIVER_ENABLE = no | ||
6 | LTO_ENABLE = yes | ||
7 | |||
8 | # If you want to change the display of OLED, you need to change here | ||
9 | SRC += ./common/oled_helper.c \ | ||
diff --git a/keyboards/marksard/rhymestone/keymaps/switch_tester/keymap.c b/keyboards/marksard/rhymestone/keymaps/switch_tester/keymap.c new file mode 100644 index 000000000..1d4e78af8 --- /dev/null +++ b/keyboards/marksard/rhymestone/keymaps/switch_tester/keymap.c | |||
@@ -0,0 +1,76 @@ | |||
1 | /* Copyright 2020 marksard | ||
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 | enum layer_number { | ||
19 | _BASE, | ||
20 | _ADJUST, | ||
21 | }; | ||
22 | |||
23 | enum custom_keycodes { | ||
24 | LOWER = SAFE_RANGE, | ||
25 | ADJUST, | ||
26 | RGBRST | ||
27 | }; | ||
28 | |||
29 | // Layer Mode aliases | ||
30 | #define KC_LTAD LT(_ADJUST, KC_NO) | ||
31 | |||
32 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
33 | [_BASE] = LAYOUT_ortho_4x10( | ||
34 | //,---------------------------------------------------------------------------------------------------. | ||
35 | XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, | ||
36 | //|---------+---------+---------+---------+---------+---------+---------+---------+---------+---------| | ||
37 | XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, | ||
38 | //|---------+---------+---------+---------+---------+---------+---------+---------+---------+---------| | ||
39 | XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, | ||
40 | //`---------+---------+---------+---------+---------+---------+---------+---------+---------+---------' | ||
41 | KC_LTAD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX | ||
42 | //,---------------------------------------------------------------------------------------------------. | ||
43 | ), | ||
44 | |||
45 | [_ADJUST] = LAYOUT_ortho_4x10( | ||
46 | //,---------------------------------------------------------------------------------------------------. | ||
47 | RESET, RGBRST, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, | ||
48 | //|---------+---------+---------+---------+---------+---------+---------+---------+---------+---------| | ||
49 | RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, | ||
50 | //|---------+---------+---------+---------+---------+---------+---------+---------+---------+---------| | ||
51 | RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, | ||
52 | //`---------+---------+---------+---------+---------+---------+---------+---------+---------+---------' | ||
53 | _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX | ||
54 | //,---------------------------------------------------------------------------------------------------. | ||
55 | ) | ||
56 | }; | ||
57 | |||
58 | bool process_record_user(uint16_t keycode, keyrecord_t *record) { | ||
59 | |||
60 | bool result = false; | ||
61 | switch (keycode) { | ||
62 | #ifdef RGBLIGHT_ENABLE | ||
63 | case RGBRST: | ||
64 | if (record->event.pressed) { | ||
65 | eeconfig_update_rgblight_default(); | ||
66 | rgblight_enable(); | ||
67 | } | ||
68 | break; | ||
69 | #endif | ||
70 | default: | ||
71 | result = true; | ||
72 | break; | ||
73 | } | ||
74 | |||
75 | return result; | ||
76 | } | ||
diff --git a/keyboards/marksard/rhymestone/keymaps/switch_tester/readme.md b/keyboards/marksard/rhymestone/keymaps/switch_tester/readme.md new file mode 100644 index 000000000..f85906a83 --- /dev/null +++ b/keyboards/marksard/rhymestone/keymaps/switch_tester/readme.md | |||
@@ -0,0 +1,3 @@ | |||
1 | # The switch tester keymap for Rhymestone | ||
2 | |||
3 | This keymap is Switch Tester and RGB_MATRIX Light demo. | ||
diff --git a/keyboards/marksard/rhymestone/keymaps/switch_tester/rules.mk b/keyboards/marksard/rhymestone/keymaps/switch_tester/rules.mk new file mode 100644 index 000000000..78824da30 --- /dev/null +++ b/keyboards/marksard/rhymestone/keymaps/switch_tester/rules.mk | |||
@@ -0,0 +1,7 @@ | |||
1 | MOUSEKEY_ENABLE = no # Mouse keys | ||
2 | TAP_DANCE_ENABLE = no | ||
3 | |||
4 | RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow | ||
5 | OLED_DRIVER_ENABLE = no | ||
6 | LTO_ENABLE = yes | ||
7 | RGB_MATRIX_ENABLE = WS2812 | ||
diff --git a/keyboards/marksard/rhymestone/readme.md b/keyboards/marksard/rhymestone/readme.md new file mode 100644 index 000000000..721e8beb3 --- /dev/null +++ b/keyboards/marksard/rhymestone/readme.md | |||
@@ -0,0 +1,18 @@ | |||
1 | # Rhymestone | ||
2 | |||
3 |  | ||
4 | |||
5 | This is 40 keys split Ortholinear keyboard. | ||
6 | |||
7 | * Keyboard Maintainer: [marksard](https://github.com/marksard) | ||
8 | * Hardware Supported: Rhymestone PCB (with Pro Micro) | ||
9 | * Hardware Availability: [marksard keyboards](https://github.com/marksard/Keyboards/blob/master/rhymestone/) | ||
10 | |||
11 | Make example for this keyboard (after setting up your build environment): | ||
12 | |||
13 | make marksard/rhymestone:default | ||
14 | |||
15 | See 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). | ||
16 | |||
17 | [Build guide](https://github.com/marksard/Keyboards/blob/master/rhymestone/documents/rhymestone_buildguide.md) | ||
18 | [Firmware](https://github.com/marksard/qmk_firmware/tree/my_customize/keyboards/rhymestone) | ||
diff --git a/keyboards/marksard/rhymestone/rev1/config.h b/keyboards/marksard/rhymestone/rev1/config.h new file mode 100644 index 000000000..9a1bf0a1d --- /dev/null +++ b/keyboards/marksard/rhymestone/rev1/config.h | |||
@@ -0,0 +1,152 @@ | |||
1 | /* | ||
2 | Copyright 2020 marksard | ||
3 | |||
4 | This program is free software: you can redistribute it and/or modify | ||
5 | it under the terms of the GNU General Public License as published by | ||
6 | the Free Software Foundation, either version 2 of the License, or | ||
7 | (at your option) any later version. | ||
8 | |||
9 | This program is distributed in the hope that it will be useful, | ||
10 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
12 | GNU General Public License for more details. | ||
13 | |||
14 | You should have received a copy of the GNU General Public License | ||
15 | along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
16 | */ | ||
17 | |||
18 | #pragma once | ||
19 | |||
20 | #include "config_common.h" | ||
21 | |||
22 | /* USB Device descriptor parameter */ | ||
23 | #define VENDOR_ID 0xFEED | ||
24 | #define PRODUCT_ID 0xDFA1 | ||
25 | #define DEVICE_VER 0x0020 | ||
26 | #define MANUFACTURER marksard | ||
27 | #define PRODUCT Rhymestone | ||
28 | |||
29 | /* key matrix size */ | ||
30 | #define MATRIX_ROWS 8 | ||
31 | #define MATRIX_COLS 5 | ||
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 { F4, F5, F6, F7 } | ||
44 | #define MATRIX_COL_PINS { D4, C6, D7, E6, B4 } | ||
45 | #define UNUSED_PINS | ||
46 | |||
47 | /* COL2ROW, ROW2COL*/ | ||
48 | #define DIODE_DIRECTION COL2ROW | ||
49 | |||
50 | /* | ||
51 | * Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN. | ||
52 | */ | ||
53 | #define SOFT_SERIAL_PIN D2 // or D1, D2, D3, E6 | ||
54 | |||
55 | // #define BACKLIGHT_PIN B7 | ||
56 | // #define BACKLIGHT_BREATHING | ||
57 | // #define BACKLIGHT_LEVELS 3 | ||
58 | |||
59 | #define RGB_DI_PIN D3 | ||
60 | |||
61 | #ifdef RGBLIGHT_ENABLE | ||
62 | // #ifdef RGB_DI_PIN | ||
63 | #define RGBLED_NUM 40 | ||
64 | #define RGBLED_SPLIT {20, 20} | ||
65 | #define RGBLIGHT_HUE_STEP 8 | ||
66 | #define RGBLIGHT_SAT_STEP 8 | ||
67 | #define RGBLIGHT_VAL_STEP 8 | ||
68 | #define RGBLIGHT_LIMIT_VAL 150 /* The maximum brightness level */ | ||
69 | #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ | ||
70 | /*== all animations enable ==*/ | ||
71 | // #define RGBLIGHT_ANIMATIONS | ||
72 | /*== or choose animations ==*/ | ||
73 | // #define RGBLIGHT_EFFECT_BREATHING | ||
74 | #define RGBLIGHT_EFFECT_RAINBOW_MOOD | ||
75 | #define RGBLIGHT_EFFECT_RAINBOW_SWIRL | ||
76 | // #define RGBLIGHT_EFFECT_SNAKE | ||
77 | #define RGBLIGHT_EFFECT_KNIGHT | ||
78 | // #define RGBLIGHT_EFFECT_CHRISTMAS | ||
79 | #define RGBLIGHT_EFFECT_STATIC_GRADIENT | ||
80 | // #define RGBLIGHT_EFFECT_RGB_TEST | ||
81 | // #define RGBLIGHT_EFFECT_ALTERNATING | ||
82 | /*== customize breathing effect ==*/ | ||
83 | /*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/ | ||
84 | #define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64 | ||
85 | /*==== use exp() and sin() ====*/ | ||
86 | #define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7 | ||
87 | #define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255 | ||
88 | #endif | ||
89 | |||
90 | #ifdef RGB_MATRIX_ENABLE | ||
91 | #define RGBLED_NUM 40 // Number of LEDs | ||
92 | #define DRIVER_LED_TOTAL RGBLED_NUM | ||
93 | #define RGB_MATRIX_KEYPRESSES // reacts to keypresses | ||
94 | // #define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses) | ||
95 | // #define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects | ||
96 | #define RGB_DISABLE_WHEN_USB_SUSPENDED true // turn off effects when suspended | ||
97 | // #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) | ||
98 | // #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) | ||
99 | #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 // limits maximum brightness of LEDs to 200 out of 255. If not defined maximum brightness is set to 255 | ||
100 | #define RGB_MATRIX_HUE_STEP 8 | ||
101 | #define RGB_MATRIX_SAT_STEP 8 | ||
102 | #define RGB_MATRIX_VAL_STEP 8 | ||
103 | #define RGB_MATRIX_SPD_STEP 10 | ||
104 | |||
105 | // #define DISABLE_RGB_MATRIX_ALPHAS_MODS | ||
106 | // #define DISABLE_RGB_MATRIX_GRADIENT_UP_DOWN | ||
107 | // #define DISABLE_RGB_MATRIX_BREATHING | ||
108 | // #define DISABLE_RGB_MATRIX_BAND_SAT | ||
109 | // #define DISABLE_RGB_MATRIX_BAND_VAL | ||
110 | // #define DISABLE_RGB_MATRIX_BAND_PINWHEEL_SAT | ||
111 | // #define DISABLE_RGB_MATRIX_BAND_PINWHEEL_VAL | ||
112 | // #define DISABLE_RGB_MATRIX_BAND_SPIRAL_SAT | ||
113 | // #define DISABLE_RGB_MATRIX_BAND_SPIRAL_VAL | ||
114 | // #define DISABLE_RGB_MATRIX_CYCLE_ALL | ||
115 | // #define DISABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT | ||
116 | // #define DISABLE_RGB_MATRIX_CYCLE_UP_DOWN | ||
117 | // #define DISABLE_RGB_MATRIX_CYCLE_OUT_IN | ||
118 | // #define DISABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL | ||
119 | // #define DISABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON | ||
120 | // #define DISABLE_RGB_MATRIX_CYCLE_PINWHEEL | ||
121 | // #define DISABLE_RGB_MATRIX_CYCLE_SPIRAL | ||
122 | // #define DISABLE_RGB_MATRIX_DUAL_BEACON | ||
123 | // #define DISABLE_RGB_MATRIX_RAINBOW_BEACON | ||
124 | // #define DISABLE_RGB_MATRIX_RAINBOW_PINWHEELS | ||
125 | // #define DISABLE_RGB_MATRIX_RAINDROPS | ||
126 | // #define DISABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS | ||
127 | |||
128 | #define RGB_MATRIX_FRAMEBUFFER_EFFECTS | ||
129 | // #define DISABLE_RGB_MATRIX_TYPING_HEATMAP | ||
130 | // #define DISABLE_RGB_MATRIX_DIGITAL_RAIN | ||
131 | |||
132 | // #define RGB_MATRIX_KEYPRESSES // reacts to keypresses | ||
133 | |||
134 | // #define DISABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE | ||
135 | // #define DISABLE_RGB_MATRIX_SOLID_REACTIVE | ||
136 | // #define DISABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE | ||
137 | // #define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE | ||
138 | // #define DISABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS | ||
139 | // #define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS | ||
140 | // #define DISABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS | ||
141 | // #define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS | ||
142 | |||
143 | // #define DISABLE_RGB_MATRIX_SPLASH | ||
144 | // #define DISABLE_RGB_MATRIX_MULTISPLASH | ||
145 | // #define DISABLE_RGB_MATRIX_SOLID_SPLASH | ||
146 | // #define DISABLE_RGB_MATRIX_SOLID_MULTISPLASH | ||
147 | |||
148 | #define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_TYPING_HEATMAP | ||
149 | #endif | ||
150 | |||
151 | /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ | ||
152 | #define DEBOUNCE 5 | ||
diff --git a/keyboards/marksard/rhymestone/rev1/rev1.c b/keyboards/marksard/rhymestone/rev1/rev1.c new file mode 100644 index 000000000..a4dadd55c --- /dev/null +++ b/keyboards/marksard/rhymestone/rev1/rev1.c | |||
@@ -0,0 +1,108 @@ | |||
1 | /* Copyright 2020 marksard | ||
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 "rev1.h" | ||
18 | |||
19 | // Optional override functions below. | ||
20 | // You can leave any or all of these undefined. | ||
21 | // These are only required if you want to perform custom actions. | ||
22 | |||
23 | #ifdef RGB_MATRIX_ENABLE | ||
24 | led_config_t g_led_config = { { | ||
25 | { 10, 11, 12, 13, 0 }, | ||
26 | { 9, 18, 19, 14, 1 }, | ||
27 | { 8, 17, 16, 15, 2 }, | ||
28 | { 7, 6, 5, 4, 3 }, | ||
29 | { 30, 31, 32, 33, 20 }, | ||
30 | { 29, 38, 39, 34, 21 }, | ||
31 | { 28, 37, 36, 35, 22 }, | ||
32 | { 27, 26, 25, 24, 23 } | ||
33 | }, { | ||
34 | { 100, 0 }, { 100, 21 }, { 100, 43 }, { 100, 64 }, | ||
35 | { 75, 64 }, { 50, 64 }, { 25, 64 }, { 0, 64 }, | ||
36 | { 0, 43 }, { 0, 21 }, { 0, 0 }, | ||
37 | { 25, 0 }, { 50, 0 }, { 75, 0 }, | ||
38 | { 75, 21 }, { 75, 43 }, | ||
39 | { 50, 43 }, { 25, 43 }, | ||
40 | { 25, 21 }, { 50, 21 }, | ||
41 | { 125, 0 }, { 125, 21 }, { 125, 43 }, { 125, 64 }, | ||
42 | { 150, 64 }, { 175, 64 }, { 200, 64 }, { 225, 64 }, | ||
43 | { 225, 43 }, { 225, 21 }, { 225, 0 }, | ||
44 | { 200, 0 }, { 175, 0 }, { 150, 0 }, | ||
45 | { 150, 21 }, { 150, 43 }, | ||
46 | { 175, 43 }, { 200, 43 }, | ||
47 | { 200, 21 }, { 150, 21 } | ||
48 | }, { | ||
49 | 4, 4, 4, 1, | ||
50 | 1, 1, 1, 1, | ||
51 | 4, 4, 4, 4, | ||
52 | 4, 4, 4, 4, | ||
53 | 4, 4, 4, 4, | ||
54 | 4, 4, 4, 1, | ||
55 | 1, 1, 1, 1, | ||
56 | 4, 4, 4, 4, | ||
57 | 4, 4, 4, 4, | ||
58 | 4, 4, 4, 4 | ||
59 | } }; | ||
60 | #endif | ||
61 | |||
62 | __attribute__((weak)) | ||
63 | void matrix_init_user(void) {} | ||
64 | |||
65 | void matrix_init_kb(void) { | ||
66 | |||
67 | #ifdef RGB_MATRIX_ENABLE | ||
68 | // if (!is_keyboard_master()) { | ||
69 | // g_led_config = (led_config_t){ { | ||
70 | // { 30, 31, 32, 33, 20 }, | ||
71 | // { 29, 38, 39, 34, 21 }, | ||
72 | // { 28, 37, 36, 35, 22 }, | ||
73 | // { 27, 26, 25, 24, 23 }, | ||
74 | // { 10, 11, 12, 13, 0 }, | ||
75 | // { 9, 18, 19, 14, 1 }, | ||
76 | // { 8, 17, 16, 15, 2 }, | ||
77 | // { 7, 6, 5, 4, 3 } | ||
78 | // }, { | ||
79 | // { 125, 0 }, { 125, 21 }, { 125, 43 }, { 125, 64 }, | ||
80 | // { 150, 64 }, { 175, 64 }, { 200, 64 }, { 225, 64 }, | ||
81 | // { 225, 43 }, { 225, 21 }, { 225, 0 }, | ||
82 | // { 200, 0 }, { 175, 0 }, { 150, 0 }, | ||
83 | // { 150, 21 }, { 150, 43 }, | ||
84 | // { 175, 43 }, { 200, 43 }, | ||
85 | // { 200, 21 }, { 150, 21 }, | ||
86 | // { 100, 0 }, { 100, 21 }, { 100, 43 }, { 100, 64 }, | ||
87 | // { 75, 64 }, { 50, 64 }, { 25, 64 }, { 0, 64 }, | ||
88 | // { 0, 43 }, { 0, 21 }, { 0, 0 }, | ||
89 | // { 25, 0 }, { 50, 0 }, { 75, 0 }, | ||
90 | // { 75, 21 }, { 75, 43 }, | ||
91 | // { 50, 43 }, { 25, 43 }, | ||
92 | // { 25, 21 }, { 50, 21 } | ||
93 | // }, { | ||
94 | // 4, 4, 4, 1, | ||
95 | // 1, 1, 1, 1, | ||
96 | // 4, 4, 4, 4, | ||
97 | // 4, 4, 4, 4, | ||
98 | // 4, 4, 4, 4, | ||
99 | // 4, 4, 4, 1, | ||
100 | // 1, 1, 1, 1, | ||
101 | // 4, 4, 4, 4, | ||
102 | // 4, 4, 4, 4, | ||
103 | // 4, 4, 4, 4 | ||
104 | // } }; | ||
105 | // } | ||
106 | #endif | ||
107 | matrix_init_user(); | ||
108 | } | ||
diff --git a/keyboards/marksard/rhymestone/rev1/rev1.h b/keyboards/marksard/rhymestone/rev1/rev1.h new file mode 100644 index 000000000..855e288df --- /dev/null +++ b/keyboards/marksard/rhymestone/rev1/rev1.h | |||
@@ -0,0 +1,89 @@ | |||
1 | /* Copyright 2020 marksard | ||
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 | #include "quantum.h" | ||
20 | |||
21 | /* This is 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 | #ifndef FLIP_HALF | ||
31 | // Standard Keymap | ||
32 | // (TRRS jack on the left half is to the right, TRRS jack on the right half is to the left) | ||
33 | #define LAYOUT_ortho_4x10( \ | ||
34 | L00, L01, L02, L03, L04, R00, R01, R02, R03, R04, \ | ||
35 | L10, L11, L12, L13, L14, R10, R11, R12, R13, R14, \ | ||
36 | L20, L21, L22, L23, L24, R20, R21, R22, R23, R24, \ | ||
37 | L30, L31, L32, L33, L34, R30, R31, R32, R33, R34 \ | ||
38 | ) \ | ||
39 | { \ | ||
40 | { L00, L01, L02, L03, L04 }, \ | ||
41 | { L10, L11, L12, L13, L14 }, \ | ||
42 | { L20, L21, L22, L23, L24 }, \ | ||
43 | { L30, L31, L32, L33, L34 }, \ | ||
44 | { R04, R03, R02, R01, R00 }, \ | ||
45 | { R14, R13, R12, R11, R10 }, \ | ||
46 | { R24, R23, R22, R21, R20 }, \ | ||
47 | { R34, R33, R32, R31, R30 }, \ | ||
48 | } | ||
49 | #else | ||
50 | // Keymap with right side flipped | ||
51 | // (TRRS jack on both halves are to the right) | ||
52 | #define LAYOUT_ortho_4x10( \ | ||
53 | L00, L01, L02, L03, L04, R00, R01, R02, R03, R04, \ | ||
54 | L10, L11, L12, L13, L14, R10, R11, R12, R13, R14, \ | ||
55 | L20, L21, L22, L23, L24, R20, R21, R22, R23, R24, \ | ||
56 | L30, L31, L32, L33, L34, R30, R31, R32, R33, R34 \ | ||
57 | ) \ | ||
58 | { \ | ||
59 | { L04, L03, L02, L01, L00 }, \ | ||
60 | { L14, L13, L12, L11, L10 }, \ | ||
61 | { L24, L23, L22, L21, L20 }, \ | ||
62 | { L34, L33, L32, L31, L30 }, \ | ||
63 | { R04, R03, R02, R01, R00 }, \ | ||
64 | { R14, R13, R12, R11, R10 }, \ | ||
65 | { R24, R23, R22, R21, R20 }, \ | ||
66 | { R34, R33, R32, R31, R30 }, \ | ||
67 | } | ||
68 | #endif | ||
69 | |||
70 | #ifdef USE_HASHTWENTY // The HashTwenty is Alpha version of The Rhymestone | ||
71 | #undef LAYOUT_ortho_4x10 | ||
72 | // HashTwenty layout | ||
73 | #define LAYOUT_ortho_4x10( \ | ||
74 | L00, L01, L02, L03, L04, R00, R01, R02, R03, R04, \ | ||
75 | L10, L11, L12, L13, L14, R10, R11, R12, R13, R14, \ | ||
76 | L20, L21, L22, L23, L24, R20, R21, R22, R23, R24, \ | ||
77 | L30, L31, L32, L33, L34, R30, R31, R32, R33, R34 \ | ||
78 | ) \ | ||
79 | { \ | ||
80 | { L04, L03, L02, L01, L00 }, \ | ||
81 | { L14, L13, L12, L11, L10 }, \ | ||
82 | { L24, L23, L22, L21, L20 }, \ | ||
83 | { L34, L33, L32, L31, L30 }, \ | ||
84 | { R00, R01, R02, R03, R04 }, \ | ||
85 | { R10, R11, R12, R13, R14 }, \ | ||
86 | { R20, R21, R22, R23, R24 }, \ | ||
87 | { R30, R31, R32, R33, R34 }, \ | ||
88 | } | ||
89 | #endif | ||
diff --git a/keyboards/marksard/rhymestone/rev1/rules.mk b/keyboards/marksard/rhymestone/rev1/rules.mk new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/keyboards/marksard/rhymestone/rev1/rules.mk | |||
diff --git a/keyboards/marksard/rhymestone/rules.mk b/keyboards/marksard/rhymestone/rules.mk new file mode 100644 index 000000000..1f58665ef --- /dev/null +++ b/keyboards/marksard/rhymestone/rules.mk | |||
@@ -0,0 +1,27 @@ | |||
1 | # MCU name | ||
2 | MCU = atmega32u4 | ||
3 | |||
4 | # Bootloader selection | ||
5 | BOOTLOADER = caterina | ||
6 | |||
7 | # Build Options | ||
8 | # change yes to no to disable | ||
9 | # | ||
10 | BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration | ||
11 | MOUSEKEY_ENABLE = no # Mouse keys | ||
12 | EXTRAKEY_ENABLE = no # Audio control and System control | ||
13 | CONSOLE_ENABLE = no # Console for debug | ||
14 | COMMAND_ENABLE = no # Commands for debug and configuration | ||
15 | # Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE | ||
16 | SLEEP_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 | ||
18 | NKRO_ENABLE = yes # USB Nkey Rollover | ||
19 | BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality | ||
20 | RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow | ||
21 | BLUETOOTH_ENABLE = no # Enable Bluetooth | ||
22 | AUDIO_ENABLE = no # Audio output | ||
23 | SPLIT_KEYBOARD = yes | ||
24 | |||
25 | DEFAULT_FOLDER = marksard/rhymestone/rev1 | ||
26 | |||
27 | LAYOUTS = ortho_4x10 | ||