aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xkeyboards/amj40/amj40.c16
-rwxr-xr-xkeyboards/amj40/amj40.h109
-rwxr-xr-xkeyboards/amj40/config.h5
-rw-r--r--keyboards/amj40/info.json213
-rwxr-xr-xkeyboards/amj40/keymaps/default/build.sh42
-rwxr-xr-xkeyboards/amj40/keymaps/default/keymap.c242
-rw-r--r--keyboards/amj40/keymaps/default/rules.mk20
-rwxr-xr-xkeyboards/amj40/keymaps/default/updatemerge.sh4
-rw-r--r--keyboards/amj40/keymaps/default_625u_space/keymap.c41
-rw-r--r--keyboards/amj40/keymaps/default_ortho_275u_space/keymap.c40
-rw-r--r--keyboards/amj40/keymaps/default_ortho_600u_space/keymap.c38
-rwxr-xr-xkeyboards/amj40/readme.md21
-rwxr-xr-xkeyboards/amj40/rules.mk34
-rw-r--r--keyboards/dc01/arrow/arrow.c27
-rw-r--r--keyboards/dc01/arrow/arrow.h21
-rw-r--r--keyboards/dc01/arrow/config.h56
-rw-r--r--keyboards/dc01/arrow/info.json2
-rw-r--r--keyboards/dc01/arrow/keymaps/default/keymap.c27
-rw-r--r--keyboards/dc01/arrow/keymaps/via/keymap.c (renamed from keyboards/dc01/right/keymaps/iso/keymap.c)38
-rw-r--r--keyboards/dc01/arrow/keymaps/via/readme.md3
-rwxr-xr-xkeyboards/dc01/arrow/keymaps/via/rules.mk1
-rw-r--r--keyboards/dc01/arrow/matrix.c19
-rw-r--r--keyboards/dc01/arrow/rules.mk2
-rw-r--r--keyboards/dc01/left/config.h6
-rw-r--r--keyboards/dc01/left/info.json7
-rw-r--r--keyboards/dc01/left/keymaps/default/keymap.c23
-rw-r--r--keyboards/dc01/left/keymaps/via/keymap.c46
-rw-r--r--keyboards/dc01/left/keymaps/via/readme.md11
-rwxr-xr-xkeyboards/dc01/left/keymaps/via/rules.mk1
-rw-r--r--keyboards/dc01/left/left.c27
-rw-r--r--keyboards/dc01/left/left.h39
-rw-r--r--keyboards/dc01/left/matrix.c92
-rw-r--r--keyboards/dc01/left/rules.mk2
-rw-r--r--keyboards/dc01/numpad/config.h56
-rw-r--r--keyboards/dc01/numpad/info.json24
-rw-r--r--keyboards/dc01/numpad/keymaps/default/keymap.c44
-rw-r--r--keyboards/dc01/numpad/keymaps/ortho_5x4/keymap.c40
-rw-r--r--keyboards/dc01/numpad/keymaps/via/keymap.c46
-rw-r--r--keyboards/dc01/numpad/keymaps/via/readme.md3
-rwxr-xr-xkeyboards/dc01/numpad/keymaps/via/rules.mk1
-rw-r--r--keyboards/dc01/numpad/matrix.c19
-rw-r--r--keyboards/dc01/numpad/numpad.c27
-rw-r--r--keyboards/dc01/numpad/numpad.h14
-rw-r--r--keyboards/dc01/numpad/rules.mk2
-rw-r--r--keyboards/dc01/right/config.h56
-rw-r--r--keyboards/dc01/right/info.json18
-rw-r--r--keyboards/dc01/right/keymaps/default/keymap.c30
-rw-r--r--keyboards/dc01/right/keymaps/default/readme.md2
-rw-r--r--keyboards/dc01/right/keymaps/hhkb_ansi/keymap.c46
-rw-r--r--keyboards/dc01/right/keymaps/hhkb_ansi/readme.md3
-rw-r--r--keyboards/dc01/right/keymaps/hhkb_iso/keymap.c46
-rw-r--r--keyboards/dc01/right/keymaps/hhkb_iso/readme.md3
-rw-r--r--keyboards/dc01/right/keymaps/iso/readme.md3
-rw-r--r--keyboards/dc01/right/keymaps/via/keymap.c46
-rw-r--r--keyboards/dc01/right/keymaps/via/readme.md11
-rwxr-xr-xkeyboards/dc01/right/keymaps/via/rules.mk1
-rw-r--r--keyboards/dc01/right/matrix.c20
-rw-r--r--keyboards/dc01/right/right.c27
-rw-r--r--keyboards/dc01/right/right.h60
-rw-r--r--keyboards/dc01/right/rules.mk2
60 files changed, 968 insertions, 957 deletions
diff --git a/keyboards/amj40/amj40.c b/keyboards/amj40/amj40.c
index 20742c325..f0f3121c6 100755
--- a/keyboards/amj40/amj40.c
+++ b/keyboards/amj40/amj40.c
@@ -1 +1,17 @@
1/* Copyright 2017 Fabian Topfstedt
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 "amj40.h" 17#include "amj40.h"
diff --git a/keyboards/amj40/amj40.h b/keyboards/amj40/amj40.h
index 613f3740f..14ea38381 100755
--- a/keyboards/amj40/amj40.h
+++ b/keyboards/amj40/amj40.h
@@ -1,26 +1,52 @@
1#ifndef AMJ40_H 1/* Copyright 2017 Fabian Topfstedt
2#define AMJ40_H 2 * Copyright 2021 James Young (@noroadsleft)
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
3 19
4#include "quantum.h" 20#include "quantum.h"
5 21
6// readability
7#define XXX KC_NO 22#define XXX KC_NO
8 23
9/* AMJ40 ver2.0 layout1 配列一 24/* AMJ40 ver2.0 staggered layouts
10 * ,-----------------------------------------------------------. 25 * ,-----------------------------------------------.
11 * | 00 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 0A | 0B | 26 * |00 |01 |02 |03 |04 |05 |06 |07 |08 |09 |0a |0b |
12 * |-----------------------------------------------------------| 27 * |-----------------------------------------------|
13 * | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 1B | 28 * |10 |11 |12 |13 |14 |15 |16 |17 |18 |19 |1b |
14 * |-----------------------------------------------------------| 29 * |-----------------------------------------------|
15 * | 20 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 2A | 2B | 30 * |20 |22 |23 |24 |25 |26 |27 |28 |29 |2a |2b |
16 * |-----------------------------------------------------------| 31 * |-----------------------------------------------|
17 * | 30 | 31 | 32 | 34 | 35 | 39 | 3A | 3B | 32 * |30 |31 |32 | 34 |35 |39 |3a |3b | Layout 1 Bottom Row
18 * `-----------------------------------------------------------' 33 * `-----------------------------------------------'
34 * ,-----------------------------------------------.
35 * |30 |31 |32 | 35 |3a |3b | Layout 2
36 * `-----------------------------------------------'
37 * ,-----------------------------------------------.
38 * |30 |31 |32 | 34 | 35 |39 |3a |3b | Layout 3
39 * `-----------------------------------------------'
40 * ,-----------------------------------------------.
41 * |30 |31 |32 | 35 |3a |3b | Layout 4
42 * `-----------------------------------------------'
19 */ 43 */
44
45// a.k.a. Layout 1 or Layout 3 (matrix is the same for both)
20#define LAYOUT( \ 46#define LAYOUT( \
21 k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, \ 47 k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, \
22 k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1b, \ 48 k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1b, \
23 k20, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, \ 49 k20, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, \
24 k30, k31, k32, k34, k35, k39, k3a, k3b \ 50 k30, k31, k32, k34, k35, k39, k3a, k3b \
25) { \ 51) { \
26 {k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b}, \ 52 {k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b}, \
@@ -29,10 +55,55 @@
29 {k30, k31, k32, XXX, k34, k35, XXX, XXX, XXX, k39, k3a, k3b} \ 55 {k30, k31, k32, XXX, k34, k35, XXX, XXX, XXX, k39, k3a, k3b} \
30} 56}
31 57
58// a.k.a. Layout 2 or Layout 4 (matrix is the same for both)
59#define LAYOUT_625u_space( \
60 k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, \
61 k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1b, \
62 k20, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, \
63 k30, k31, k32, k35, k3a, k3b \
64) { \
65 { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b }, \
66 { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, XXX, k1b }, \
67 { k20, XXX, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b }, \
68 { k30, k31, k32, XXX, XXX, k35, XXX, XXX, XXX, XXX, k3a, k3b } \
69}
32 70
71/* AMJ40 ver2.0 ortholinear layouts
72 * ,-----------------------------------------------.
73 * |00 |01 |02 |03 |04 |05 |06 |07 |08 |09 |0a |0b |
74 * |-----------------------------------------------|
75 * |10 |11 |12 |13 |14 |15 |16 |17 |18 |19 |1a |1b |
76 * |-----------------------------------------------|
77 * |20 |21 |22 |23 |24 |25 |26 |27 |28 |29 |2a |2b |
78 * |-----------------------------------------------|
79 * |30 |31 |32 |33 |34 | 35 |38 |39 |3a |3b | 2.75u Spacebar
80 * `-----------------------------------------------'
81 * ,-----------------------------------------------.
82 * |30 |31 |32 | 35 |39 |3a |3b | 6u Spacebar
83 * `-----------------------------------------------'
84 */
33 85
86// equivalent to LAYOUT_all
87#define LAYOUT_ortho_275u_space( \
88 k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, \
89 k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, \
90 k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, \
91 k30, k31, k32, k33, k34, k35, k38, k39, k3a, k3b \
92) { \
93 { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b }, \
94 { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b }, \
95 { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b }, \
96 { k30, k31, k32, k33, k34, k35, XXX, XXX, k38, k39, k3a, k3b } \
97}
34 98
35void matrix_init_user(void); 99#define LAYOUT_ortho_600u_space( \
36void matrix_scan_user(void); 100 k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, \
37 101 k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, \
38#endif 102 k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, \
103 k30, k31, k32, k35, k39, k3a, k3b \
104) { \
105 { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b }, \
106 { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b }, \
107 { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b }, \
108 { k30, k31, k32, XXX, XXX, k35, XXX, XXX, XXX, k39, k3a, k3b } \
109}
diff --git a/keyboards/amj40/config.h b/keyboards/amj40/config.h
index f445107ee..7fce43833 100755
--- a/keyboards/amj40/config.h
+++ b/keyboards/amj40/config.h
@@ -15,8 +15,7 @@ You should have received a copy of the GNU General Public License
15along with this program. If not, see <http://www.gnu.org/licenses/>. 15along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/ 16*/
17 17
18#ifndef CONFIG_H 18#pragma once
19#define CONFIG_H
20 19
21#include "config_common.h" 20#include "config_common.h"
22 21
@@ -87,5 +86,3 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
87//#define NO_ACTION_ONESHOT 86//#define NO_ACTION_ONESHOT
88//#define NO_ACTION_MACRO 87//#define NO_ACTION_MACRO
89//#define NO_ACTION_FUNCTION 88//#define NO_ACTION_FUNCTION
90
91#endif
diff --git a/keyboards/amj40/info.json b/keyboards/amj40/info.json
index 1b25106e0..780369c1b 100644
--- a/keyboards/amj40/info.json
+++ b/keyboards/amj40/info.json
@@ -1,11 +1,208 @@
1{ 1{
2 "keyboard_name": "AMJ40", 2 "keyboard_name": "AMJ40",
3 "maintainer": "qmk", 3 "url": "",
4 "width": 12, 4 "maintainer": "qmk",
5 "height": 4, 5 "width": 12,
6 "layouts": { 6 "height": 4,
7 "LAYOUT": { 7 "layouts": {
8 "layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":0, "y":1, "w":1.25}, {"x":1.25, "y":1}, {"x":2.25, "y":1}, {"x":3.25, "y":1}, {"x":4.25, "y":1}, {"x":5.25, "y":1}, {"x":6.25, "y":1}, {"x":7.25, "y":1}, {"x":8.25, "y":1}, {"x":9.25, "y":1}, {"x":10.25, "y":1, "w":1.75}, {"x":0, "y":2, "w":1.75}, {"x":1.75, "y":2}, {"x":2.75, "y":2}, {"x":3.75, "y":2}, {"x":4.75, "y":2}, {"x":5.75, "y":2}, {"x":6.75, "y":2}, {"x":7.75, "y":2}, {"x":8.75, "y":2}, {"x":9.75, "y":2, "w":1.25}, {"x":11, "y":2}, {"x":0, "y":3, "w":1.25}, {"x":1.25, "y":3}, {"x":2.25, "y":3, "w":1.25}, {"x":3.5, "y":3, "w":2.25}, {"x":5.75, "y":3, "w":2.75}, {"x":8.5, "y":3, "w":1.25}, {"x":9.75, "y":3}, {"x":10.75, "y":3, "w":1.25}] 8 "LAYOUT": {
9 "layout": [
10 {"x":0, "y":0},
11 {"x":1, "y":0},
12 {"x":2, "y":0},
13 {"x":3, "y":0},
14 {"x":4, "y":0},
15 {"x":5, "y":0},
16 {"x":6, "y":0},
17 {"x":7, "y":0},
18 {"x":8, "y":0},
19 {"x":9, "y":0},
20 {"x":10, "y":0},
21 {"x":11, "y":0},
22
23 {"x":0, "y":1, "w":1.25},
24 {"x":1.25, "y":1},
25 {"x":2.25, "y":1},
26 {"x":3.25, "y":1},
27 {"x":4.25, "y":1},
28 {"x":5.25, "y":1},
29 {"x":6.25, "y":1},
30 {"x":7.25, "y":1},
31 {"x":8.25, "y":1},
32 {"x":9.25, "y":1},
33 {"x":10.25, "y":1, "w":1.75},
34
35 {"x":0, "y":2, "w":1.75},
36 {"x":1.75, "y":2},
37 {"x":2.75, "y":2},
38 {"x":3.75, "y":2},
39 {"x":4.75, "y":2},
40 {"x":5.75, "y":2},
41 {"x":6.75, "y":2},
42 {"x":7.75, "y":2},
43 {"x":8.75, "y":2},
44 {"x":9.75, "y":2, "w":1.25},
45 {"x":11, "y":2},
46
47 {"x":0, "y":3, "w":1.25},
48 {"x":1.25, "y":3},
49 {"x":2.25, "y":3, "w":1.25},
50 {"x":3.5, "y":3, "w":2.25},
51 {"x":5.75, "y":3, "w":2.75},
52 {"x":8.5, "y":3, "w":1.25},
53 {"x":9.75, "y":3},
54 {"x":10.75, "y":3, "w":1.25}
55 ]
56 },
57 "LAYOUT_625u_space": {
58 "layout": [
59 {"x":0, "y":0},
60 {"x":1, "y":0},
61 {"x":2, "y":0},
62 {"x":3, "y":0},
63 {"x":4, "y":0},
64 {"x":5, "y":0},
65 {"x":6, "y":0},
66 {"x":7, "y":0},
67 {"x":8, "y":0},
68 {"x":9, "y":0},
69 {"x":10, "y":0},
70 {"x":11, "y":0},
71
72 {"x":0, "y":1, "w":1.25},
73 {"x":1.25, "y":1},
74 {"x":2.25, "y":1},
75 {"x":3.25, "y":1},
76 {"x":4.25, "y":1},
77 {"x":5.25, "y":1},
78 {"x":6.25, "y":1},
79 {"x":7.25, "y":1},
80 {"x":8.25, "y":1},
81 {"x":9.25, "y":1},
82 {"x":10.25, "y":1, "w":1.75},
83
84 {"x":0, "y":2, "w":1.75},
85 {"x":1.75, "y":2},
86 {"x":2.75, "y":2},
87 {"x":3.75, "y":2},
88 {"x":4.75, "y":2},
89 {"x":5.75, "y":2},
90 {"x":6.75, "y":2},
91 {"x":7.75, "y":2},
92 {"x":8.75, "y":2},
93 {"x":9.75, "y":2, "w":1.25},
94 {"x":11, "y":2},
95
96 {"x":0, "y":3, "w":1.25},
97 {"x":1.25, "y":3},
98 {"x":2.25, "y":3},
99 {"x":3.25, "y":3, "w":6.25},
100 {"x":9.5, "y":3, "w":1.25},
101 {"x":10.75, "y":3, "w":1.25}
102 ]
103 },
104 "LAYOUT_ortho_600u_space": {
105 "layout": [
106 {"label":"K00 (F4,F1)", "x":0, "y":0},
107 {"label":"K01 (F4,F0)", "x":1, "y":0},
108 {"label":"K02 (F4,E6)", "x":2, "y":0},
109 {"label":"K03 (F4,C7)", "x":3, "y":0},
110 {"label":"K04 (F4,C6)", "x":4, "y":0},
111 {"label":"K05 (F4,B0)", "x":5, "y":0},
112 {"label":"K06 (F4,D4)", "x":6, "y":0},
113 {"label":"K07 (F4,B1)", "x":7, "y":0},
114 {"label":"K08 (F4,B7)", "x":8, "y":0},
115 {"label":"K09 (F4,B5)", "x":9, "y":0},
116 {"label":"K0A (F4,B4)", "x":10, "y":0},
117 {"label":"K0B (F4,D7)", "x":11, "y":0},
118
119 {"label":"K10 (F5,F1)", "x":0, "y":1},
120 {"label":"K11 (F5,F0)", "x":1, "y":1},
121 {"label":"K12 (F5,E6)", "x":2, "y":1},
122 {"label":"K13 (F5,C7)", "x":3, "y":1},
123 {"label":"K14 (F5,C6)", "x":4, "y":1},
124 {"label":"K15 (F5,B0)", "x":5, "y":1},
125 {"label":"K16 (F5,D4)", "x":6, "y":1},
126 {"label":"K17 (F5,B1)", "x":7, "y":1},
127 {"label":"K18 (F5,B7)", "x":8, "y":1},
128 {"label":"K19 (F5,B5)", "x":9, "y":1},
129 {"label":"K1A (F5,B4)", "x":10, "y":1},
130 {"label":"K1B (F5,D7)", "x":11, "y":1},
131
132 {"label":"K20 (F6,F1)", "x":0, "y":2},
133 {"label":"K21 (F6,F0)", "x":1, "y":2},
134 {"label":"K22 (F6,E6)", "x":2, "y":2},
135 {"label":"K23 (F6,C7)", "x":3, "y":2},
136 {"label":"K24 (F6,C6)", "x":4, "y":2},
137 {"label":"K25 (F6,B0)", "x":5, "y":2},
138 {"label":"K26 (F6,D4)", "x":6, "y":2},
139 {"label":"K27 (F6,B1)", "x":7, "y":2},
140 {"label":"K28 (F6,B7)", "x":8, "y":2},
141 {"label":"K29 (F6,B5)", "x":9, "y":2},
142 {"label":"K2A (F6,B4)", "x":10, "y":2},
143 {"label":"K2B (F6,D7)", "x":11, "y":2},
144
145 {"label":"K30 (F7,F1)", "x":0, "y":3},
146 {"label":"K31 (F7,F0)", "x":1, "y":3},
147 {"label":"K32 (F7,E6)", "x":2, "y":3},
148 {"label":"K35 (F7,B0)", "x":3, "y":3, "w":6},
149 {"label":"K39 (F7,B5)", "x":9, "y":3},
150 {"label":"K3A (F7,B4)", "x":10, "y":3},
151 {"label":"K3B (F7,D7)", "x":11, "y":3}
152 ]
153 },
154 "LAYOUT_ortho_275u_space": {
155 "layout": [
156 {"label":"K00 (F4,F1)", "x":0, "y":0},
157 {"label":"K01 (F4,F0)", "x":1, "y":0},
158 {"label":"K02 (F4,E6)", "x":2, "y":0},
159 {"label":"K03 (F4,C7)", "x":3, "y":0},
160 {"label":"K04 (F4,C6)", "x":4, "y":0},
161 {"label":"K05 (F4,B0)", "x":5, "y":0},
162 {"label":"K06 (F4,D4)", "x":6, "y":0},
163 {"label":"K07 (F4,B1)", "x":7, "y":0},
164 {"label":"K08 (F4,B7)", "x":8, "y":0},
165 {"label":"K09 (F4,B5)", "x":9, "y":0},
166 {"label":"K0A (F4,B4)", "x":10, "y":0},
167 {"label":"K0B (F4,D7)", "x":11, "y":0},
168
169 {"label":"K10 (F5,F1)", "x":0, "y":1},
170 {"label":"K11 (F5,F0)", "x":1, "y":1},
171 {"label":"K12 (F5,E6)", "x":2, "y":1},
172 {"label":"K13 (F5,C7)", "x":3, "y":1},
173 {"label":"K14 (F5,C6)", "x":4, "y":1},
174 {"label":"K15 (F5,B0)", "x":5, "y":1},
175 {"label":"K16 (F5,D4)", "x":6, "y":1},
176 {"label":"K17 (F5,B1)", "x":7, "y":1},
177 {"label":"K18 (F5,B7)", "x":8, "y":1},
178 {"label":"K19 (F5,B5)", "x":9, "y":1},
179 {"label":"K1A (F5,B4)", "x":10, "y":1},
180 {"label":"K1B (F5,D7)", "x":11, "y":1},
181
182 {"label":"K20 (F6,F1)", "x":0, "y":2},
183 {"label":"K21 (F6,F0)", "x":1, "y":2},
184 {"label":"K22 (F6,E6)", "x":2, "y":2},
185 {"label":"K23 (F6,C7)", "x":3, "y":2},
186 {"label":"K24 (F6,C6)", "x":4, "y":2},
187 {"label":"K25 (F6,B0)", "x":5, "y":2},
188 {"label":"K26 (F6,D4)", "x":6, "y":2},
189 {"label":"K27 (F6,B1)", "x":7, "y":2},
190 {"label":"K28 (F6,B7)", "x":8, "y":2},
191 {"label":"K29 (F6,B5)", "x":9, "y":2},
192 {"label":"K2A (F6,B4)", "x":10, "y":2},
193 {"label":"K2B (F6,D7)", "x":11, "y":2},
194
195 {"label":"K30 (F7,F1)", "x":0, "y":3},
196 {"label":"K31 (F7,F0)", "x":1, "y":3},
197 {"label":"K32 (F7,E6)", "x":2, "y":3},
198 {"label":"K33 (F7,C7)", "x":3, "y":3},
199 {"label":"K34 (F7,C6)", "x":4, "y":3},
200 {"label":"K35 (F7,B0)", "x":5, "y":3, "w":2.75},
201 {"label":"K38 (F7,B7)", "x":7.75, "y":3, "w":1.25},
202 {"label":"K39 (F7,B5)", "x":9, "y":3},
203 {"label":"K3A (F7,B4)", "x":10, "y":3},
204 {"label":"K3B (F7,D7)", "x":11, "y":3}
205 ]
206 }
9 } 207 }
10 }
11} 208}
diff --git a/keyboards/amj40/keymaps/default/build.sh b/keyboards/amj40/keymaps/default/build.sh
deleted file mode 100755
index 6b4b4568f..000000000
--- a/keyboards/amj40/keymaps/default/build.sh
+++ /dev/null
@@ -1,42 +0,0 @@
1#!/bin/bash
2# adjust for cpu
3# -j 16 gave best result on a hyperthreaded quad core core i7
4
5LIMIT=10
6THREADS="-j 16"
7KMAP=iso_split_rshift
8
9echo "We need sudo later"
10sudo ls 2>&1 /dev/null
11
12function wait_bootloader {
13 echo "Waiting for Bootloader..."
14 local STARTTIME=$(date +"%s")
15 local REMIND=0
16 local EXEC=dfu-programmer
17 local TARGET=atmega32u4
18 while true
19 do
20 sudo $EXEC $TARGET get > /dev/null 2>&1
21 [ $? -eq 0 ] && break
22 ENDTIME=$(date +"%s")
23 DURATION=$(($ENDTIME-$STARTTIME))
24 if [ $REMIND -eq 0 -a $DURATION -gt $LIMIT ]
25 then
26 echo "Did you forget to press the reset button?"
27 REMIND=1
28 fi
29 sleep 1
30 done
31}
32make clean
33make KEYMAP=${KMAP} ${THREADS}
34if [[ $? -eq 0 ]]
35then
36 echo "please trigger flashing!"
37 wait_bootloader
38 sudo make KEYMAP=${KMAP} dfu ${THREADS}
39else
40 echo "make failed"
41 exit 77
42fi
diff --git a/keyboards/amj40/keymaps/default/keymap.c b/keyboards/amj40/keymaps/default/keymap.c
index 951857de8..658b4b3c5 100755
--- a/keyboards/amj40/keymaps/default/keymap.c
+++ b/keyboards/amj40/keymaps/default/keymap.c
@@ -1,135 +1,143 @@
1 1/* Copyright 2017 Fabian Topfstedt
2 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 */
3 16
4#include QMK_KEYBOARD_H 17#include QMK_KEYBOARD_H
5 18
6// Each layer gets a name for readability, which is then used in the keymap matrix below. 19enum layer_names {
7// The underscores don't mean anything - you can have a layer called STUFF or any other name. 20 _QWERTY,
8// Layer names don't all need to be of the same length, obviously, and you can also skip them 21 _LOWER,
9// entirely and just use numbers. 22 _RAISE,
10#define _QWERTY 0 23 _ADJUST,
11#define _LOWER 1 24};
12#define _RAISE 2
13#define _ADJUST 3
14
15
16 25
17enum custom_keycodes { 26enum custom_keycodes {
18 QWERTY = SAFE_RANGE, 27 QWERTY = SAFE_RANGE,
19 LOWER, 28 LOWER,
20 RAISE, 29 RAISE,
21 ADJUST, 30 ADJUST,
22}; 31};
23 32
33#define LT1_SPC LT(_LOWER,KC_SPC)
34#define LT2_SPC LT(_RAISE,KC_SPC)
35#define LT3_LGU LT(_ADJUST,KC_LGUI)
36
24const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 37const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
25 /* Default Layer 38 /* Default Layer
26 * ,-----------------------------------------------------------. 39 * ,-----------------------------------------------.
27 * | Esc| Q | W | E | R | T | Y | U | I | O | P | BS | 40 * |Esc| Q | W | E | R | T | Y | U | I | O | P |BS |
28 * |-----------------------------------------------------------| 41 * |-----------------------------------------------|
29 * | Tab | A | S | D | F | G | H | J | K | L | Ent | 42 * |Tab | A | S | D | F | G | H | J | K | L |Enter |
30 * |-----------------------------------------------------------| 43 * |-----------------------------------------------|
31 * | LSft | Z | X | C | V | B | N | M | , | . | /? | 44 * | LSft | Z | X | C | V | B | N | M | , | . |/? |
32 * |-----------------------------------------------------------| 45 * |-----------------------------------------------|
33 * | LCtl | LGui| LAlt| spc fn0 | spc fn1 |fn2|RAlt|RCtl | 46 * |LCtl|GUI|LAlt|Spc/Fn0 | Spc/Fn1 |Fn2 |Alt|RCtl|
34 * `-----------------------------------------------------------' 47 * `-----------------------------------------------'
35 */ 48 */
36 [_QWERTY] = LAYOUT( \ 49 [_QWERTY] = LAYOUT(
37 KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,\ 50 KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
38 KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_ENT,\ 51 KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_ENT,
39 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH,\ 52 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH,
40 KC_LCTL, KC_LGUI, KC_LALT, LT(_LOWER, KC_SPC),LT(_RAISE, KC_SPC),LT(_ADJUST, KC_LGUI), KC_RALT, KC_RCTL \ 53 KC_LCTL, KC_LGUI, KC_LALT, LT1_SPC, LT2_SPC, LT3_LGU, KC_RALT, KC_RCTL
41 ), 54 ),
42 55
43 /* Function Layer 1 HHKB style 56 /* Function Layer 1 HHKB style
44 * ,-----------------------------------------------------------. 57 * ,-----------------------------------------------.
45 * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Bkspc| 58 * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) |BS |
46 * |-----------------------------------------------------------| 59 * |-----------------------------------------------|
47 * | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | [ | ] | Pipe | 60 * | F1 |F2 |F3 |F4 |F5 |F6 | _ | + | { | } | Pipe |
48 * |-----------------------------------------------------------| 61 * |-----------------------------------------------|
49 * | F7 | F8 | F9 | F10 | F11 | F12 | End|PgDn| | | | 62 * | F7 |F8 |F9 |F10|F11|F12| ~ | | |BL±|BL+ |BL-|
50 * |-----------------------------------------------------------| 63 * |-----------------------------------------------|
51 * | | | | | | Stop| App| | 64 * | | | | | Left |Down|Up |Rght|
52 * `-----------------------------------------------------------' 65 * `-----------------------------------------------'
53 */ 66 */
54 [_LOWER] = LAYOUT( \ 67 [_LOWER] = LAYOUT(
55 KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, \ 68 KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,
56 KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, \ 69 KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE,
57 KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,S(KC_NUHS),S(KC_NUBS),BL_TOGG, BL_INC, BL_DEC, \ 70 KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, S(KC_NUHS), S(KC_NUBS), BL_TOGG, BL_INC, BL_DEC,
58 _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT \ 71 _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
59 ), 72 ),
60
61 /* Function Layer 1 HHKB style
62 * ,-----------------------------------------------------------.
63 * |Caps| |MSel| ⏮ | ⏯ | ⏭ |PSCR|SkLk|Paus| ↑ | Ins| Del|
64 * |-----------------------------------------------------------|
65 * | | 🔇 | ⏏ | | * | / |Hone|PgUp| ← | → | |
66 * |-----------------------------------------------------------|
67 * | | 🔉 | 🔊 | | + | - | End|PgDn| ↓ | | |
68 * |-----------------------------------------------------------|
69 * | | | | | | Stop| App| |
70 * `-----------------------------------------------------------'
71 */
72 [_RAISE] = LAYOUT( \
73 KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, \
74 KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, \
75 KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, _______, _______, KC_DEL, \
76 _______, KC_TRNS, _______, KC_TRNS, KC_TRNS, _______, _______, RGB_TOG \
77 ),
78
79 /* Function Layer 1 HHKB style
80 * ,-----------------------------------------------------------.
81 * |Caps| |MSel| ⏮ | ⏯ | ⏭ |PSCR|SkLk|Paus| ↑ | Ins| Del|
82 * |-----------------------------------------------------------|
83 * | | 🔇 | ⏏ | | * | / |Hone|PgUp| ← | → | |
84 * |-----------------------------------------------------------|
85 * | | 🔉 | 🔊 | | + | - | End|PgDn| ↓ | | |
86 * |-----------------------------------------------------------|
87 * | | | | | | Stop| App| |
88 * `-----------------------------------------------------------'
89 */
90 [_ADJUST] = LAYOUT( \
91 _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, \
92 _______, _______, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, _______, _______, _______, _______, \
93 _______, _______, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, \
94 KC_SYSTEM_SLEEP, _______, _______, _______, _______, _______, _______, _______ \
95 ),
96 73
97 74 /* Function Layer 1 HHKB style
75 * ,-----------------------------------------------.
76 * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 |BS |
77 * |-----------------------------------------------|
78 * | F1 |F2 |F3 |F4 |F5 |F6 | - | = | [ | ] | \ |
79 * |-----------------------------------------------|
80 * | F7 |F8 |F9 |F10|F11|F12| # | \ | | |Del|
81 * |-----------------------------------------------|
82 * | | | | | | | |RGB±|
83 * `-----------------------------------------------'
84 */
85 [_RAISE] = LAYOUT(
86 KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
87 KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
88 KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, _______, _______, KC_DEL,
89 _______, _______, _______, _______, _______, _______, _______, RGB_TOG
90 ),
98 91
92 /* Function Layer 1 HHKB style
93 * ,-----------------------------------------------.
94 * | |RST| | | | | | | | | |Del|
95 * |-----------------------------------------------|
96 * | | | |Au1|Au0|AGN|AGS| | | | |
97 * |-----------------------------------------------|
98 * | | | |RTg|RMd|RH+|RH-|RS+|RS-|RV+ |RV-|
99 * |-----------------------------------------------|
100 * |SLP | | | | | | |RTg |
101 * `-----------------------------------------------'
102 */
103 [_ADJUST] = LAYOUT(
104 _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL,
105 _______, _______, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, _______, _______, _______, _______,
106 _______, _______, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD,
107 KC_SLEP, _______, _______, _______, _______, _______, _______, _______
108 ),
99}; 109};
100 110
101bool process_record_user(uint16_t keycode, keyrecord_t *record) { 111bool process_record_user(uint16_t keycode, keyrecord_t *record) {
102 112 switch (keycode) {
103 switch (keycode) { 113 case LOWER:
104 114 if (record->event.pressed) {
105 case LOWER: 115 layer_on(_LOWER);
106 if (record->event.pressed) { 116 update_tri_layer(_LOWER, _RAISE, _ADJUST);
107 layer_on(_LOWER); 117 } else {
108 update_tri_layer(_LOWER, _RAISE, _ADJUST); 118 layer_off(_LOWER);
109 } else { 119 update_tri_layer(_LOWER, _RAISE, _ADJUST);
110 layer_off(_LOWER); 120 }
111 update_tri_layer(_LOWER, _RAISE, _ADJUST); 121 return false;
112 } 122 break;
113 return false; 123 case RAISE:
114 break; 124 if (record->event.pressed) {
115 case RAISE: 125 layer_on(_RAISE);
116 if (record->event.pressed) { 126 update_tri_layer(_LOWER, _RAISE, _ADJUST);
117 layer_on(_RAISE); 127 } else {
118 update_tri_layer(_LOWER, _RAISE, _ADJUST); 128 layer_off(_RAISE);
119 } else { 129 update_tri_layer(_LOWER, _RAISE, _ADJUST);
120 layer_off(_RAISE); 130 }
121 update_tri_layer(_LOWER, _RAISE, _ADJUST); 131 return false;
122 } 132 break;
123 return false; 133 case ADJUST:
124 break; 134 if (record->event.pressed) {
125 case ADJUST: 135 layer_on(_ADJUST);
126 if (record->event.pressed) { 136 } else {
127 layer_on(_ADJUST); 137 layer_off(_ADJUST);
128 } else { 138 }
129 layer_off(_ADJUST); 139 return false;
130 } 140 break;
131 return false; 141 }
132 break; 142 return true;
133 }
134 return true;
135} 143}
diff --git a/keyboards/amj40/keymaps/default/rules.mk b/keyboards/amj40/keymaps/default/rules.mk
deleted file mode 100644
index 957f209b7..000000000
--- a/keyboards/amj40/keymaps/default/rules.mk
+++ /dev/null
@@ -1,20 +0,0 @@
1# Build Options
2# change to "no" to disable the options, or define them in the Makefile in
3# the appropriate keymap folder that will get included automatically
4#
5BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration
6MOUSEKEY_ENABLE = no # Mouse keys
7EXTRAKEY_ENABLE = yes # Audio control and System control
8CONSOLE_ENABLE = no # Console for debug
9COMMAND_ENABLE = yes # Commands for debug and configuration
10NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
11BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
12MIDI_ENABLE = no # MIDI controls
13AUDIO_ENABLE = no # Audio output on port C6
14UNICODE_ENABLE = no # Unicode
15BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
16RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight.
17
18# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
19SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
20
diff --git a/keyboards/amj40/keymaps/default/updatemerge.sh b/keyboards/amj40/keymaps/default/updatemerge.sh
deleted file mode 100755
index da5457e19..000000000
--- a/keyboards/amj40/keymaps/default/updatemerge.sh
+++ /dev/null
@@ -1,4 +0,0 @@
1#!/bin/bash
2git checkout amj60 # gets you on branch amj60
3git fetch origin # gets you up to date with origin
4git merge origin/master
diff --git a/keyboards/amj40/keymaps/default_625u_space/keymap.c b/keyboards/amj40/keymaps/default_625u_space/keymap.c
new file mode 100644
index 000000000..f5b33ad84
--- /dev/null
+++ b/keyboards/amj40/keymaps/default_625u_space/keymap.c
@@ -0,0 +1,41 @@
1/* Copyright 2021 James Young (@noroadsleft)
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#define LT1_SCL LT(1, KC_SCLN)
20#define LT2_QUO LT(2, KC_QUOT)
21
22const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
23 [0] = LAYOUT_625u_space(
24 KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
25 KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_ENT,
26 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH,
27 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, LT1_SCL, LT2_QUO
28 ),
29 [1] = LAYOUT_625u_space(
30 KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL,
31 KC_TAB, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, _______, KC_INS,
32 _______, KC_SCLN, KC_QUOT, KC_COLN, KC_DQUO, KC_TILD, KC_LABK, KC_RABK, KC_LBRC, KC_RBRC, _______,
33 _______, _______, _______, _______, _______, _______
34 ),
35 [2] = LAYOUT_625u_space(
36 KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
37 RESET, KC_PWR, _______, _______, KC_PSCR, KC_PAUS, BL_TOGG, BL_DEC, BL_INC, BL_STEP, _______,
38 KC_UP, KC_MINS, KC_EQL, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, KC_LPRN, KC_RPRN, _______,
39 KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______
40 ),
41};
diff --git a/keyboards/amj40/keymaps/default_ortho_275u_space/keymap.c b/keyboards/amj40/keymaps/default_ortho_275u_space/keymap.c
new file mode 100644
index 000000000..fe9988469
--- /dev/null
+++ b/keyboards/amj40/keymaps/default_ortho_275u_space/keymap.c
@@ -0,0 +1,40 @@
1/* Copyright 2021 James Young (@noroadsleft)
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#define LT2_SLS LT(2,KC_SLSH)
20
21const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
22 [0] = LAYOUT_ortho_275u_space(
23 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
24 KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
25 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_UP, KC_ENT,
26 KC_CAPS, KC_LCTL, KC_LALT, KC_LGUI, MO(1), KC_SPC, LT2_SLS, KC_LEFT, KC_DOWN, KC_RGHT
27 ),
28 [1] = LAYOUT_ortho_275u_space(
29 KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______,
30 _______, _______, _______, _______, _______, _______, _______, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE,
31 _______, _______, _______, _______, _______, _______, _______, _______, KC_SLSH, KC_QUES, KC_UP, _______,
32 _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT
33 ),
34 [2] = LAYOUT_ortho_275u_space(
35 KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
36 KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
37 _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, BL_TOGG, BL_DEC, BL_INC, BL_STEP, _______,
38 RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______
39 ),
40};
diff --git a/keyboards/amj40/keymaps/default_ortho_600u_space/keymap.c b/keyboards/amj40/keymaps/default_ortho_600u_space/keymap.c
new file mode 100644
index 000000000..527390cd1
--- /dev/null
+++ b/keyboards/amj40/keymaps/default_ortho_600u_space/keymap.c
@@ -0,0 +1,38 @@
1/* Copyright 2021 James Young (@noroadsleft)
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
19const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
20 [0] = LAYOUT_ortho_600u_space(
21 KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
22 KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_A, KC_ENT,
23 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH,
24 KC_LCTL, KC_LGUI, MO(1), KC_SPC, MO(2), KC_BSLS, KC_B
25 ),
26 [1] = LAYOUT_ortho_600u_space(
27 KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_BSPC,
28 KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_UP, _______,
29 KC_UNDS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, KC_SCLN, KC_QUOT, KC_GRV, _______, KC_LEFT, KC_DOWN, KC_RGHT,
30 _______, _______, _______, _______, _______, _______, _______
31 ),
32 [2] = LAYOUT_ortho_600u_space(
33 RESET, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, _______, _______,
34 _______, _______, _______, _______, _______, _______, BL_TOGG, BL_DEC, BL_INC, BL_STEP, _______, _______,
35 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
36 _______, _______, _______, _______, _______, _______, _______
37 ),
38};
diff --git a/keyboards/amj40/readme.md b/keyboards/amj40/readme.md
index fbf1d9f22..1d7316fcf 100755
--- a/keyboards/amj40/readme.md
+++ b/keyboards/amj40/readme.md
@@ -1,14 +1,23 @@
1AMJ40 1# AMJ40
2=== 2
3![AMJ40](https://raw.githubusercontent.com/noroadsleft/qmk_images/master/keyboards/amj40/AMJ40-Keyboard-Side-scaled_640.jpg)\
4[PCB photo](https://raw.githubusercontent.com/noroadsleft/qmk_images/master/keyboards/amj40/DSC_1718-768x512_640)
3 5
4DIY/Assembled compact 40% keyboard. 6DIY/Assembled compact 40% keyboard.
5 7
6Keyboard Maintainer: QMK Community 8* Keyboard Maintainer: QMK Community
7Hardware Supported: AMJ40 PCB 9* Hardware Supported: AMJ40 PCB
8Hardware Availability: https://geekhack.org/index.php?topic=87961.0 10* Hardware Availability: no longer available
11* References: [Flashquark](https://flashquark.com/product/amj40-40-mechanical-keyboard-kit/), [geekhack](https://geekhack.org/index.php?topic=87961.0)
9 12
10Make example for this keyboard (after setting up your build environment): 13Make example for this keyboard (after setting up your build environment):
11 14
12 make amj40:default 15 make amj40:default
13 16
14See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) then the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. 17Flashing example for this keyboard:
18
19 make amj40:default:flash
20
21To reset the board into bootloader mode, hold the key at the top left of the keyboard while connecting the USB cable (also erases persistent settings).
22
23See 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/amj40/rules.mk b/keyboards/amj40/rules.mk
index cd894dac1..e2f9c8310 100755
--- a/keyboards/amj40/rules.mk
+++ b/keyboards/amj40/rules.mk
@@ -2,27 +2,21 @@
2MCU = atmega32u4 2MCU = atmega32u4
3 3
4# Bootloader selection 4# Bootloader selection
5# Teensy halfkay
6# Pro Micro caterina
7# Atmel DFU atmel-dfu
8# LUFA DFU lufa-dfu
9# QMK DFU qmk-dfu
10# ATmega32A bootloadHID
11# ATmega328P USBasp
12BOOTLOADER = atmel-dfu 5BOOTLOADER = atmel-dfu
13 6
14# Build Options 7# Build Options
15# comment out to disable the options. 8# change yes to no to disable
16# 9#
17BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration 10BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
18MOUSEKEY_ENABLE = no # Mouse keys 11MOUSEKEY_ENABLE = yes # Mouse keys
19EXTRAKEY_ENABLE = yes # Audio control and System control 12EXTRAKEY_ENABLE = yes # Audio control and System control
20CONSOLE_ENABLE = yes # Console for debug 13CONSOLE_ENABLE = no # Console for debug
21COMMAND_ENABLE = yes # Commands for debug and configuration 14COMMAND_ENABLE = no # Commands for debug and configuration
22NKRO_ENABLE = yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work 15# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
23RGBLIGHT_ENABLE = yes # Enable keyboard underlight functionality 16SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
24BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality 17# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
25MIDI_ENABLE = no # MIDI controls 18NKRO_ENABLE = yes # USB Nkey Rollover
26AUDIO_ENABLE = no 19BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
27UNICODE_ENABLE = no # Unicode 20RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
28BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID 21BLUETOOTH_ENABLE = no # Enable Bluetooth
22AUDIO_ENABLE = no # Audio output
diff --git a/keyboards/dc01/arrow/arrow.c b/keyboards/dc01/arrow/arrow.c
index 07988b809..b3ed4ede7 100644
--- a/keyboards/dc01/arrow/arrow.c
+++ b/keyboards/dc01/arrow/arrow.c
@@ -14,30 +14,3 @@
14 * along with this program. If not, see <http://www.gnu.org/licenses/>. 14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */ 15 */
16#include "arrow.h" 16#include "arrow.h"
17
18void matrix_init_kb(void) {
19 // put your keyboard start-up code here
20 // runs once when the firmware starts up
21
22 matrix_init_user();
23}
24
25void matrix_scan_kb(void) {
26 // put your looping keyboard code here
27 // runs every cycle (a lot)
28
29 matrix_scan_user();
30}
31
32bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
33 // put your per-action keyboard code here
34 // runs for every action, just before processing by the firmware
35
36 return process_record_user(keycode, record);
37}
38
39void led_set_kb(uint8_t usb_led) {
40 // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here
41
42 led_set_user(usb_led);
43}
diff --git a/keyboards/dc01/arrow/arrow.h b/keyboards/dc01/arrow/arrow.h
index a3a9987d5..b293f60b4 100644
--- a/keyboards/dc01/arrow/arrow.h
+++ b/keyboards/dc01/arrow/arrow.h
@@ -13,29 +13,22 @@
13 * You should have received a copy of the GNU General Public License 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/>. 14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */ 15 */
16#ifndef ARROW_H 16#pragma once
17#define ARROW_H
18 17
19#include "quantum.h" 18#include "quantum.h"
20 19
21#define XXX KC_NO 20#define XXX KC_NO
22 21
23// This a shortcut to help you visually see your layout.
24// The first section contains all of the arguments
25// The second converts the arguments into a two-dimensional array
26#define LAYOUT_all( \ 22#define LAYOUT_all( \
27 K00, K01, K02, \ 23 K00, K01, K02, \
28 K10, K11, K12, \ 24 K10, K11, K12, \
29 \ 25 \
30 K31, \ 26 K31, \
31 K40, K41, K42 \ 27 K40, K41, K42 \
32) \ 28) { \
33{ \
34 { K00, K01, K02 }, \ 29 { K00, K01, K02 }, \
35 { K10, K11, K12 }, \ 30 { K10, K11, K12 }, \
36 { XXX, XXX, XXX }, \ 31 { XXX, XXX, XXX }, \
37 { XXX, K31, XXX }, \ 32 { XXX, K31, XXX }, \
38 { K40, K41, K42 } \ 33 { K40, K41, K42 } \
39} 34}
40
41#endif
diff --git a/keyboards/dc01/arrow/config.h b/keyboards/dc01/arrow/config.h
index 45e48d189..e240d71e8 100644
--- a/keyboards/dc01/arrow/config.h
+++ b/keyboards/dc01/arrow/config.h
@@ -20,7 +20,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
20#include "config_common.h" 20#include "config_common.h"
21 21
22/* USB Device descriptor parameter */ 22/* USB Device descriptor parameter */
23#define VENDOR_ID 0xFEED 23#define VENDOR_ID 0x8968
24#define PRODUCT_ID 0x1012 24#define PRODUCT_ID 0x1012
25#define DEVICE_VER 0x0001 25#define DEVICE_VER 0x0001
26#define MANUFACTURER Mechboards 26#define MANUFACTURER Mechboards
@@ -47,10 +47,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
47/* COL2ROW, ROW2COL*/ 47/* COL2ROW, ROW2COL*/
48#define DIODE_DIRECTION COL2ROW 48#define DIODE_DIRECTION COL2ROW
49 49
50// #define BACKLIGHT_PIN B7
51// #define BACKLIGHT_BREATHING
52// #define BACKLIGHT_LEVELS 3
53
54/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ 50/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
55#define DEBOUNCE 5 51#define DEBOUNCE 5
56 52
@@ -89,53 +85,3 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
89 * 85 *
90 */ 86 */
91//#define FORCE_NKRO 87//#define FORCE_NKRO
92
93/*
94 * Magic Key Options
95 *
96 * Magic keys are hotkey commands that allow control over firmware functions of
97 * the keyboard. They are best used in combination with the HID Listen program,
98 * found here: https://www.pjrc.com/teensy/hid_listen.html
99 *
100 * The options below allow the magic key functionality to be changed. This is
101 * useful if your keyboard/keypad is missing keys and you want magic key support.
102 *
103 */
104
105/*
106 * Feature disable options
107 * These options are also useful to firmware size reduction.
108 */
109
110/* disable debug print */
111//#define NO_DEBUG
112
113/* disable print */
114//#define NO_PRINT
115
116/* disable action features */
117//#define NO_ACTION_LAYER
118//#define NO_ACTION_TAPPING
119//#define NO_ACTION_ONESHOT
120//#define NO_ACTION_MACRO
121//#define NO_ACTION_FUNCTION
122
123/*
124 * MIDI options
125 */
126
127/* enable basic MIDI features:
128 - MIDI notes can be sent when in Music mode is on
129*/
130//#define MIDI_BASIC
131
132/* enable advanced MIDI features:
133 - MIDI notes can be added to the keymap
134 - Octave shift and transpose
135 - Virtual sustain, portamento, and modulation wheel
136 - etc.
137*/
138//#define MIDI_ADVANCED
139
140/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */
141//#define MIDI_TONE_KEYCODE_OCTAVES 1 \ No newline at end of file
diff --git a/keyboards/dc01/arrow/info.json b/keyboards/dc01/arrow/info.json
index b3b584fbd..c1fc10592 100644
--- a/keyboards/dc01/arrow/info.json
+++ b/keyboards/dc01/arrow/info.json
@@ -1,7 +1,7 @@
1{ 1{
2 "keyboard_name": "DC01 Arrow Cluster", 2 "keyboard_name": "DC01 Arrow Cluster",
3 "url": "", 3 "url": "",
4 "maintainer": "qmk", 4 "maintainer": "Yiancar-Designs",
5 "width": 3, 5 "width": 3,
6 "height": 5, 6 "height": 5,
7 "layouts": { 7 "layouts": {
diff --git a/keyboards/dc01/arrow/keymaps/default/keymap.c b/keyboards/dc01/arrow/keymaps/default/keymap.c
index 54eae570e..b7f539e85 100644
--- a/keyboards/dc01/arrow/keymaps/default/keymap.c
+++ b/keyboards/dc01/arrow/keymaps/default/keymap.c
@@ -17,26 +17,9 @@
17 17
18const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 18const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
19[0] = LAYOUT_all( /* Base */ 19[0] = LAYOUT_all( /* Base */
20 KC_INS, KC_HOME, KC_PGUP, \ 20 KC_INS, KC_HOME, KC_PGUP,
21 KC_DEL, KC_END, KC_PGDN, \ 21 KC_DEL, KC_END, KC_PGDN,
22 \
23 KC_UP, \
24 KC_LEFT, KC_DOWN, KC_RIGHT \
25),
26};
27
28void matrix_init_user(void) {
29
30}
31
32void matrix_scan_user(void) {
33 22
34} 23 KC_UP,
35 24 KC_LEFT, KC_DOWN, KC_RIGHT)
36bool process_record_user(uint16_t keycode, keyrecord_t *record) { 25};
37 return true;
38}
39
40void led_set_user(uint8_t usb_led) {
41
42}
diff --git a/keyboards/dc01/right/keymaps/iso/keymap.c b/keyboards/dc01/arrow/keymaps/via/keymap.c
index e65deac28..a086ffc07 100644
--- a/keyboards/dc01/right/keymaps/iso/keymap.c
+++ b/keyboards/dc01/arrow/keymaps/via/keymap.c
@@ -16,23 +16,31 @@
16#include QMK_KEYBOARD_H 16#include QMK_KEYBOARD_H
17 17
18const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 18const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
19[0] = LAYOUT_iso( /* Base */ 19[0] = LAYOUT_all( /* Base */
20 KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, \ 20 KC_INS, KC_HOME, KC_PGUP,
21 KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, \ 21 KC_DEL, KC_END, KC_PGDN,
22 KC_H, KC_J, KC_K, KC_L, KC_SCLN,KC_QUOT, KC_NUHS,KC_ENT, \ 22
23 KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH, KC_RSFT, \ 23 KC_UP,
24 KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_RGUI, KC_RCTL \ 24 KC_LEFT, KC_DOWN, KC_RIGHT),
25),
26};
27 25
28void matrix_init_user(void) { 26[1] = LAYOUT_all( /* Empty for Dynamic keymap */
27 KC_TRNS, KC_TRNS, KC_TRNS,
28 KC_TRNS, KC_TRNS, KC_TRNS,
29 29
30} 30 KC_TRNS,
31 KC_TRNS, KC_TRNS, KC_TRNS),
31 32
32void matrix_scan_user(void) { 33[2] = LAYOUT_all( /* Empty for Dynamic keymap */
34 KC_TRNS, KC_TRNS, KC_TRNS,
35 KC_TRNS, KC_TRNS, KC_TRNS,
33 36
34} 37 KC_TRNS,
38 KC_TRNS, KC_TRNS, KC_TRNS),
35 39
36bool process_record_user(uint16_t keycode, keyrecord_t *record) { 40[3] = LAYOUT_all( /* Empty for Dynamic keymap */
37 return true; 41 KC_TRNS, KC_TRNS, KC_TRNS,
38} \ No newline at end of file 42 KC_TRNS, KC_TRNS, KC_TRNS,
43
44 KC_TRNS,
45 KC_TRNS, KC_TRNS, KC_TRNS)
46};
diff --git a/keyboards/dc01/arrow/keymaps/via/readme.md b/keyboards/dc01/arrow/keymaps/via/readme.md
new file mode 100644
index 000000000..b2d32d9d2
--- /dev/null
+++ b/keyboards/dc01/arrow/keymaps/via/readme.md
@@ -0,0 +1,3 @@
1# The default VIA keymap for DC01 Arrow cluster
2
3When using the arrow module individually, this keymap will take effect. When using the keyboard as a whole please edit the keymap of the left module.
diff --git a/keyboards/dc01/arrow/keymaps/via/rules.mk b/keyboards/dc01/arrow/keymaps/via/rules.mk
new file mode 100755
index 000000000..1e5b99807
--- /dev/null
+++ b/keyboards/dc01/arrow/keymaps/via/rules.mk
@@ -0,0 +1 @@
VIA_ENABLE = yes
diff --git a/keyboards/dc01/arrow/matrix.c b/keyboards/dc01/arrow/matrix.c
index 80fbbb1b0..0102ad0fa 100644
--- a/keyboards/dc01/arrow/matrix.c
+++ b/keyboards/dc01/arrow/matrix.c
@@ -32,7 +32,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
32#include "i2c_slave.h" 32#include "i2c_slave.h"
33#include "lufa.h" 33#include "lufa.h"
34 34
35#define SLAVE_I2C_ADDRESS 0x23 35#define SLAVE_I2C_ADDRESS 0x40
36 36
37/* Set 0 if debouncing isn't needed */ 37/* Set 0 if debouncing isn't needed */
38 38
@@ -196,12 +196,10 @@ uint8_t matrix_scan(void)
196 } 196 }
197# endif 197# endif
198 198
199 if (USB_DeviceState != DEVICE_STATE_Configured){ 199 i2c_slave_reg[1] = 0x55;
200 i2c_slave_reg[1] = 0x55; 200 for (uint8_t i = 0; i < MATRIX_ROWS; i++){
201 for (uint8_t i = 0; i < MATRIX_ROWS; i++){ 201 i2c_slave_reg[i+2] = matrix[i]; //send matrix over i2c
202 i2c_slave_reg[i+2] = matrix[i]; //send matrix over i2c 202 }
203 }
204 }
205 203
206 matrix_scan_quantum(); 204 matrix_scan_quantum();
207 return 1; 205 return 1;
@@ -396,9 +394,6 @@ static void unselect_cols(void)
396 394
397//this replases tmk code 395//this replases tmk code
398void matrix_setup(void){ 396void matrix_setup(void){
399 397 i2c_slave_init(SLAVE_I2C_ADDRESS); //setup address of slave i2c
400 if (USB_DeviceState != DEVICE_STATE_Configured){ 398 sei(); //enable interupts
401 i2c_slave_init(SLAVE_I2C_ADDRESS); //setup address of slave i2c
402 sei(); //enable interupts
403 }
404} \ No newline at end of file 399} \ No newline at end of file
diff --git a/keyboards/dc01/arrow/rules.mk b/keyboards/dc01/arrow/rules.mk
index 5eacd0ae2..17de05bc7 100644
--- a/keyboards/dc01/arrow/rules.mk
+++ b/keyboards/dc01/arrow/rules.mk
@@ -14,7 +14,7 @@ BOOTLOADER = atmel-dfu
14# Build Options 14# Build Options
15# change yes to no to disable 15# change yes to no to disable
16# 16#
17BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration 17BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
18MOUSEKEY_ENABLE = yes # Mouse keys 18MOUSEKEY_ENABLE = yes # Mouse keys
19EXTRAKEY_ENABLE = yes # Audio control and System control 19EXTRAKEY_ENABLE = yes # Audio control and System control
20CONSOLE_ENABLE = no # Console for debug 20CONSOLE_ENABLE = no # Console for debug
diff --git a/keyboards/dc01/left/config.h b/keyboards/dc01/left/config.h
index 9f2e564a4..57614e84a 100644
--- a/keyboards/dc01/left/config.h
+++ b/keyboards/dc01/left/config.h
@@ -20,7 +20,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
20#include "config_common.h" 20#include "config_common.h"
21 21
22/* USB Device descriptor parameter */ 22/* USB Device descriptor parameter */
23#define VENDOR_ID 0xFEED 23#define VENDOR_ID 0x8968
24#define PRODUCT_ID 0x1010 24#define PRODUCT_ID 0x1010
25#define DEVICE_VER 0x0001 25#define DEVICE_VER 0x0001
26#define MANUFACTURER Mechboards 26#define MANUFACTURER Mechboards
@@ -45,7 +45,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
45#define MATRIX_COL_PINS { F4, F1, F0, F7, F6, F5 } 45#define MATRIX_COL_PINS { F4, F1, F0, F7, F6, F5 }
46#define UNUSED_PINS 46#define UNUSED_PINS
47 47
48#define F_SCL 300000UL 48#define F_SCL 350000UL
49 49
50/* COL2ROW, ROW2COL*/ 50/* COL2ROW, ROW2COL*/
51#define DIODE_DIRECTION COL2ROW 51#define DIODE_DIRECTION COL2ROW
@@ -141,4 +141,4 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
141//#define MIDI_ADVANCED 141//#define MIDI_ADVANCED
142 142
143/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ 143/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */
144//#define MIDI_TONE_KEYCODE_OCTAVES 1 \ No newline at end of file 144//#define MIDI_TONE_KEYCODE_OCTAVES 1
diff --git a/keyboards/dc01/left/info.json b/keyboards/dc01/left/info.json
index 6ed57ddc9..d2329df72 100644
--- a/keyboards/dc01/left/info.json
+++ b/keyboards/dc01/left/info.json
@@ -1,12 +1,15 @@
1{ 1{
2 "keyboard_name": "DC01 Left Half", 2 "keyboard_name": "DC01 Left Half",
3 "url": "", 3 "url": "",
4 "maintainer": "qmk", 4 "maintainer": "Yiancar-Designs",
5 "width": 22.5, 5 "width": 22.5,
6 "height": 5, 6 "height": 5,
7 "layouts": { 7 "layouts": {
8 "LAYOUT_ansi": { 8 "LAYOUT_ansi": {
9 "layout": [{"label":"~", "x":0, "y":0}, {"label":"!", "x":1, "y":0}, {"label":"@", "x":2, "y":0}, {"label":"#", "x":3, "y":0}, {"label":"$", "x":4, "y":0}, {"label":"%", "x":5, "y":0}, {"label":"^", "x":6, "y":0}, {"label":"&", "x":7, "y":0}, {"label":"*", "x":8, "y":0}, {"label":"(", "x":9, "y":0}, {"label":")", "x":10, "y":0}, {"label":"_", "x":11, "y":0}, {"label":"+", "x":12, "y":0}, {"label":"Backspace", "x":13, "y":0, "w":2}, {"label":"Insert", "x":15.25, "y":0}, {"label":"Home", "x":16.25, "y":0}, {"label":"PgUp", "x":17.25, "y":0}, {"label":"Num Lock", "x":18.5, "y":0}, {"label":"/", "x":19.5, "y":0}, {"label":"*", "x":20.5, "y":0}, {"label":"-", "x":21.5, "y":0}, {"label":"Tab", "x":0, "y":1, "w":1.5}, {"label":"Q", "x":1.5, "y":1}, {"label":"W", "x":2.5, "y":1}, {"label":"E", "x":3.5, "y":1}, {"label":"R", "x":4.5, "y":1}, {"label":"T", "x":5.5, "y":1}, {"label":"Y", "x":6.5, "y":1}, {"label":"U", "x":7.5, "y":1}, {"label":"I", "x":8.5, "y":1}, {"label":"O", "x":9.5, "y":1}, {"label":"P", "x":10.5, "y":1}, {"label":"{", "x":11.5, "y":1}, {"label":"}", "x":12.5, "y":1}, {"label":"|", "x":13.5, "y":1, "w":1.5}, {"label":"Delete", "x":15.25, "y":1}, {"label":"End", "x":16.25, "y":1}, {"label":"PgDn", "x":17.25, "y":1}, {"label":"7", "x":18.5, "y":1}, {"label":"8", "x":19.5, "y":1}, {"label":"9", "x":20.5, "y":1}, {"label":"+", "x":21.5, "y":1}, {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, {"label":"A", "x":1.75, "y":2}, {"label":"S", "x":2.75, "y":2}, {"label":"D", "x":3.75, "y":2}, {"label":"F", "x":4.75, "y":2}, {"label":"G", "x":5.75, "y":2}, {"label":"H", "x":6.75, "y":2}, {"label":"J", "x":7.75, "y":2}, {"label":"K", "x":8.75, "y":2}, {"label":"L", "x":9.75, "y":2}, {"label":":", "x":10.75, "y":2}, {"label":"\"", "x":11.75, "y":2}, {"label":"Enter", "x":12.75, "y":2, "w":2.25}, {"label":"4", "x":18.5, "y":2}, {"label":"5", "x":19.5, "y":2}, {"label":"6", "x":20.5, "y":2}, {"label":"KC_NO", "x":21.5, "y":2}, {"label":"Shift", "x":0, "y":3, "w":2.25}, {"label":"Z", "x":2.25, "y":3}, {"label":"X", "x":3.25, "y":3}, {"label":"C", "x":4.25, "y":3}, {"label":"V", "x":5.25, "y":3}, {"label":"B", "x":6.25, "y":3}, {"label":"N", "x":7.25, "y":3}, {"label":"M", "x":8.25, "y":3}, {"label":"<", "x":9.25, "y":3}, {"label":">", "x":10.25, "y":3}, {"label":"?", "x":11.25, "y":3}, {"label":"Shift", "x":12.25, "y":3, "w":2.75}, {"label":"\u2191", "x":16.25, "y":3}, {"label":"1", "x":18.5, "y":3}, {"label":"2", "x":19.5, "y":3}, {"label":"3", "x":20.5, "y":3}, {"label":"Ctrl", "x":0, "y":4, "w":1.25}, {"label":"GUI", "x":1.25, "y":4, "w":1.25}, {"label":"Alt", "x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":2.75}, {"x":6.5, "y":4, "w":1.25}, {"x":7.75, "y":4, "w":2.25}, {"label":"Alt", "x":10, "y":4, "w":1.25}, {"label":"GUI", "x":11.25, "y":4, "w":1.25}, {"label":"Menu", "x":12.5, "y":4, "w":1.25}, {"label":"Ctrl", "x":13.75, "y":4, "w":1.25}, {"label":"\u2190", "x":15.25, "y":4}, {"label":"\u2193", "x":16.25, "y":4}, {"label":"\u2192", "x":17.25, "y":4}, {"label":"0", "x":18.5, "y":4}, {"label":"KC_NO", "x":19.5, "y":4}, {"label":".", "x":20.5, "y":4}, {"label":"Enter", "x":21.5, "y":3, "h":2}] 9 "layout": [{"label":"Esc", "x":0, "y":0}, {"label":"!", "x":1, "y":0}, {"label":"\"", "x":2, "y":0}, {"label":"\u00a3", "x":3, "y":0}, {"label":"$", "x":4, "y":0}, {"label":"%", "x":5, "y":0}, {"label":"^", "x":6, "y":0}, {"label":"&", "x":7, "y":0}, {"label":"*", "x":8, "y":0}, {"label":"(", "x":9, "y":0}, {"label":")", "x":10, "y":0}, {"label":"_", "x":11, "y":0}, {"label":"+", "x":12, "y":0}, {"label":"Back", "x":13, "y":0}, {"label":"Del", "x":14, "y":0}, {"label":"Insert", "x":15.25, "y":0}, {"label":"Home", "x":16.25, "y":0}, {"label":"PgUp", "x":17.25, "y":0}, {"label":"Num Lock", "x":18.5, "y":0}, {"label":"/", "x":19.5, "y":0}, {"label":"*", "x":20.5, "y":0}, {"label":"-", "x":21.5, "y":0}, {"label":"Tab", "x":0, "y":1, "w":1.5}, {"label":"Q", "x":1.5, "y":1}, {"label":"W", "x":2.5, "y":1}, {"label":"E", "x":3.5, "y":1}, {"label":"R", "x":4.5, "y":1}, {"label":"T", "x":5.5, "y":1}, {"label":"Y", "x":6.5, "y":1}, {"label":"U", "x":7.5, "y":1}, {"label":"I", "x":8.5, "y":1}, {"label":"O", "x":9.5, "y":1}, {"label":"P", "x":10.5, "y":1}, {"label":"{", "x":11.5, "y":1}, {"label":"}", "x":12.5, "y":1}, {"label":"|", "x":13.5, "y":1, "w":1.5}, {"label":"Delete", "x":15.25, "y":1}, {"label":"End", "x":16.25, "y":1}, {"label":"PgDn", "x":17.25, "y":1}, {"label":"7", "x":18.5, "y":1}, {"label":"8", "x":19.5, "y":1}, {"label":"9", "x":20.5, "y":1}, {"label":"+", "x":21.5, "y":1}, {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, {"label":"A", "x":1.75, "y":2}, {"label":"S", "x":2.75, "y":2}, {"label":"D", "x":3.75, "y":2}, {"label":"F", "x":4.75, "y":2}, {"label":"G", "x":5.75, "y":2}, {"label":"H", "x":6.75, "y":2}, {"label":"J", "x":7.75, "y":2}, {"label":"K", "x":8.75, "y":2}, {"label":"L", "x":9.75, "y":2}, {"label":":", "x":10.75, "y":2}, {"label":"@", "x":11.75, "y":2}, {"label":"Enter", "x":12.75, "y":2, "w":2.25}, {"label":"4", "x":18.5, "y":2}, {"label":"5", "x":19.5, "y":2}, {"label":"6", "x":20.5, "y":2}, {"label":"+", "x":21.5, "y":2}, {"label":"Shift", "x":0, "y":3, "w":2.25}, {"label":"Z", "x":2.25, "y":3}, {"label":"X", "x":3.25, "y":3}, {"label":"C", "x":4.25, "y":3}, {"label":"V", "x":5.25, "y":3}, {"label":"B", "x":6.25, "y":3}, {"label":"N", "x":7.25, "y":3}, {"label":"M", "x":8.25, "y":3}, {"label":"<", "x":9.25, "y":3}, {"label":">", "x":10.25, "y":3}, {"label":"?", "x":11.25, "y":3}, {"label":"Shift", "x":12.25, "y":3, "w":1.75}, {"label":"Shift", "x":14, "y":3}, {"label":"\u2191", "x":16.25, "y":3}, {"label":"1", "x":18.5, "y":3}, {"label":"2", "x":19.5, "y":3}, {"label":"3", "x":20.5, "y":3}, {"label":"Enter", "x":21.5, "y":3}, {"label":"Ctrl", "x":0, "y":4, "w":1.25}, {"label":"Win", "x":1.25, "y":4, "w":1.25}, {"label":"Alt", "x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":2.75}, {"label":"Fn", "x":6.5, "y":4, "w":1.25}, {"x":7.75, "y":4, "w":2.25}, {"label":"AltGr", "x":10, "y":4, "w":1.25}, {"label":"Win", "x":11.25, "y":4, "w":1.25}, {"label":"Menu", "x":12.5, "y":4, "w":1.25}, {"label":"Ctrl", "x":13.75, "y":4, "w":1.25}, {"label":"\u2190", "x":15.25, "y":4}, {"label":"\u2193", "x":16.25, "y":4}, {"label":"\u2192", "x":17.25, "y":4}, {"label":"0", "x":18.5, "y":4}, {"label":"00", "x":19.5, "y":4}, {"label":".", "x":20.5, "y":4}, {"label":"Enter", "x":21.5, "y":4}]
10 },
11 "LAYOUT_all": {
12 "layout": [{"label":"Esc", "x":0, "y":0}, {"label":"!", "x":1, "y":0}, {"label":"\"", "x":2, "y":0}, {"label":"\u00a3", "x":3, "y":0}, {"label":"$", "x":4, "y":0}, {"label":"%", "x":5, "y":0}, {"label":"^", "x":6, "y":0}, {"label":"&", "x":7, "y":0}, {"label":"*", "x":8, "y":0}, {"label":"(", "x":9, "y":0}, {"label":")", "x":10, "y":0}, {"label":"_", "x":11, "y":0}, {"label":"+", "x":12, "y":0}, {"label":"Back", "x":13, "y":0}, {"label":"Del", "x":14, "y":0}, {"label":"Insert", "x":15.25, "y":0}, {"label":"Home", "x":16.25, "y":0}, {"label":"PgUp", "x":17.25, "y":0}, {"label":"Num Lock", "x":18.5, "y":0}, {"label":"/", "x":19.5, "y":0}, {"label":"*", "x":20.5, "y":0}, {"label":"-", "x":21.5, "y":0}, {"label":"Tab", "x":0, "y":1, "w":1.5}, {"label":"Q", "x":1.5, "y":1}, {"label":"W", "x":2.5, "y":1}, {"label":"E", "x":3.5, "y":1}, {"label":"R", "x":4.5, "y":1}, {"label":"T", "x":5.5, "y":1}, {"label":"Y", "x":6.5, "y":1}, {"label":"U", "x":7.5, "y":1}, {"label":"I", "x":8.5, "y":1}, {"label":"O", "x":9.5, "y":1}, {"label":"P", "x":10.5, "y":1}, {"label":"{", "x":11.5, "y":1}, {"label":"}", "x":12.5, "y":1}, {"label":"|", "x":13.5, "y":1, "w":1.5}, {"label":"Delete", "x":15.25, "y":1}, {"label":"End", "x":16.25, "y":1}, {"label":"PgDn", "x":17.25, "y":1}, {"label":"7", "x":18.5, "y":1}, {"label":"8", "x":19.5, "y":1}, {"label":"9", "x":20.5, "y":1}, {"label":"+", "x":21.5, "y":1}, {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, {"label":"A", "x":1.75, "y":2}, {"label":"S", "x":2.75, "y":2}, {"label":"D", "x":3.75, "y":2}, {"label":"F", "x":4.75, "y":2}, {"label":"G", "x":5.75, "y":2}, {"label":"H", "x":6.75, "y":2}, {"label":"J", "x":7.75, "y":2}, {"label":"K", "x":8.75, "y":2}, {"label":"L", "x":9.75, "y":2}, {"label":":", "x":10.75, "y":2}, {"label":"@", "x":11.75, "y":2}, {"label":"~", "x":12.75, "y":2}, {"label":"Enter", "x":13.75, "y":2, "w":1.25}, {"label":"4", "x":18.5, "y":2}, {"label":"5", "x":19.5, "y":2}, {"label":"6", "x":20.5, "y":2}, {"label":"+", "x":21.5, "y":2}, {"label":"Shift", "x":0, "y":3, "w":1.25}, {"label":"|", "x":1.25, "y":3}, {"label":"Z", "x":2.25, "y":3}, {"label":"X", "x":3.25, "y":3}, {"label":"C", "x":4.25, "y":3}, {"label":"V", "x":5.25, "y":3}, {"label":"B", "x":6.25, "y":3}, {"label":"N", "x":7.25, "y":3}, {"label":"M", "x":8.25, "y":3}, {"label":"<", "x":9.25, "y":3}, {"label":">", "x":10.25, "y":3}, {"label":"?", "x":11.25, "y":3}, {"label":"Shift", "x":12.25, "y":3, "w":1.75}, {"label":"Shift", "x":14, "y":3}, {"label":"\u2191", "x":16.25, "y":3}, {"label":"1", "x":18.5, "y":3}, {"label":"2", "x":19.5, "y":3}, {"label":"3", "x":20.5, "y":3}, {"label":"Enter", "x":21.5, "y":3}, {"label":"Ctrl", "x":0, "y":4, "w":1.25}, {"label":"Win", "x":1.25, "y":4, "w":1.25}, {"label":"Alt", "x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":2.75}, {"label":"Fn", "x":6.5, "y":4, "w":1.25}, {"x":7.75, "y":4, "w":2.25}, {"label":"AltGr", "x":10, "y":4, "w":1.25}, {"label":"Win", "x":11.25, "y":4, "w":1.25}, {"label":"Menu", "x":12.5, "y":4, "w":1.25}, {"label":"Ctrl", "x":13.75, "y":4, "w":1.25}, {"label":"\u2190", "x":15.25, "y":4}, {"label":"\u2193", "x":16.25, "y":4}, {"label":"\u2192", "x":17.25, "y":4}, {"label":"0", "x":18.5, "y":4}, {"label":"00", "x":19.5, "y":4}, {"label":".", "x":20.5, "y":4}, {"label":"Enter", "x":21.5, "y":4}]
10 } 13 }
11 } 14 }
12} 15}
diff --git a/keyboards/dc01/left/keymaps/default/keymap.c b/keyboards/dc01/left/keymaps/default/keymap.c
index e0896098a..884e734d2 100644
--- a/keyboards/dc01/left/keymaps/default/keymap.c
+++ b/keyboards/dc01/left/keymaps/default/keymap.c
@@ -17,22 +17,9 @@
17 17
18const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 18const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
19[0] = LAYOUT_ansi( /* Base */ 19[0] = LAYOUT_ansi( /* Base */
20 KC_ESC, 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_INS, KC_HOME, KC_PGUP, KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS, \ 20 KC_ESC, 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_DEL, KC_INS, KC_HOME, KC_PGUP, KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS,
21 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, KC_END, KC_PGDN, KC_P7, KC_P8, KC_P9, KC_PPLS, \ 21 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, KC_END, KC_PGDN, KC_P7, KC_P8, KC_P9, KC_PPLS,
22 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, KC_P4, KC_P5, KC_P6, KC_NO, \ 22 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, KC_P4, KC_P5, KC_P6, KC_NO,
23 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, KC_P1, KC_P2, KC_P3, \ 23 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_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_NO,
24 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT, KC_P0, KC_NO, KC_PDOT, KC_PENT \ 24 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT, KC_P0, KC_NO, KC_PDOT, KC_PENT)
25),
26}; 25};
27
28void matrix_init_user(void) {
29
30}
31
32void matrix_scan_user(void) {
33
34}
35
36bool process_record_user(uint16_t keycode, keyrecord_t *record) {
37 return true;
38} \ No newline at end of file
diff --git a/keyboards/dc01/left/keymaps/via/keymap.c b/keyboards/dc01/left/keymaps/via/keymap.c
new file mode 100644
index 000000000..43d29ef6d
--- /dev/null
+++ b/keyboards/dc01/left/keymaps/via/keymap.c
@@ -0,0 +1,46 @@
1/* Copyright 2018 Yiancar
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_all( /* Base */
20 KC_ESC, 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_DEL, KC_INS, KC_HOME, KC_PGUP, KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS,
21 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, KC_END, KC_PGDN, KC_P7, KC_P8, KC_P9, KC_PPLS,
22 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_NUHS, KC_ENT, KC_P4, KC_P5, KC_P6, KC_PPLS,
23 KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT,
24 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT, KC_P0, KC_P0, KC_PDOT, KC_PENT),
25
26[1] = LAYOUT_all( /* Empty for Dynamic keymap */
27 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
29 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
30 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
31 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
32
33[2] = LAYOUT_all( /* Empty for Dynamic keymap */
34 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
35 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
36 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
37 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
38 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
39
40[3] = LAYOUT_all( /* Empty for Dynamic keymap */
41 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
42 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
43 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
44 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
45 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
46};
diff --git a/keyboards/dc01/left/keymaps/via/readme.md b/keyboards/dc01/left/keymaps/via/readme.md
new file mode 100644
index 000000000..a2c2fb0cd
--- /dev/null
+++ b/keyboards/dc01/left/keymaps/via/readme.md
@@ -0,0 +1,11 @@
1# The default VIA keymap for DC01 Left
2
3Please use this for ISO as well.
4
5The keymap looks like a full layout keymap.
6
7This is because the left part of the keyboard acts as the masterm coordinating all four part.
8
9When using the keyboard to connect the other three parts, this keymap overwrites the individual keymaps of the single modules.
10
11When using a module individually, the keymap of that module will take effect.
diff --git a/keyboards/dc01/left/keymaps/via/rules.mk b/keyboards/dc01/left/keymaps/via/rules.mk
new file mode 100755
index 000000000..1e5b99807
--- /dev/null
+++ b/keyboards/dc01/left/keymaps/via/rules.mk
@@ -0,0 +1 @@
VIA_ENABLE = yes
diff --git a/keyboards/dc01/left/left.c b/keyboards/dc01/left/left.c
index 1d8da186b..b10121705 100644
--- a/keyboards/dc01/left/left.c
+++ b/keyboards/dc01/left/left.c
@@ -14,30 +14,3 @@
14 * along with this program. If not, see <http://www.gnu.org/licenses/>. 14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */ 15 */
16#include "left.h" 16#include "left.h"
17
18void matrix_init_kb(void) {
19 // put your keyboard start-up code here
20 // runs once when the firmware starts up
21
22 matrix_init_user();
23}
24
25void matrix_scan_kb(void) {
26 // put your looping keyboard code here
27 // runs every cycle (a lot)
28
29 matrix_scan_user();
30}
31
32bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
33 // put your per-action keyboard code here
34 // runs for every action, just before processing by the firmware
35
36 return process_record_user(keycode, record);
37}
38
39void led_set_kb(uint8_t usb_led) {
40 // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here
41
42 led_set_user(usb_led);
43}
diff --git a/keyboards/dc01/left/left.h b/keyboards/dc01/left/left.h
index bda6faeb7..4fbd7a7e5 100644
--- a/keyboards/dc01/left/left.h
+++ b/keyboards/dc01/left/left.h
@@ -13,29 +13,36 @@
13 * You should have received a copy of the GNU General Public License 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/>. 14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */ 15 */
16#ifndef LEFT_H 16#pragma once
17#define LEFT_H
18 17
19#include "quantum.h" 18#include "quantum.h"
20 19
21#define XXX KC_NO 20#define XXX KC_NO
22 21
23// This a shortcut to help you visually see your layout. 22#define LAYOUT_all( \
24// The first section contains all of the arguments 23 K00, K01, K02, K03, K04, K05, K45, K07, K08, K09, K0A, K0B, K0C, K0D, K06, K0E, K0F, K0G, K0H, K0J, K0K, K0L, \
25// The second converts the arguments into a two-dimensional array 24 K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G, K1H, K1J, K1K, K1L, \
25 K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2H, K2J, K2K, K2L, \
26 K30, K44, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3C, K3D, K3F, K3H, K3J, K3K, K3L, \
27 K40, K41, K42, K43, K46, K47, K48, K49, K4A, K4B, K4E, K4F, K4G, K4H, K4J, K4K, K4L \
28) { \
29 { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G, K0H, K0J, K0K, K0L }, \
30 { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G, K1H, K1J, K1K, K1L }, \
31 { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, XXX, XXX, XXX, K2H, K2J, K2K, K2L }, \
32 { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, XXX, K3C, K3D, XXX, K3F, XXX, K3H, K3J, K3K, K3L }, \
33 { K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, XXX, XXX, K4E, K4F, K4G, K4H, K4J, K4K, K4L } \
34}
35
26#define LAYOUT_ansi( \ 36#define LAYOUT_ansi( \
27 K00, K01, K02, K03, K04, K05, K45, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G, K0H, K0J, K0K, K0L, \ 37 K00, K01, K02, K03, K04, K05, K45, K07, K08, K09, K0A, K0B, K0C, K0D, K06, K0E, K0F, K0G, K0H, K0J, K0K, K0L, \
28 K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G, K1H, K1J, K1K, K1L, \ 38 K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G, K1H, K1J, K1K, K1L, \
29 K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2D, K2H, K2J, K2K, K2L, \ 39 K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2D, K2H, K2J, K2K, K2L, \
30 K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3D, K3F, K3H, K3J, K3K, \ 40 K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3C, K3D, K3F, K3H, K3J, K3K, K3L, \
31 K40, K41, K42, K43, K46, K47, K48, K49, K4A, K4B, K4E, K4F, K4G, K4H, K4J, K4K, K4L \ 41 K40, K41, K42, K43, K46, K47, K48, K49, K4A, K4B, K4E, K4F, K4G, K4H, K4J, K4K, K4L \
32) \ 42) { \
33{ \ 43 { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G, K0H, K0J, K0K, K0L }, \
34 { K00, K01, K02, K03, K04, K05, XXX, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G, K0H, K0J, K0K, K0L }, \
35 { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G, K1H, K1J, K1K, K1L }, \ 44 { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G, K1H, K1J, K1K, K1L }, \
36 { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, XXX, K2D, XXX, XXX, XXX, K2H, K2J, K2K, K2L }, \ 45 { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, XXX, K2D, XXX, XXX, XXX, K2H, K2J, K2K, K2L }, \
37 { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, XXX, XXX, K3D, XXX, K3F, XXX, K3H, K3J, K3K, XXX }, \ 46 { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, XXX, K3C, K3D, XXX, K3F, XXX, K3H, K3J, K3K, K3L }, \
38 { K40, K41, K42, K43, XXX, K45, K46, K47, K48, K49, K4A, K4B, XXX, XXX, K4E, K4F, K4G, K4H, K4J, K4K, K4L } \ 47 { K40, K41, K42, K43, XXX, K45, K46, K47, K48, K49, K4A, K4B, XXX, XXX, K4E, K4F, K4G, K4H, K4J, K4K, K4L } \
39} 48}
40
41#endif
diff --git a/keyboards/dc01/left/matrix.c b/keyboards/dc01/left/matrix.c
index 41ecb8e17..c3b3b39a4 100644
--- a/keyboards/dc01/left/matrix.c
+++ b/keyboards/dc01/left/matrix.c
@@ -31,14 +31,11 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
31#include "timer.h" 31#include "timer.h"
32#include "i2c_master.h" 32#include "i2c_master.h"
33 33
34#define SLAVE_I2C_ADDRESS_RIGHT 0x19 34#define SLAVE_I2C_ADDRESS_RIGHT 0x32
35#define SLAVE_I2C_ADDRESS_NUMPAD 0x21 35#define SLAVE_I2C_ADDRESS_NUMPAD 0x36
36#define SLAVE_I2C_ADDRESS_ARROW 0x23 36#define SLAVE_I2C_ADDRESS_ARROW 0x40
37 37
38#define ERROR_DISCONNECT_COUNT 5 38#define ERROR_DISCONNECT_COUNT 5
39static uint8_t error_count_right = 0;
40static uint8_t error_count_numpad = 0;
41static uint8_t error_count_arrow = 0;
42 39
43/* Set 0 if debouncing isn't needed */ 40/* Set 0 if debouncing isn't needed */
44 41
@@ -210,38 +207,23 @@ uint8_t matrix_scan(void)
210 } 207 }
211# endif 208# endif
212 209
213 if (i2c_transaction(SLAVE_I2C_ADDRESS_RIGHT, 0x3F, 0)){ //error has occured for main right half 210if (i2c_transaction(SLAVE_I2C_ADDRESS_RIGHT, 0x3F, 0)) {
214 error_count_right++; 211 for (uint8_t i = 0; i < MATRIX_ROWS ; i++) {
215 if (error_count_right > ERROR_DISCONNECT_COUNT){ //disconnect half 212 matrix[i] &= 0x3F; //mask bits to keep
216 for (uint8_t i = 0; i < MATRIX_ROWS ; i++) {
217 matrix[i] &= 0x3F; //mask bits to keep
218 }
219 }
220 }else{ //no error
221 error_count_right = 0;
222 } 213 }
214}
223 215
224 if (i2c_transaction(SLAVE_I2C_ADDRESS_ARROW, 0X3FFF, 8)){ //error has occured for arrow cluster 216if (i2c_transaction(SLAVE_I2C_ADDRESS_ARROW, 0X3FFF, 8)) {
225 error_count_arrow++; 217 for (uint8_t i = 0; i < MATRIX_ROWS ; i++) {
226 if (error_count_arrow > ERROR_DISCONNECT_COUNT){ //disconnect arrow cluster 218 matrix[i] &= 0x3FFF; //mask bits to keep
227 for (uint8_t i = 0; i < MATRIX_ROWS ; i++) {
228 matrix[i] &= 0x3FFF; //mask bits to keep
229 }
230 }
231 }else{ //no error
232 error_count_arrow = 0;
233 } 219 }
220}
234 221
235 if (i2c_transaction(SLAVE_I2C_ADDRESS_NUMPAD, 0x1FFFF, 11)){ //error has occured for numpad 222if (i2c_transaction(SLAVE_I2C_ADDRESS_NUMPAD, 0x1FFFF, 11)) {
236 error_count_numpad++; 223 for (uint8_t i = 0; i < MATRIX_ROWS ; i++) {
237 if (error_count_numpad > ERROR_DISCONNECT_COUNT){ //disconnect numpad 224 matrix[i] &= 0x1FFFF; //mask bits to keep
238 for (uint8_t i = 0; i < MATRIX_ROWS ; i++) {
239 matrix[i] &= 0x1FFFF; //mask bits to keep
240 }
241 }
242 }else{ //no error
243 error_count_numpad = 0;
244 } 225 }
226}
245 227
246 matrix_scan_quantum(); 228 matrix_scan_quantum();
247 return 1; 229 return 1;
@@ -436,29 +418,37 @@ static void unselect_cols(void)
436 418
437// Complete rows from other modules over i2c 419// Complete rows from other modules over i2c
438i2c_status_t i2c_transaction(uint8_t address, uint32_t mask, uint8_t col_offset) { 420i2c_status_t i2c_transaction(uint8_t address, uint32_t mask, uint8_t col_offset) {
439 i2c_status_t err = i2c_start((address << 1) | I2C_WRITE, 10); 421 i2c_status_t status = i2c_start(address, 50);
440 i2c_write(0x01, 10); //request data in address 1 422 if (status < 0) {
423 goto error;
424 }
441 425
442 i2c_start((address << 1) | I2C_READ, 5); 426 status = i2c_write(0x01, 50);
427 if (status < 0) {
428 goto error;
429 }
443 430
444 err = i2c_read_ack(10); 431 status = i2c_start(address | I2C_READ, 50);
445 if (err == 0x55) { //synchronization byte
446 432
447 for (uint8_t i = 0; i < MATRIX_ROWS-1 ; i++) { //assemble slave matrix in main matrix 433 status = i2c_read_ack(50);
448 matrix[i] &= mask; //mask bits to keep 434 if (status != 0x55) { //synchronization byte
449 err = i2c_read_ack(10); 435 goto error;
450 matrix[i] |= ((uint32_t)err << (MATRIX_COLS_SCANNED + col_offset)); //add new bits at the end 436 }
451 }
452 //last read request must be followed by a NACK
453 matrix[MATRIX_ROWS - 1] &= mask; //mask bits to keep
454 err = i2c_read_nack(10);
455 matrix[MATRIX_ROWS - 1] |= ((uint32_t)err << (MATRIX_COLS_SCANNED + col_offset)); //add new bits at the end
456 437
457 } else { 438 for (uint8_t i = 0; i < MATRIX_ROWS-1 && status >= 0; i++) { //assemble slave matrix in main matrix
458 i2c_stop(); 439 matrix[i] &= mask; //mask bits to keep
459 return 1; 440 status = i2c_read_ack(50);
441 matrix[i] |= ((uint32_t)status << (MATRIX_COLS_SCANNED + col_offset)); //add new bits at the end
442 }
443 //last read request must be followed by a NACK
444 if (status >= 0) {
445 matrix[MATRIX_ROWS - 1] &= mask; //mask bits to keep
446 status = i2c_read_nack(50);
447 matrix[MATRIX_ROWS - 1] |= ((uint32_t)status << (MATRIX_COLS_SCANNED + col_offset)); //add new bits at the end
460 } 448 }
461 449
450error:
462 i2c_stop(); 451 i2c_stop();
463 return 0; 452
453 return (status < 0) ? status : I2C_STATUS_SUCCESS;
464} \ No newline at end of file 454} \ No newline at end of file
diff --git a/keyboards/dc01/left/rules.mk b/keyboards/dc01/left/rules.mk
index d5d466355..cd440a494 100644
--- a/keyboards/dc01/left/rules.mk
+++ b/keyboards/dc01/left/rules.mk
@@ -14,7 +14,7 @@ BOOTLOADER = atmel-dfu
14# Build Options 14# Build Options
15# change yes to no to disable 15# change yes to no to disable
16# 16#
17BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration 17BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
18MOUSEKEY_ENABLE = yes # Mouse keys 18MOUSEKEY_ENABLE = yes # Mouse keys
19EXTRAKEY_ENABLE = yes # Audio control and System control 19EXTRAKEY_ENABLE = yes # Audio control and System control
20CONSOLE_ENABLE = no # Console for debug 20CONSOLE_ENABLE = no # Console for debug
diff --git a/keyboards/dc01/numpad/config.h b/keyboards/dc01/numpad/config.h
index e8b5d2b57..87c73ebc2 100644
--- a/keyboards/dc01/numpad/config.h
+++ b/keyboards/dc01/numpad/config.h
@@ -20,7 +20,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
20#include "config_common.h" 20#include "config_common.h"
21 21
22/* USB Device descriptor parameter */ 22/* USB Device descriptor parameter */
23#define VENDOR_ID 0xFEED 23#define VENDOR_ID 0x8968
24#define PRODUCT_ID 0x1013 24#define PRODUCT_ID 0x1013
25#define DEVICE_VER 0x0001 25#define DEVICE_VER 0x0001
26#define MANUFACTURER Mechboards 26#define MANUFACTURER Mechboards
@@ -47,10 +47,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
47/* COL2ROW, ROW2COL*/ 47/* COL2ROW, ROW2COL*/
48#define DIODE_DIRECTION COL2ROW 48#define DIODE_DIRECTION COL2ROW
49 49
50// #define BACKLIGHT_PIN B7
51// #define BACKLIGHT_BREATHING
52// #define BACKLIGHT_LEVELS 3
53
54/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ 50/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
55#define DEBOUNCE 5 51#define DEBOUNCE 5
56 52
@@ -89,53 +85,3 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
89 * 85 *
90 */ 86 */
91//#define FORCE_NKRO 87//#define FORCE_NKRO
92
93/*
94 * Magic Key Options
95 *
96 * Magic keys are hotkey commands that allow control over firmware functions of
97 * the keyboard. They are best used in combination with the HID Listen program,
98 * found here: https://www.pjrc.com/teensy/hid_listen.html
99 *
100 * The options below allow the magic key functionality to be changed. This is
101 * useful if your keyboard/keypad is missing keys and you want magic key support.
102 *
103 */
104
105/*
106 * Feature disable options
107 * These options are also useful to firmware size reduction.
108 */
109
110/* disable debug print */
111//#define NO_DEBUG
112
113/* disable print */
114//#define NO_PRINT
115
116/* disable action features */
117//#define NO_ACTION_LAYER
118//#define NO_ACTION_TAPPING
119//#define NO_ACTION_ONESHOT
120//#define NO_ACTION_MACRO
121//#define NO_ACTION_FUNCTION
122
123/*
124 * MIDI options
125 */
126
127/* enable basic MIDI features:
128 - MIDI notes can be sent when in Music mode is on
129*/
130//#define MIDI_BASIC
131
132/* enable advanced MIDI features:
133 - MIDI notes can be added to the keymap
134 - Octave shift and transpose
135 - Virtual sustain, portamento, and modulation wheel
136 - etc.
137*/
138//#define MIDI_ADVANCED
139
140/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */
141//#define MIDI_TONE_KEYCODE_OCTAVES 1 \ No newline at end of file
diff --git a/keyboards/dc01/numpad/info.json b/keyboards/dc01/numpad/info.json
index 9e593848f..047065cb6 100644
--- a/keyboards/dc01/numpad/info.json
+++ b/keyboards/dc01/numpad/info.json
@@ -1,15 +1,15 @@
1{ 1{
2 "keyboard_name": "DC01 Numpad", 2 "keyboard_name": "DC01 Numpad",
3 "url": "", 3 "url": "",
4 "maintainer": "qmk", 4 "maintainer": "Yiancar-Designs",
5 "width": 4, 5 "width": 4,
6 "height": 5, 6 "height": 5,
7 "layouts": { 7 "layouts": {
8 "LAYOUT_numpad_5x4": { 8 "LAYOUT_numpad_5x4": {
9 "layout": [{"label":"Num Lock", "x":0, "y":0}, {"label":"/", "x":1, "y":0}, {"label":"*", "x":2, "y":0}, {"label":"-", "x":3, "y":0}, {"label":"7", "x":0, "y":1}, {"label":"8", "x":1, "y":1}, {"label":"9", "x":2, "y":1}, {"label":"4", "x":0, "y":2}, {"label":"5", "x":1, "y":2}, {"label":"6", "x":2, "y":2}, {"label":"+", "x":3, "y":1, "h":2}, {"label":"1", "x":0, "y":3}, {"label":"2", "x":1, "y":3}, {"label":"3", "x":2, "y":3}, {"label":"0", "x":0, "y":4, "w":2}, {"label":".", "x":2, "y":4}, {"label":"Enter", "x":3, "y":3, "h":2}] 9 "layout": [{"label":"Num Lock", "x":0, "y":0}, {"label":"/", "x":1, "y":0}, {"label":"*", "x":2, "y":0}, {"label":"-", "x":3, "y":0}, {"label":"7", "x":0, "y":1}, {"label":"8", "x":1, "y":1}, {"label":"9", "x":2, "y":1}, {"label":"4", "x":0, "y":2}, {"label":"5", "x":1, "y":2}, {"label":"6", "x":2, "y":2}, {"label":"+", "x":3, "y":1, "h":2}, {"label":"1", "x":0, "y":3}, {"label":"2", "x":1, "y":3}, {"label":"3", "x":2, "y":3}, {"label":"0", "x":0, "y":4, "w":2}, {"label":".", "x":2, "y":4}, {"label":"Enter", "x":3, "y":3, "h":2}]
10 }, 10 },
11 "LAYOUT_ortho_5x4": { 11 "LAYOUT_ortho_5x4": {
12 "layout": [{"label":"Num Lock", "x":0, "y":0}, {"label":"/", "x":1, "y":0}, {"label":"*", "x":2, "y":0}, {"label":"-", "x":3, "y":0}, {"label":"7", "x":0, "y":1}, {"label":"8", "x":1, "y":1}, {"label":"9", "x":2, "y":1}, {"label":"+", "x":3, "y":1}, {"label":"4", "x":0, "y":2}, {"label":"5", "x":1, "y":2}, {"label":"6", "x":2, "y":2}, {"label":"+", "x":3, "y":2}, {"label":"1", "x":0, "y":3}, {"label":"2", "x":1, "y":3}, {"label":"3", "x":2, "y":3}, {"label":"Enter", "x":3, "y":3}, {"label":"0", "x":0, "y":4}, {"label":"00", "x":1, "y":4}, {"label":".", "x":2, "y":4}, {"label":"Enter", "x":3, "y":4}] 12 "layout": [{"label":"Num Lock", "x":0, "y":0}, {"label":"/", "x":1, "y":0}, {"label":"*", "x":2, "y":0}, {"label":"-", "x":3, "y":0}, {"label":"7", "x":0, "y":1}, {"label":"8", "x":1, "y":1}, {"label":"9", "x":2, "y":1}, {"label":"+", "x":3, "y":1}, {"label":"4", "x":0, "y":2}, {"label":"5", "x":1, "y":2}, {"label":"6", "x":2, "y":2}, {"label":"+", "x":3, "y":2}, {"label":"1", "x":0, "y":3}, {"label":"2", "x":1, "y":3}, {"label":"3", "x":2, "y":3}, {"label":"Enter", "x":3, "y":3}, {"label":"0", "x":0, "y":4}, {"label":"00", "x":1, "y":4}, {"label":".", "x":2, "y":4}, {"label":"Enter", "x":3, "y":4}]
13 }
13 } 14 }
14 }
15} 15}
diff --git a/keyboards/dc01/numpad/keymaps/default/keymap.c b/keyboards/dc01/numpad/keymaps/default/keymap.c
index 6c88d445f..8f2fb89b9 100644
--- a/keyboards/dc01/numpad/keymaps/default/keymap.c
+++ b/keyboards/dc01/numpad/keymaps/default/keymap.c
@@ -16,35 +16,17 @@
16#include QMK_KEYBOARD_H 16#include QMK_KEYBOARD_H
17 17
18const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 18const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
19 [0] = LAYOUT_numpad_5x4( 19[0] = LAYOUT_numpad_5x4(
20 TG(1), KC_PSLS, KC_PAST, KC_PMNS, \ 20 TG(1), KC_PSLS, KC_PAST, KC_PMNS,
21 KC_P7, KC_P8, KC_P9, \ 21 KC_P7, KC_P8, KC_P9,
22 KC_P4, KC_P5, KC_P6, KC_PPLS, \ 22 KC_P4, KC_P5, KC_P6, KC_PPLS,
23 KC_P1, KC_P2, KC_P3, \ 23 KC_P1, KC_P2, KC_P3,
24 KC_P0, KC_PDOT, KC_PENT \ 24 KC_P0, KC_PDOT, KC_PENT ),
25 ), 25
26 26[1] = LAYOUT_numpad_5x4(
27 [1] = LAYOUT_numpad_5x4( 27 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
28 _______, _______, _______, _______, \ 28 KC_HOME, KC_UP, KC_PGUP,
29 KC_HOME, KC_UP, KC_PGUP, \ 29 KC_LEFT, KC_NO, KC_RGHT, KC_TRNS,
30 KC_LEFT, XXXXXXX, KC_RGHT, _______, \ 30 KC_END, KC_DOWN, KC_PGDN,
31 KC_END, KC_DOWN, KC_PGDN, \ 31 KC_INS, KC_DEL, KC_TRNS),
32 KC_INS, KC_DEL, _______ \
33 ),
34}; 32};
35
36void matrix_init_user(void) {
37
38}
39
40void matrix_scan_user(void) {
41
42}
43
44bool process_record_user(uint16_t keycode, keyrecord_t *record) {
45 return true;
46}
47
48void led_set_user(uint8_t usb_led) {
49
50}
diff --git a/keyboards/dc01/numpad/keymaps/ortho_5x4/keymap.c b/keyboards/dc01/numpad/keymaps/ortho_5x4/keymap.c
index 133f33cb0..c8c387646 100644
--- a/keyboards/dc01/numpad/keymaps/ortho_5x4/keymap.c
+++ b/keyboards/dc01/numpad/keymaps/ortho_5x4/keymap.c
@@ -20,31 +20,21 @@ enum custom_keycodes {
20}; 20};
21 21
22const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 22const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
23 [0] = LAYOUT_ortho_5x4( 23 [0] = LAYOUT_ortho_5x4(
24 TG(1), KC_PSLS, KC_PAST, KC_PMNS, \ 24 TG(1), KC_PSLS, KC_PAST, KC_PMNS,
25 KC_P7, KC_P8, KC_P9, KC_PPLS, \ 25 KC_P7, KC_P8, KC_P9, KC_PPLS,
26 KC_P4, KC_P5, KC_P6, KC_PPLS, \ 26 KC_P4, KC_P5, KC_P6, KC_PPLS,
27 KC_P1, KC_P2, KC_P3, KC_PENT, \ 27 KC_P1, KC_P2, KC_P3, KC_PENT,
28 KC_P0, KC_P00, KC_PDOT, KC_PENT \ 28 KC_P0, KC_P00, KC_PDOT, KC_PENT),
29 ), 29
30 30 [1] = LAYOUT_ortho_5x4(
31 [1] = LAYOUT_ortho_5x4( 31 _______, _______, _______, _______,
32 _______, _______, _______, _______, \ 32 KC_HOME, KC_UP, KC_PGUP, _______,
33 KC_HOME, KC_UP, KC_PGUP, _______, \ 33 KC_LEFT, XXXXXXX, KC_RGHT, _______,
34 KC_LEFT, XXXXXXX, KC_RGHT, _______, \ 34 KC_END, KC_DOWN, KC_PGDN, _______,
35 KC_END, KC_DOWN, KC_PGDN, _______, \ 35 KC_INS, XXXXXXX, KC_DEL, _______)
36 KC_INS, XXXXXXX, KC_DEL, _______ \
37 ),
38}; 36};
39 37
40void matrix_init_user(void) {
41
42}
43
44void matrix_scan_user(void) {
45
46}
47
48bool process_record_user(uint16_t keycode, keyrecord_t *record) { 38bool process_record_user(uint16_t keycode, keyrecord_t *record) {
49 if (record->event.pressed) { 39 if (record->event.pressed) {
50 switch(keycode) { 40 switch(keycode) {
@@ -56,7 +46,3 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
56 } 46 }
57 return true; 47 return true;
58}; 48};
59
60void led_set_user(uint8_t usb_led) {
61
62}
diff --git a/keyboards/dc01/numpad/keymaps/via/keymap.c b/keyboards/dc01/numpad/keymaps/via/keymap.c
new file mode 100644
index 000000000..bb4c17c3f
--- /dev/null
+++ b/keyboards/dc01/numpad/keymaps/via/keymap.c
@@ -0,0 +1,46 @@
1/* Copyright 2018 Yiancar
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_ortho_5x4( /* Base */
20 KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS,
21 KC_P7, KC_P8, KC_P9, KC_PPLS,
22 KC_P4, KC_P5, KC_P6, KC_PPLS,
23 KC_P1, KC_P2, KC_P3, KC_PENT,
24 KC_P0, KC_P0, KC_PDOT, KC_PENT),
25
26[1] = LAYOUT_ortho_5x4( /* Empty for Dynamic keymap */
27 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
28 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
29 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
30 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
31 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
32
33[2] = LAYOUT_ortho_5x4( /* Empty for Dynamic keymap */
34 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
35 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
36 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
37 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
38 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
39
40[3] = LAYOUT_ortho_5x4( /* Empty for Dynamic keymap */
41 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
42 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
43 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
44 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
45 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
46};
diff --git a/keyboards/dc01/numpad/keymaps/via/readme.md b/keyboards/dc01/numpad/keymaps/via/readme.md
new file mode 100644
index 000000000..b2d32d9d2
--- /dev/null
+++ b/keyboards/dc01/numpad/keymaps/via/readme.md
@@ -0,0 +1,3 @@
1# The default VIA keymap for DC01 Arrow cluster
2
3When using the arrow module individually, this keymap will take effect. When using the keyboard as a whole please edit the keymap of the left module.
diff --git a/keyboards/dc01/numpad/keymaps/via/rules.mk b/keyboards/dc01/numpad/keymaps/via/rules.mk
new file mode 100755
index 000000000..1e5b99807
--- /dev/null
+++ b/keyboards/dc01/numpad/keymaps/via/rules.mk
@@ -0,0 +1 @@
VIA_ENABLE = yes
diff --git a/keyboards/dc01/numpad/matrix.c b/keyboards/dc01/numpad/matrix.c
index 1eba58cc7..38130114e 100644
--- a/keyboards/dc01/numpad/matrix.c
+++ b/keyboards/dc01/numpad/matrix.c
@@ -32,7 +32,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
32#include "i2c_slave.h" 32#include "i2c_slave.h"
33#include "lufa.h" 33#include "lufa.h"
34 34
35#define SLAVE_I2C_ADDRESS 0x21 35#define SLAVE_I2C_ADDRESS 0x36
36 36
37/* Set 0 if debouncing isn't needed */ 37/* Set 0 if debouncing isn't needed */
38 38
@@ -196,12 +196,10 @@ uint8_t matrix_scan(void)
196 } 196 }
197# endif 197# endif
198 198
199 if (USB_DeviceState != DEVICE_STATE_Configured){ 199 i2c_slave_reg[1] = 0x55;
200 i2c_slave_reg[1] = 0x55; 200 for (uint8_t i = 0; i < MATRIX_ROWS; i++){
201 for (uint8_t i = 0; i < MATRIX_ROWS; i++){ 201 i2c_slave_reg[i+2] = matrix[i]; //send matrix over i2c
202 i2c_slave_reg[i+2] = matrix[i]; //send matrix over i2c 202 }
203 }
204 }
205 203
206 matrix_scan_quantum(); 204 matrix_scan_quantum();
207 return 1; 205 return 1;
@@ -396,9 +394,6 @@ static void unselect_cols(void)
396 394
397//this replases tmk code 395//this replases tmk code
398void matrix_setup(void){ 396void matrix_setup(void){
399 397 i2c_slave_init(SLAVE_I2C_ADDRESS); //setup address of slave i2c
400 if (USB_DeviceState != DEVICE_STATE_Configured){ 398 sei(); //enable interupts
401 i2c_slave_init(SLAVE_I2C_ADDRESS); //setup address of slave i2c
402 sei(); //enable interupts
403 }
404} \ No newline at end of file 399} \ No newline at end of file
diff --git a/keyboards/dc01/numpad/numpad.c b/keyboards/dc01/numpad/numpad.c
index 04d0a33af..2599f6320 100644
--- a/keyboards/dc01/numpad/numpad.c
+++ b/keyboards/dc01/numpad/numpad.c
@@ -14,30 +14,3 @@
14 * along with this program. If not, see <http://www.gnu.org/licenses/>. 14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */ 15 */
16#include "numpad.h" 16#include "numpad.h"
17
18void matrix_init_kb(void) {
19 // put your keyboard start-up code here
20 // runs once when the firmware starts up
21
22 matrix_init_user();
23}
24
25void matrix_scan_kb(void) {
26 // put your looping keyboard code here
27 // runs every cycle (a lot)
28
29 matrix_scan_user();
30}
31
32bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
33 // put your per-action keyboard code here
34 // runs for every action, just before processing by the firmware
35
36 return process_record_user(keycode, record);
37}
38
39void led_set_kb(uint8_t usb_led) {
40 // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here
41
42 led_set_user(usb_led);
43}
diff --git a/keyboards/dc01/numpad/numpad.h b/keyboards/dc01/numpad/numpad.h
index 702926184..110f893b4 100644
--- a/keyboards/dc01/numpad/numpad.h
+++ b/keyboards/dc01/numpad/numpad.h
@@ -13,24 +13,19 @@
13 * You should have received a copy of the GNU General Public License 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/>. 14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */ 15 */
16#ifndef NUMPAD_H 16#pragma once
17#define NUMPAD_H
18 17
19#include "quantum.h" 18#include "quantum.h"
20 19
21#define XXX KC_NO 20#define XXX KC_NO
22 21
23// This a shortcut to help you visually see your layout.
24// The first section contains all of the arguments
25// The second converts the arguments into a two-dimensional array
26#define LAYOUT_numpad_5x4( \ 22#define LAYOUT_numpad_5x4( \
27 K00, K01, K02, K03, \ 23 K00, K01, K02, K03, \
28 K10, K11, K12, \ 24 K10, K11, K12, \
29 K20, K21, K22, K13, \ 25 K20, K21, K22, K13, \
30 K30, K31, K32, \ 26 K30, K31, K32, \
31 K40, K42, K43 \ 27 K40, K42, K43 \
32) \ 28) { \
33{ \
34 { K00, K01, K02, K03 }, \ 29 { K00, K01, K02, K03 }, \
35 { K10, K11, K12, K13 }, \ 30 { K10, K11, K12, K13 }, \
36 { K20, K21, K22, XXX }, \ 31 { K20, K21, K22, XXX }, \
@@ -44,13 +39,10 @@
44 K20, K21, K22, K23, \ 39 K20, K21, K22, K23, \
45 K30, K31, K32, K33, \ 40 K30, K31, K32, K33, \
46 K40, K41, K42, K43 \ 41 K40, K41, K42, K43 \
47) \ 42) { \
48{ \
49 { K00, K01, K02, K03 }, \ 43 { K00, K01, K02, K03 }, \
50 { K10, K11, K12, K13 }, \ 44 { K10, K11, K12, K13 }, \
51 { K20, K21, K22, K23 }, \ 45 { K20, K21, K22, K23 }, \
52 { K30, K31, K32, K33 }, \ 46 { K30, K31, K32, K33 }, \
53 { K40, K41, K42, K43 } \ 47 { K40, K41, K42, K43 } \
54} 48}
55
56#endif
diff --git a/keyboards/dc01/numpad/rules.mk b/keyboards/dc01/numpad/rules.mk
index 619a7cc51..b60a646e1 100644
--- a/keyboards/dc01/numpad/rules.mk
+++ b/keyboards/dc01/numpad/rules.mk
@@ -14,7 +14,7 @@ BOOTLOADER = atmel-dfu
14# Build Options 14# Build Options
15# change yes to no to disable 15# change yes to no to disable
16# 16#
17BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration 17BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
18MOUSEKEY_ENABLE = yes # Mouse keys 18MOUSEKEY_ENABLE = yes # Mouse keys
19EXTRAKEY_ENABLE = yes # Audio control and System control 19EXTRAKEY_ENABLE = yes # Audio control and System control
20CONSOLE_ENABLE = no # Console for debug 20CONSOLE_ENABLE = no # Console for debug
diff --git a/keyboards/dc01/right/config.h b/keyboards/dc01/right/config.h
index e22ea6641..60672e252 100644
--- a/keyboards/dc01/right/config.h
+++ b/keyboards/dc01/right/config.h
@@ -20,7 +20,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
20#include "config_common.h" 20#include "config_common.h"
21 21
22/* USB Device descriptor parameter */ 22/* USB Device descriptor parameter */
23#define VENDOR_ID 0xFEED 23#define VENDOR_ID 0x8968
24#define PRODUCT_ID 0x1011 24#define PRODUCT_ID 0x1011
25#define DEVICE_VER 0x0001 25#define DEVICE_VER 0x0001
26#define MANUFACTURER Mechboards 26#define MANUFACTURER Mechboards
@@ -47,10 +47,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
47/* COL2ROW, ROW2COL*/ 47/* COL2ROW, ROW2COL*/
48#define DIODE_DIRECTION COL2ROW 48#define DIODE_DIRECTION COL2ROW
49 49
50// #define BACKLIGHT_PIN B7
51// #define BACKLIGHT_BREATHING
52// #define BACKLIGHT_LEVELS 3
53
54/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ 50/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
55#define DEBOUNCE 5 51#define DEBOUNCE 5
56 52
@@ -89,53 +85,3 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
89 * 85 *
90 */ 86 */
91//#define FORCE_NKRO 87//#define FORCE_NKRO
92
93/*
94 * Magic Key Options
95 *
96 * Magic keys are hotkey commands that allow control over firmware functions of
97 * the keyboard. They are best used in combination with the HID Listen program,
98 * found here: https://www.pjrc.com/teensy/hid_listen.html
99 *
100 * The options below allow the magic key functionality to be changed. This is
101 * useful if your keyboard/keypad is missing keys and you want magic key support.
102 *
103 */
104
105/*
106 * Feature disable options
107 * These options are also useful to firmware size reduction.
108 */
109
110/* disable debug print */
111//#define NO_DEBUG
112
113/* disable print */
114//#define NO_PRINT
115
116/* disable action features */
117//#define NO_ACTION_LAYER
118//#define NO_ACTION_TAPPING
119//#define NO_ACTION_ONESHOT
120//#define NO_ACTION_MACRO
121//#define NO_ACTION_FUNCTION
122
123/*
124 * MIDI options
125 */
126
127/* enable basic MIDI features:
128 - MIDI notes can be sent when in Music mode is on
129*/
130//#define MIDI_BASIC
131
132/* enable advanced MIDI features:
133 - MIDI notes can be added to the keymap
134 - Octave shift and transpose
135 - Virtual sustain, portamento, and modulation wheel
136 - etc.
137*/
138//#define MIDI_ADVANCED
139
140/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */
141//#define MIDI_TONE_KEYCODE_OCTAVES 1 \ No newline at end of file
diff --git a/keyboards/dc01/right/info.json b/keyboards/dc01/right/info.json
index c9ae349c9..92acdf5e0 100644
--- a/keyboards/dc01/right/info.json
+++ b/keyboards/dc01/right/info.json
@@ -1,21 +1,15 @@
1{ 1{
2 "keyboard_name": "DC01 Right Half", 2 "keyboard_name": "DC01 Right Half",
3 "url": "", 3 "url": "",
4 "maintainer": "qmk", 4 "maintainer": "Yiancar-Designs",
5 "width": 8.5, 5 "width": 8.5,
6 "height": 5, 6 "height": 5,
7 "layouts": { 7 "layouts": {
8 "LAYOUT_ansi": { 8 "LAYOUT_all": {
9 "layout": [{"label":"&", "x":0.5, "y":0}, {"label":"*", "x":1.5, "y":0}, {"label":"(", "x":2.5, "y":0}, {"label":")", "x":3.5, "y":0}, {"label":"_", "x":4.5, "y":0}, {"label":"+", "x":5.5, "y":0}, {"label":"Backspace", "x":6.5, "y":0, "w":2}, {"label":"Y", "x":0, "y":1}, {"label":"U", "x":1, "y":1}, {"label":"I", "x":2, "y":1}, {"label":"O", "x":3, "y":1}, {"label":"P", "x":4, "y":1}, {"label":"{", "x":5, "y":1}, {"label":"}", "x":6, "y":1}, {"label":"|", "x":7, "y":1, "w":1.5}, {"label":"H", "x":0.25, "y":2}, {"label":"J", "x":1.25, "y":2}, {"label":"K", "x":2.25, "y":2}, {"label":"L", "x":3.25, "y":2}, {"label":":", "x":4.25, "y":2}, {"label":"\"", "x":5.25, "y":2}, {"label":"Enter", "x":6.25, "y":2, "w":2.25}, {"label":"N", "x":0.75, "y":3}, {"label":"M", "x":1.75, "y":3}, {"label":"<", "x":2.75, "y":3}, {"label":">", "x":3.75, "y":3}, {"label":"?", "x":4.75, "y":3}, {"label":"Shift", "x":5.75, "y":3, "w":2.75}, {"x":0, "y":4, "w":1.25}, {"x":1.25, "y":4, "w":2.25}, {"label":"Alt", "x":3.5, "y":4, "w":1.25}, {"label":"GUI", "x":4.75, "y":4, "w":1.25}, {"label":"Menu", "x":6, "y":4, "w":1.25}, {"label":"Ctrl", "x":7.25, "y":4, "w":1.25}] 9 "layout": [{"label":"&", "x":0.5, "y":0}, {"label":"*", "x":1.5, "y":0}, {"label":"(", "x":2.5, "y":0}, {"label":")", "x":3.5, "y":0}, {"label":"_", "x":4.5, "y":0}, {"label":"+", "x":5.5, "y":0}, {"label":"Back", "x":6.5, "y":0}, {"label":"Del", "x":7.5, "y":0}, {"label":"Y", "x":0, "y":1}, {"label":"U", "x":1, "y":1}, {"label":"I", "x":2, "y":1}, {"label":"O", "x":3, "y":1}, {"label":"P", "x":4, "y":1}, {"label":"{", "x":5, "y":1}, {"label":"}", "x":6, "y":1}, {"label":"|", "x":7, "y":1, "w":1.5}, {"label":"H", "x":0.25, "y":2}, {"label":"J", "x":1.25, "y":2}, {"label":"K", "x":2.25, "y":2}, {"label":"L", "x":3.25, "y":2}, {"label":":", "x":4.25, "y":2}, {"label":"@", "x":5.25, "y":2}, {"label":"~", "x":6.25, "y":2}, {"label":"Enter", "x":7.25, "y":2, "w":1.25}, {"label":"N", "x":0.75, "y":3}, {"label":"M", "x":1.75, "y":3}, {"label":"<", "x":2.75, "y":3}, {"label":">", "x":3.75, "y":3}, {"label":"?", "x":4.75, "y":3}, {"label":"Shift", "x":5.75, "y":3, "w":1.75}, {"label":"Shift", "x":7.5, "y":3}, {"label":"Fn", "x":0, "y":4, "w":1.25}, {"x":1.25, "y":4, "w":2.25}, {"label":"AltGr", "x":3.5, "y":4, "w":1.25}, {"label":"Win", "x":4.75, "y":4, "w":1.25}, {"label":"Menu", "x":6, "y":4, "w":1.25}, {"label":"Ctrl", "x":7.25, "y":4, "w":1.25}]
10 },
11 "LAYOUT_iso": {
12 "layout": [{"label":"&", "x":0.5, "y":0}, {"label":"*", "x":1.5, "y":0}, {"label":"(", "x":2.5, "y":0}, {"label":")", "x":3.5, "y":0}, {"label":"_", "x":4.5, "y":0}, {"label":"+", "x":5.5, "y":0}, {"label":"Backspace", "x":6.5, "y":0, "w":2}, {"label":"Y", "x":0, "y":1}, {"label":"U", "x":1, "y":1}, {"label":"I", "x":2, "y":1}, {"label":"O", "x":3, "y":1}, {"label":"P", "x":4, "y":1}, {"label":"{", "x":5, "y":1}, {"label":"}", "x":6, "y":1}, {"label":"H", "x":0.25, "y":2}, {"label":"J", "x":1.25, "y":2}, {"label":"K", "x":2.25, "y":2}, {"label":"L", "x":3.25, "y":2}, {"label":":", "x":4.25, "y":2}, {"label":"@", "x":5.25, "y":2}, {"label":"~", "x":6.25, "y":2}, {"label":"Enter", "x":7.25, "y":1, "w":1.25, "h":2}, {"label":"N", "x":0.75, "y":3}, {"label":"M", "x":1.75, "y":3}, {"label":"<", "x":2.75, "y":3}, {"label":">", "x":3.75, "y":3}, {"label":"?", "x":4.75, "y":3}, {"label":"Shift", "x":5.75, "y":3, "w":2.75}, {"x":0, "y":4, "w":1.25}, {"x":1.25, "y":4, "w":2.25}, {"label":"AltGr", "x":3.5, "y":4, "w":1.25}, {"label":"GUI", "x":4.75, "y":4, "w":1.25}, {"label":"Menu", "x":6, "y":4, "w":1.25}, {"label":"Ctrl", "x":7.25, "y":4, "w":1.25}]
13 }, 10 },
14 "LAYOUT_hhkb_ansi": { 11 "LAYOUT_ansi": {
15 "layout": [{"label":"&", "x":0.5, "y":0}, {"label":"*", "x":1.5, "y":0}, {"label":"(", "x":2.5, "y":0}, {"label":")", "x":3.5, "y":0}, {"label":"_", "x":4.5, "y":0}, {"label":"+", "x":5.5, "y":0}, {"label":"Backspace", "x":6.5, "y":0}, {"label":"~", "x":7.5, "y":0}, {"label":"Y", "x":0, "y":1}, {"label":"U", "x":1, "y":1}, {"label":"I", "x":2, "y":1}, {"label":"O", "x":3, "y":1}, {"label":"P", "x":4, "y":1}, {"label":"{", "x":5, "y":1}, {"label":"}", "x":6, "y":1}, {"label":"|", "x":7, "y":1, "w":1.5}, {"label":"H", "x":0.25, "y":2}, {"label":"J", "x":1.25, "y":2}, {"label":"K", "x":2.25, "y":2}, {"label":"L", "x":3.25, "y":2}, {"label":":", "x":4.25, "y":2}, {"label":"\"", "x":5.25, "y":2}, {"label":"Enter", "x":6.25, "y":2, "w":2.25}, {"label":"N", "x":0.75, "y":3}, {"label":"M", "x":1.75, "y":3}, {"label":"<", "x":2.75, "y":3}, {"label":">", "x":3.75, "y":3}, {"label":"?", "x":4.75, "y":3}, {"label":"Shift", "x":5.75, "y":3, "w":1.75}, {"label":"Fn", "x":7.5, "y":3}, {"x":0, "y":4, "w":1.25}, {"x":1.25, "y":4, "w":2.25}, {"label":"Alt", "x":3.5, "y":4, "w":1.25}, {"label":"GUI", "x":4.75, "y":4, "w":1.25}, {"label":"Menu", "x":6, "y":4, "w":1.25}, {"label":"Ctrl", "x":7.25, "y":4, "w":1.25}] 12 "layout": [{"label":"&", "x":0.5, "y":0}, {"label":"*", "x":1.5, "y":0}, {"label":"(", "x":2.5, "y":0}, {"label":")", "x":3.5, "y":0}, {"label":"_", "x":4.5, "y":0}, {"label":"+", "x":5.5, "y":0}, {"label":"Back", "x":6.5, "y":0}, {"label":"Del", "x":7.5, "y":0}, {"label":"Y", "x":0, "y":1}, {"label":"U", "x":1, "y":1}, {"label":"I", "x":2, "y":1}, {"label":"O", "x":3, "y":1}, {"label":"P", "x":4, "y":1}, {"label":"{", "x":5, "y":1}, {"label":"}", "x":6, "y":1}, {"label":"|", "x":7, "y":1, "w":1.5}, {"label":"H", "x":0.25, "y":2}, {"label":"J", "x":1.25, "y":2}, {"label":"K", "x":2.25, "y":2}, {"label":"L", "x":3.25, "y":2}, {"label":":", "x":4.25, "y":2}, {"label":"@", "x":5.25, "y":2}, {"label":"Enter", "x":6.25, "y":2, "w":2.25}, {"label":"N", "x":0.75, "y":3}, {"label":"M", "x":1.75, "y":3}, {"label":"<", "x":2.75, "y":3}, {"label":">", "x":3.75, "y":3}, {"label":"?", "x":4.75, "y":3}, {"label":"Shift", "x":5.75, "y":3, "w":1.75}, {"label":"Shift", "x":7.5, "y":3}, {"label":"Fn", "x":0, "y":4, "w":1.25}, {"x":1.25, "y":4, "w":2.25}, {"label":"AltGr", "x":3.5, "y":4, "w":1.25}, {"label":"Win", "x":4.75, "y":4, "w":1.25}, {"label":"Menu", "x":6, "y":4, "w":1.25}, {"label":"Ctrl", "x":7.25, "y":4, "w":1.25}]
16 }, 13 }
17 "LAYOUT_hhkb_iso": {
18 "layout": [{"label":"&", "x":0.5, "y":0}, {"label":"*", "x":1.5, "y":0}, {"label":"(", "x":2.5, "y":0}, {"label":")", "x":3.5, "y":0}, {"label":"_", "x":4.5, "y":0}, {"label":"+", "x":5.5, "y":0}, {"label":"|", "x":6.5, "y":0}, {"label":"Backspace", "x":7.5, "y":0}, {"label":"Y", "x":0, "y":1}, {"label":"U", "x":1, "y":1}, {"label":"I", "x":2, "y":1}, {"label":"O", "x":3, "y":1}, {"label":"P", "x":4, "y":1}, {"label":"{", "x":5, "y":1}, {"label":"}", "x":6, "y":1}, {"label":"H", "x":0.25, "y":2}, {"label":"J", "x":1.25, "y":2}, {"label":"K", "x":2.25, "y":2}, {"label":"L", "x":3.25, "y":2}, {"label":":", "x":4.25, "y":2}, {"label":"@", "x":5.25, "y":2}, {"label":"~", "x":6.25, "y":2}, {"label":"Enter", "x":7.25, "y":1, "w":1.25, "h":2}, {"label":"N", "x":0.75, "y":3}, {"label":"M", "x":1.75, "y":3}, {"label":"<", "x":2.75, "y":3}, {"label":">", "x":3.75, "y":3}, {"label":"?", "x":4.75, "y":3}, {"label":"Shift", "x":5.75, "y":3, "w":1.75}, {"label":"Fn", "x":7.5, "y":3}, {"x":0, "y":4, "w":1.25}, {"x":1.25, "y":4, "w":2.25}, {"label":"AltGr", "x":3.5, "y":4, "w":1.25}, {"label":"GUI", "x":4.75, "y":4, "w":1.25}, {"label":"Menu", "x":6, "y":4, "w":1.25}, {"label":"Ctrl", "x":7.25, "y":4, "w":1.25}]
19 }
20 } 14 }
21} 15}
diff --git a/keyboards/dc01/right/keymaps/default/keymap.c b/keyboards/dc01/right/keymaps/default/keymap.c
index 628351cfa..1bf026f3d 100644
--- a/keyboards/dc01/right/keymaps/default/keymap.c
+++ b/keyboards/dc01/right/keymaps/default/keymap.c
@@ -17,22 +17,16 @@
17 17
18const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 18const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
19[0] = LAYOUT_ansi( /* Base */ 19[0] = LAYOUT_ansi( /* Base */
20 KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, \ 20 KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV,
21 KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC,KC_BSLS, \ 21 KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC,KC_BSPC,
22 KC_H, KC_J, KC_K, KC_L, KC_SCLN,KC_QUOT, KC_ENT, \ 22 KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
23 KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH, KC_RSFT, \ 23 KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,MO(1),
24 KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_RGUI, KC_RCTL \ 24 KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_RGUI, KC_RCTL),
25),
26};
27
28void matrix_init_user(void) {
29
30}
31 25
32void matrix_scan_user(void) { 26[1] = LAYOUT_ansi( /* Empty for Dynamic keymap */
33 27 KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL,
34} 28 KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, KC_TRNS, KC_BSPC,
35 29 KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, KC_PENT,
36bool process_record_user(uint16_t keycode, keyrecord_t *record) { 30 KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN, KC_TRNS, KC_TRNS,
37 return true; 31 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
38} \ No newline at end of file 32};
diff --git a/keyboards/dc01/right/keymaps/default/readme.md b/keyboards/dc01/right/keymaps/default/readme.md
index 25567a4d3..50a56f610 100644
--- a/keyboards/dc01/right/keymaps/default/readme.md
+++ b/keyboards/dc01/right/keymaps/default/readme.md
@@ -1,3 +1,3 @@
1# The default ANSI keymap for DC01 Right 1# The default ANSI keymap for DC01 Right
2 2
3When using the right module individually, this keymap will take effect. When using the keyboard as a whole please edit the keymap of the left module. \ No newline at end of file 3When using the right module individually, this keymap will take effect. When using the keyboard as a whole please edit the keymap of the left module.
diff --git a/keyboards/dc01/right/keymaps/hhkb_ansi/keymap.c b/keyboards/dc01/right/keymaps/hhkb_ansi/keymap.c
deleted file mode 100644
index 6f9d537e1..000000000
--- a/keyboards/dc01/right/keymaps/hhkb_ansi/keymap.c
+++ /dev/null
@@ -1,46 +0,0 @@
1/* Copyright 2018 Yiancar
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_hhkb_ansi( /* Base */
20 KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV, \
21 KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC,KC_BSPC, \
22 KC_H, KC_J, KC_K, KC_L, KC_SCLN,KC_QUOT, KC_ENT, \
23 KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH, KC_RSFT,MO(1), \
24 KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_RGUI, KC_RCTL \
25),
26
27[1] = LAYOUT_hhkb_ansi(
28 KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL, \
29 KC_TRNS,KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, KC_TRNS, KC_BSPC, \
30 KC_PAST,KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, KC_PENT, \
31 KC_PPLS,KC_PMNS, KC_END, KC_PGDN, KC_DOWN, KC_TRNS, KC_TRNS, \
32 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS \
33),
34};
35
36void matrix_init_user(void) {
37
38}
39
40void matrix_scan_user(void) {
41
42}
43
44bool process_record_user(uint16_t keycode, keyrecord_t *record) {
45 return true;
46} \ No newline at end of file
diff --git a/keyboards/dc01/right/keymaps/hhkb_ansi/readme.md b/keyboards/dc01/right/keymaps/hhkb_ansi/readme.md
deleted file mode 100644
index e3025fe3e..000000000
--- a/keyboards/dc01/right/keymaps/hhkb_ansi/readme.md
+++ /dev/null
@@ -1,3 +0,0 @@
1# The default HHKB ANSI keymap for DC01 Right
2
3When using the right module individually, this keymap will take effect. When using the keyboard as a whole please edit the keymap of the left module. \ No newline at end of file
diff --git a/keyboards/dc01/right/keymaps/hhkb_iso/keymap.c b/keyboards/dc01/right/keymaps/hhkb_iso/keymap.c
deleted file mode 100644
index 72ba350f3..000000000
--- a/keyboards/dc01/right/keymaps/hhkb_iso/keymap.c
+++ /dev/null
@@ -1,46 +0,0 @@
1/* Copyright 2018 Yiancar
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_hhkb_iso( /* Base */
20 KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_BSPC, \
21 KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, \
22 KC_H, KC_J, KC_K, KC_L, KC_SCLN,KC_QUOT, KC_NUHS,KC_ENT, \
23 KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH, KC_RSFT,MO(1), \
24 KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_RGUI, KC_RCTL \
25),
26
27[1] = LAYOUT_hhkb_iso(
28 KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL, \
29 KC_TRNS,KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, KC_TRNS, \
30 KC_PAST,KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, KC_TRNS, KC_PENT, \
31 KC_PPLS,KC_PMNS, KC_END, KC_PGDN, KC_DOWN, KC_TRNS, KC_TRNS, \
32 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS \
33),
34};
35
36void matrix_init_user(void) {
37
38}
39
40void matrix_scan_user(void) {
41
42}
43
44bool process_record_user(uint16_t keycode, keyrecord_t *record) {
45 return true;
46} \ No newline at end of file
diff --git a/keyboards/dc01/right/keymaps/hhkb_iso/readme.md b/keyboards/dc01/right/keymaps/hhkb_iso/readme.md
deleted file mode 100644
index 36cae20ac..000000000
--- a/keyboards/dc01/right/keymaps/hhkb_iso/readme.md
+++ /dev/null
@@ -1,3 +0,0 @@
1# The default HHKB ISO keymap for DC01 Right
2
3When using the right module individually, this keymap will take effect. When using the keyboard as a whole please edit the keymap of the left module. \ No newline at end of file
diff --git a/keyboards/dc01/right/keymaps/iso/readme.md b/keyboards/dc01/right/keymaps/iso/readme.md
deleted file mode 100644
index 250169ed5..000000000
--- a/keyboards/dc01/right/keymaps/iso/readme.md
+++ /dev/null
@@ -1,3 +0,0 @@
1# The default ISO keymap for DC01 Right
2
3When using the right module individually, this keymap will take effect. When using the keyboard as a whole please edit the keymap of the left module. \ No newline at end of file
diff --git a/keyboards/dc01/right/keymaps/via/keymap.c b/keyboards/dc01/right/keymaps/via/keymap.c
new file mode 100644
index 000000000..92495e6d2
--- /dev/null
+++ b/keyboards/dc01/right/keymaps/via/keymap.c
@@ -0,0 +1,46 @@
1/* Copyright 2018 Yiancar
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_all( /* Base */
20 KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV,
21 KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC,
22 KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT,
23 KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1),
24 KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_RGUI, KC_RCTL),
25
26[1] = LAYOUT_all( /* FN */
27 KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL,
28 KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, KC_TRNS, KC_BSPC,
29 KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, KC_TRNS, KC_PENT,
30 KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN, KC_TRNS, KC_TRNS,
31 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
32
33[2] = LAYOUT_all( /* Empty for Dynamic keymap */
34 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
35 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
36 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
37 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
38 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
39
40[3] = LAYOUT_all( /* Empty for Dynamic keymap */
41 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
42 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
43 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
44 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
45 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
46};
diff --git a/keyboards/dc01/right/keymaps/via/readme.md b/keyboards/dc01/right/keymaps/via/readme.md
new file mode 100644
index 000000000..a2c2fb0cd
--- /dev/null
+++ b/keyboards/dc01/right/keymaps/via/readme.md
@@ -0,0 +1,11 @@
1# The default VIA keymap for DC01 Left
2
3Please use this for ISO as well.
4
5The keymap looks like a full layout keymap.
6
7This is because the left part of the keyboard acts as the masterm coordinating all four part.
8
9When using the keyboard to connect the other three parts, this keymap overwrites the individual keymaps of the single modules.
10
11When using a module individually, the keymap of that module will take effect.
diff --git a/keyboards/dc01/right/keymaps/via/rules.mk b/keyboards/dc01/right/keymaps/via/rules.mk
new file mode 100755
index 000000000..1e5b99807
--- /dev/null
+++ b/keyboards/dc01/right/keymaps/via/rules.mk
@@ -0,0 +1 @@
VIA_ENABLE = yes
diff --git a/keyboards/dc01/right/matrix.c b/keyboards/dc01/right/matrix.c
index 833845343..544c8dc53 100644
--- a/keyboards/dc01/right/matrix.c
+++ b/keyboards/dc01/right/matrix.c
@@ -31,8 +31,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
31#include "timer.h" 31#include "timer.h"
32#include "i2c_slave.h" 32#include "i2c_slave.h"
33#include "lufa.h" 33#include "lufa.h"
34#include "quantum.h"
34 35
35#define SLAVE_I2C_ADDRESS 0x19 36#define SLAVE_I2C_ADDRESS 0x32
36 37
37/* Set 0 if debouncing isn't needed */ 38/* Set 0 if debouncing isn't needed */
38 39
@@ -196,12 +197,10 @@ uint8_t matrix_scan(void)
196 } 197 }
197# endif 198# endif
198 199
199 if (USB_DeviceState != DEVICE_STATE_Configured){ 200 i2c_slave_reg[1] = 0x55;
200 i2c_slave_reg[1] = 0x55; 201 for (uint8_t i = 0; i < MATRIX_ROWS; i++){
201 for (uint8_t i = 0; i < MATRIX_ROWS; i++){ 202 i2c_slave_reg[i+2] = matrix[i]; //send matrix over i2c
202 i2c_slave_reg[i+2] = matrix[i]; //send matrix over i2c 203 }
203 }
204 }
205 204
206 matrix_scan_quantum(); 205 matrix_scan_quantum();
207 return 1; 206 return 1;
@@ -396,9 +395,6 @@ static void unselect_cols(void)
396 395
397//this replases tmk code 396//this replases tmk code
398void matrix_setup(void){ 397void matrix_setup(void){
399 398 i2c_slave_init(SLAVE_I2C_ADDRESS); //setup address of slave i2c
400 if (USB_DeviceState != DEVICE_STATE_Configured){ 399 sei(); //enable interupts
401 i2c_slave_init(SLAVE_I2C_ADDRESS); //setup address of slave i2c
402 sei(); //enable interupts
403 }
404} \ No newline at end of file 400} \ No newline at end of file
diff --git a/keyboards/dc01/right/right.c b/keyboards/dc01/right/right.c
index fc2dead4c..bbb1d568c 100644
--- a/keyboards/dc01/right/right.c
+++ b/keyboards/dc01/right/right.c
@@ -14,30 +14,3 @@
14 * along with this program. If not, see <http://www.gnu.org/licenses/>. 14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */ 15 */
16#include "right.h" 16#include "right.h"
17
18void matrix_init_kb(void) {
19 // put your keyboard start-up code here
20 // runs once when the firmware starts up
21
22 matrix_init_user();
23}
24
25void matrix_scan_kb(void) {
26 // put your looping keyboard code here
27 // runs every cycle (a lot)
28
29 matrix_scan_user();
30}
31
32bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
33 // put your per-action keyboard code here
34 // runs for every action, just before processing by the firmware
35
36 return process_record_user(keycode, record);
37}
38
39void led_set_kb(uint8_t usb_led) {
40 // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here
41
42 led_set_user(usb_led);
43}
diff --git a/keyboards/dc01/right/right.h b/keyboards/dc01/right/right.h
index d27b1a4f7..55616ec03 100644
--- a/keyboards/dc01/right/right.h
+++ b/keyboards/dc01/right/right.h
@@ -13,74 +13,36 @@
13 * You should have received a copy of the GNU General Public License 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/>. 14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */ 15 */
16#ifndef RIGHT_H 16#pragma once
17#define RIGHT_H
18 17
19#include "quantum.h" 18#include "quantum.h"
20 19
21#define XXX KC_NO 20#define XXX KC_NO
22 21
23// This a shortcut to help you visually see your layout. 22#define LAYOUT_all( \
24// The first section contains all of the arguments
25// The second converts the arguments into a two-dimensional array
26#define LAYOUT_ansi( \
27 K01, K02, K03, K04, K05, K06, K07, \
28 K10, K11, K12, K13, K14, K15, K16, K17, \
29 K20, K21, K22, K23, K24, K25, K27, \
30 K30, K31, K32, K33, K34, K37, \
31 K40, K41, K42, K43, K44, K45 \
32) \
33{ \
34 { XXX, K01, K02, K03, K04, K05, K06, K07 }, \
35 { K10, K11, K12, K13, K14, K15, K16, K17 }, \
36 { K20, K21, K22, K23, K24, K25, XXX, K27 }, \
37 { K30, K31, K32, K33, K34, XXX, XXX, K37 }, \
38 { K40, K41, K42, K43, K44, K45, XXX, XXX } \
39}
40
41#define LAYOUT_iso( \
42 K01, K02, K03, K04, K05, K06, K07, \
43 K10, K11, K12, K13, K14, K15, K16, \
44 K20, K21, K22, K23, K24, K25, K26, K27, \
45 K30, K31, K32, K33, K34, K37, \
46 K40, K41, K42, K43, K44, K45 \
47) \
48{ \
49 { XXX, K01, K02, K03, K04, K05, K06, K07 }, \
50 { K10, K11, K12, K13, K14, K15, K16, XXX }, \
51 { K20, K21, K22, K23, K24, K25, K26, K27 }, \
52 { K30, K31, K32, K33, K34, XXX, XXX, K37 }, \
53 { K40, K41, K42, K43, K44, K45, XXX, XXX } \
54}
55
56#define LAYOUT_hhkb_ansi( \
57 K01, K02, K03, K04, K05, K06, K07, K00, \ 23 K01, K02, K03, K04, K05, K06, K07, K00, \
58 K10, K11, K12, K13, K14, K15, K16, K17, \ 24 K10, K11, K12, K13, K14, K15, K16, K17, \
59 K20, K21, K22, K23, K24, K25, K27, \ 25 K20, K21, K22, K23, K24, K25, K26, K27, \
60 K30, K31, K32, K33, K34, K36, K37, \ 26 K30, K31, K32, K33, K34, K36, K37, \
61 K40, K41, K42, K43, K44, K45 \ 27 K40, K41, K42, K43, K44, K45 \
62) \ 28) { \
63{ \
64 { K00, K01, K02, K03, K04, K05, K06, K07 }, \ 29 { K00, K01, K02, K03, K04, K05, K06, K07 }, \
65 { K10, K11, K12, K13, K14, K15, K16, K17 }, \ 30 { K10, K11, K12, K13, K14, K15, K16, K17 }, \
66 { K20, K21, K22, K23, K24, K25, XXX, K27 }, \ 31 { K20, K21, K22, K23, K24, K25, K26, K27 }, \
67 { K30, K31, K32, K33, K34, XXX, K36, K37 }, \ 32 { K30, K31, K32, K33, K34, XXX, K36, K37 }, \
68 { K40, K41, K42, K43, K44, K45, XXX, XXX } \ 33 { K40, K41, K42, K43, K44, K45, XXX, XXX } \
69} 34}
70 35
71#define LAYOUT_hhkb_iso( \ 36#define LAYOUT_ansi( \
72 K01, K02, K03, K04, K05, K06, K07, K00, \ 37 K01, K02, K03, K04, K05, K06, K07, K00, \
73 K10, K11, K12, K13, K14, K15, K16, \ 38 K10, K11, K12, K13, K14, K15, K16, K17, \
74 K20, K21, K22, K23, K24, K25, K26, K27, \ 39 K20, K21, K22, K23, K24, K25, K27, \
75 K30, K31, K32, K33, K34, K36, K37, \ 40 K30, K31, K32, K33, K34, K36, K37, \
76 K40, K41, K42, K43, K44, K45 \ 41 K40, K41, K42, K43, K44, K45 \
77) \ 42) { \
78{ \
79 { K00, K01, K02, K03, K04, K05, K06, K07 }, \ 43 { K00, K01, K02, K03, K04, K05, K06, K07 }, \
80 { K10, K11, K12, K13, K14, K15, K16, XXX }, \ 44 { K10, K11, K12, K13, K14, K15, K16, K17 }, \
81 { K20, K21, K22, K23, K24, K25, K26, K27 }, \ 45 { K20, K21, K22, K23, K24, K25, XXX, K27 }, \
82 { K30, K31, K32, K33, K34, XXX, K36, K37 }, \ 46 { K30, K31, K32, K33, K34, XXX, K36, K37 }, \
83 { K40, K41, K42, K43, K44, K45, XXX, XXX } \ 47 { K40, K41, K42, K43, K44, K45, XXX, XXX } \
84} 48}
85
86#endif
diff --git a/keyboards/dc01/right/rules.mk b/keyboards/dc01/right/rules.mk
index 5eacd0ae2..17de05bc7 100644
--- a/keyboards/dc01/right/rules.mk
+++ b/keyboards/dc01/right/rules.mk
@@ -14,7 +14,7 @@ BOOTLOADER = atmel-dfu
14# Build Options 14# Build Options
15# change yes to no to disable 15# change yes to no to disable
16# 16#
17BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration 17BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
18MOUSEKEY_ENABLE = yes # Mouse keys 18MOUSEKEY_ENABLE = yes # Mouse keys
19EXTRAKEY_ENABLE = yes # Audio control and System control 19EXTRAKEY_ENABLE = yes # Audio control and System control
20CONSOLE_ENABLE = no # Console for debug 20CONSOLE_ENABLE = no # Console for debug