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.json215
-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
13 files changed, 585 insertions, 242 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 ddbd34a7c..780369c1b 100644
--- a/keyboards/amj40/info.json
+++ b/keyboards/amj40/info.json
@@ -1,13 +1,208 @@
1{ 1{
2 "keyboard_name": "AMJ40", 2 "keyboard_name": "AMJ40",
3 "url": "", 3 "url": "",
4 "maintainer": "qmk", 4 "maintainer": "qmk",
5 "bootloader": "", 5 "width": 12,
6 "width": 12, 6 "height": 4,
7 "height": 4, 7 "layouts": {
8 "layouts": { 8 "LAYOUT": {
9 "LAYOUT": { 9 "layout": [
10 "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}] 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 }
11 } 207 }
12 }
13} 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