aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJames Young <18669334+noroadsleft@users.noreply.github.com>2021-07-13 06:46:20 -0700
committerGitHub <noreply@github.com>2021-07-13 06:46:20 -0700
commitbf70db479c6b027c670bb0e261f4202864525970 (patch)
treec0f7279b15ef9e4ef9fbbd5633bd1162a9aaf524
parentb89abc402bdc70362dbb6d938eafaa8716b5d4ac (diff)
downloadqmk_firmware-bf70db479c6b027c670bb0e261f4202864525970.tar.gz
qmk_firmware-bf70db479c6b027c670bb0e261f4202864525970.zip
AMJ60 Refactor (#13530)
* rename LAYOUT to LAYOUT_all * refactor default keymap - add license header - use layer_names enum - use LAYOUT_all macro - update keymap to be more generic - use QMK-native keycode aliases * info.json: human-friendly formatting * convert LAYOUT_iso into a proper LAYOUT_60_iso * LAYOUT_all bugfix In the physical sense, position k3d is to the left of k3c. * rework LAYOUT_max into LAYOUT_60_ansi_split_bs_rshift * remove LAYOUT_iso_splitrshift and iso_split_rshift keymap * rework LAYOUT_hhkb into LAYOUT_60_hhkb * amj60.h cleanup - add license header - use #pragma once include guard - concatenate layout block comments - remove unnecessary function headers * add license header to amj60.c * align config.h to QMK template * align rules.mk to QMK template * enable Community Layout support * modernize readme.md - add PCB image - convert keyboard data to list - add flashing and bootloader instructions - update Docs links
-rw-r--r--keyboards/amj60/amj60.c16
-rw-r--r--keyboards/amj60/amj60.h158
-rw-r--r--keyboards/amj60/config.h82
-rw-r--r--keyboards/amj60/info.json381
-rw-r--r--keyboards/amj60/keymaps/default/keymap.c75
-rwxr-xr-xkeyboards/amj60/keymaps/iso_split_rshift/build.sh42
-rw-r--r--keyboards/amj60/keymaps/iso_split_rshift/keymap.c113
-rw-r--r--keyboards/amj60/keymaps/iso_split_rshift/readme.md30
-rw-r--r--keyboards/amj60/keymaps/iso_split_rshift/rules.mk20
-rwxr-xr-xkeyboards/amj60/keymaps/iso_split_rshift/updatemerge.sh4
-rw-r--r--keyboards/amj60/keymaps/maximized/keymap.c55
-rw-r--r--keyboards/amj60/readme.md22
-rw-r--r--keyboards/amj60/rules.mk36
13 files changed, 563 insertions, 471 deletions
diff --git a/keyboards/amj60/amj60.c b/keyboards/amj60/amj60.c
index 02aa116d5..af0539a67 100644
--- a/keyboards/amj60/amj60.c
+++ b/keyboards/amj60/amj60.c
@@ -1 +1,17 @@
1/* Copyright 2016 Toni (@toneman77)
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 "amj60.h" 17#include "amj60.h"
diff --git a/keyboards/amj60/amj60.h b/keyboards/amj60/amj60.h
index 07b406868..feda68003 100644
--- a/keyboards/amj60/amj60.h
+++ b/keyboards/amj60/amj60.h
@@ -1,5 +1,21 @@
1#ifndef AMJ60_H 1/* Copyright 2016 Toni (@toneman77)
2#define AMJ60_H 2 * 2021 James Young for QMK (@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
@@ -7,23 +23,43 @@
7#define XXX KC_NO 23#define XXX KC_NO
8 24
9/* AMJ60 layout to the best of my knowledge matrix layout 25/* AMJ60 layout to the best of my knowledge matrix layout
10 * ,-----------------------------------------------------------. 26 *
11 * | 00 |01| 02| 03| 04| 05| 06| 07| 08| 09| 0a| 0b| 0c| 0d| 49| 27 * I scoured the internet researching this PCB, which near as I know was
12 * |-----------------------------------------------------------| 28 * discontinued around 2017. Fortunately, the wiring seems to be based on the
13 * | 10 | 11| 12| 13| 14| 15| 16| 17| 18| 19| 1a| 1b| 1c| 1d | 29 * GH60, and I own a KC60, which is also based on the GH60. I traced my KC60
14 * |-----------------------------------------------------------| 30 * (which I already had apart!) and worked out the right shift can be split
15 * | 20 | 21| 22| 23| 24| 25| 26| 27| 28| 29| 2a| 2b| 2d | 31 * 1.75/1 (HHKB style) or 1/1.75 (JIS/ABNT2). With either split, the 1u key
16 * |-----------------------------------------------------------| 32 * was on column C, so I used that here.
17 * | 30 | 31| 32| 33| 34| 35| 36| 37| 38| 39| 3a| 3b| 3c | 3d | 33 *
18 * |-----------------------------------------------------------| 34 * - noroadsleft
19 * | 40 | 41 | 42 | 45 | 4a | 4b | 4c | 4d | 35 *
20 * `-----------------------------------------------------------' 36 * ┌───────┐
37 * 2u Backspace │0d │
38 * └───────┘
39 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
40 * │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0a │0b │0c │0d │49 │ ┌─────┐
41 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤ │ │
42 * │10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1a │1b │1c │1d │ ┌──┴┐ │ ISO Enter
43 * 2.25u ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬────┤ │2c │2d │
44 * LShift │20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2a │2b │2c │2d │ └───┴────┘
45 * ┌────────┐ ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴┬───┤ ┌──────────┐
46 * │30 │ │30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3a │3b │3d │3c │ │3d │ 2.75u RShift
47 * └────────┘ ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬┴───┤ └──────────┘
48 * │40 │41 │42 │ 45 │4a │4b │4c │4d │ ┌───┬──────┐
49 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ │3c │3d │ JIS RShift
50 * ┌─────┬───┬─────┬───────────────────────────┬─────┬───┬─────┐ └───┴──────┘
51 * Tsangan │40 │41 │42 │ 45 │4b │4c │4d │
52 * └─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘
53 * ┌─────┬───┬─────┬───────────────────────┬─────┬───┬───┬─────┐
54 * Topre-style │40 │41 │42 │ 45 │4a │4b │4c │4d │
55 * └─────┴───┴─────┴───────────────────────┴─────┴───┴───┴─────┘
56 *
21 */ 57 */
22#define LAYOUT( \ 58#define LAYOUT_all( \
23 k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k49,\ 59 k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k49,\
24 k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, \ 60 k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, \
25 k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, \ 61 k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, \
26 k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, \ 62 k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3d, k3c, \
27 k40, k41, k42, k45, k4a, k4b, k4c, k4d \ 63 k40, k41, k42, k45, k4a, k4b, k4c, k4d \
28) \ 64) \
29{ \ 65{ \
@@ -34,20 +70,6 @@
34 {k40, k41, k42, XXX, XXX, k45, XXX, XXX, XXX, k49, k4a, k4b, k4c, k4d} \ 70 {k40, k41, k42, XXX, XXX, k45, XXX, XXX, XXX, k49, k4a, k4b, k4c, k4d} \
35} 71}
36 72
37/*
38 * ANSI
39 * ,-----------------------------------------------------------.
40 * | 00 |01| 02| 03| 04| 05| 06| 07| 08| 09| 0a| 0b| 0c| 0d |
41 * |-----------------------------------------------------------|
42 * | 10 | 11| 12| 13| 14| 15| 16| 17| 18| 19| 1a| 1b| 1c| 1d |
43 * |-----------------------------------------------------------|
44 * | 20 | 21| 22| 23| 24| 25| 26| 27| 28| 29| 2a| 2b| 2d |
45 * |-----------------------------------------------------------|
46 * | 30 | 32| 33| 34| 35| 36| 37| 38| 39| 3a| 3b| 3d |
47 * |-----------------------------------------------------------|
48 * | 40 | 41 | 42 | 45 | 4a | 4b | 4c | 4d |
49 * `-----------------------------------------------------------'
50 */
51#define LAYOUT_60_ansi( \ 73#define LAYOUT_60_ansi( \
52 k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, \ 74 k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, \
53 k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, \ 75 k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, \
@@ -63,107 +85,47 @@
63 {k40, k41, k42, XXX, XXX, k45, XXX, XXX, XXX, XXX, k4a, k4b, k4c, k4d} \ 85 {k40, k41, k42, XXX, XXX, k45, XXX, XXX, XXX, XXX, k4a, k4b, k4c, k4d} \
64} 86}
65 87
66/* AMJ60 HHKB matrix layout 88#define LAYOUT_60_hhkb( \
67 * ,------------------------------------------------------------.
68 * | 00 |01| 02| 03| 04| 05| 06| 07| 08| 09| 0a| 0b| 0c| 0d| 49 |
69 * |------------------------------------------------------------|
70 * | 10 | 11| 12| 13| 14| 15| 16| 17| 18| 19| 1a| 1b| 1c| 1d |
71 * |------------------------------------------------------------|
72 * | 20 | 21| 22| 23| 24| 25| 26| 27| 28| 29| 2a| 2b| 2d |
73 * |------------------------------------------------------------|
74 * | 30 | 32| 33| 34| 35| 36| 37| 38| 39| 3a| 3b| 3d | 3c |
75 * |------------------------------------------------------------|
76 * | 40 | 41 | 42 | 45 | 4a | 4b | 4c | 4d |
77 * `------------------------------------------------------------'
78 */
79
80#define LAYOUT_hhkb( \
81 k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k49, \ 89 k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k49, \
82 k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, \ 90 k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, \
83 k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2d, \ 91 k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2d, \
84 k30, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3d, k3c, \ 92 k30, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3d, k3c, \
85 k40, k41, k42, k45, k4a, k4b, k4c, k4d \ 93 k41, k42, k45, k4b, k4c \
86) \ 94) \
87{ \ 95{ \
88 {k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d}, \ 96 {k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d}, \
89 {k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d}, \ 97 {k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d}, \
90 {k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, XXX, k2d}, \ 98 {k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, XXX, k2d}, \
91 {k30, XXX, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d}, \ 99 {k30, XXX, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d}, \
92 {k40, k41, k42, XXX, XXX, k45, XXX, XXX, XXX, k49, k4a, k4b, k4c, k4d} \ 100 {XXX, k41, k42, XXX, XXX, k45, XXX, XXX, XXX, k49, XXX, k4b, k4c, XXX} \
93} 101}
94 102
95/* ISO 103#define LAYOUT_60_iso( \
96 * ,-----------------------------------------------------------.
97 * | 00 |01| 02| 03| 04| 05| 06| 07| 08| 09| 0a| 0b| 0c| 0d |
98 * |-----------------------------------------------------------|
99 * | 10 | 11| 12| 13| 14| 15| 16| 17| 18| 19| 1a| 1b| 1c| 1d |
100 * |-----------------------------------------------------------|
101 * | 20 | 21| 22| 23| 24| 25| 26| 27| 28| 29| 2a| 2b| 2c|2d |
102 * |-----------------------------------------------------------|
103 * | 30 | 31| 32| 33| 34| 35| 36| 37| 38| 39| 3a| 3b| 3d |
104 * |-----------------------------------------------------------|
105 * | 40 | 41 | 42 | 45 | 4a | 4b | 4c | 4d |
106 * `-----------------------------------------------------------'
107 */
108#define LAYOUT_iso( \
109 k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, \ 104 k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, \
110 k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, \ 105 k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, \
111 k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, \ 106 k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, \
112 k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3d, \ 107 k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3d, \
113 k40, k41, k42, k45, k4a, k4b, k4c, k4d \ 108 k40, k41, k42, k45, k4a, k4b, k4c, k4d \
114) \ 109) \
115{ \ 110{ \
116 {k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d}, \ 111 {k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d}, \
117 {k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d}, \ 112 {k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, XXX}, \
118 {k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d}, \ 113 {k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d}, \
119 {k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, XXX, k3d}, \ 114 {k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, XXX, k3d}, \
120 {k40, k41, k42, XXX, XXX, k45, XXX, XXX, XXX, XXX, k4a, k4b, k4c, k4d} \ 115 {k40, k41, k42, XXX, XXX, k45, XXX, XXX, XXX, XXX, k4a, k4b, k4c, k4d} \
121} 116}
122 117
123/* ISO w/ split right shift key matrix layout 118#define LAYOUT_60_ansi_split_bs_rshift( \
124 * ,-----------------------------------------------------------.
125 * | 00 |01| 02| 03| 04| 05| 06| 07| 08| 09| 0a| 0b| 0c| 0d |
126 * |-----------------------------------------------------------|
127 * | 10 | 11| 12| 13| 14| 15| 16| 17| 18| 19| 1a| 1b| 1c| 1d |
128 * |-----------------------------------------------------------|
129 * | 20 | 21| 22| 23| 24| 25| 26| 27| 28| 29| 2a| 2b| 2c|2d |
130 * |-----------------------------------------------------------|
131 * | 30 | 31| 32| 33| 34| 35| 36| 37| 38| 39| 3a| 3b| 3d | 3c |
132 * |-----------------------------------------------------------|
133 * | 40 | 41 | 42 | 45 | 4a | 4b | 4c | 4d |
134 * `-----------------------------------------------------------'
135 */
136#define LAYOUT_iso_splitrshift( \
137 k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, \
138 k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, \
139 k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, \
140 k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3d, k3c, \
141 k40, k41, k42, k45, k4a, k4b, k4c, k4d \
142) \
143{ \
144 {k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d}, \
145 {k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d}, \
146 {k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d}, \
147 {k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d}, \
148 {k40, k41, k42, XXX, XXX, k45, XXX, XXX, XXX, XXX, k4a, k4b, k4c, k4d} \
149}
150
151#define LAYOUT_max( \
152 k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k49,\ 119 k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k49,\
153 k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, \ 120 k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, \
154 k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2d, \ 121 k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2d, \
155 k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3d, k3c, \ 122 k30, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3d, k3c, \
156 k40, k41, k42, k45, k4a, k4b, k4c, k4d \ 123 k40, k41, k42, k45, k4a, k4b, k4c, k4d \
157) \ 124) \
158{ \ 125{ \
159 {k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d}, \ 126 {k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d}, \
160 {k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d}, \ 127 {k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d}, \
161 {k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, XXX, k2d}, \ 128 {k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, XXX, k2d}, \
162 {k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d}, \ 129 {k30, XXX, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d}, \
163 {k40, k41, k42, XXX, XXX, k45, XXX, XXX, XXX, k49, k4a, k4b, k4c, k4d} \ 130 {k40, k41, k42, XXX, XXX, k45, XXX, XXX, XXX, k49, k4a, k4b, k4c, k4d} \
164} 131}
165
166void matrix_init_user(void);
167void matrix_scan_user(void);
168
169#endif
diff --git a/keyboards/amj60/config.h b/keyboards/amj60/config.h
index 008539368..8d53efd3f 100644
--- a/keyboards/amj60/config.h
+++ b/keyboards/amj60/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
@@ -31,46 +30,69 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
31#define MATRIX_ROWS 5 30#define MATRIX_ROWS 5
32#define MATRIX_COLS 14 31#define MATRIX_COLS 14
33 32
34// ROWS: Top to bottom, COLS: Left to right 33/*
35 34 * Keyboard Matrix Assignments
36#define MATRIX_ROW_PINS { F7, F6, F5, F4, D5} 35 *
37#define MATRIX_COL_PINS { F1, F0, E6, C7, C6, B0, D4, B1, B7, B5, B4, D7, D6, B3} 36 * Change this to how you wired your keyboard
37 * COLS: AVR pins used for columns, left to right
38 * ROWS: AVR pins used for rows, top to bottom
39 * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
40 * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
41 *
42 */
43#define MATRIX_ROW_PINS { F7, F6, F5, F4, D5 }
44#define MATRIX_COL_PINS { F1, F0, E6, C7, C6, B0, D4, B1, B7, B5, B4, D7, D6, B3 }
38#define UNUSED_PINS 45#define UNUSED_PINS
39 46
40/* COL2ROW or ROW2COL */ 47/* COL2ROW, ROW2COL */
41#define DIODE_DIRECTION COL2ROW 48#define DIODE_DIRECTION COL2ROW
42 49
43#define LED_CAPS_LOCK_PIN B2 50#define LED_CAPS_LOCK_PIN B2
44#define LED_PIN_ON_STATE 0 51#define LED_PIN_ON_STATE 0
45 52
46#define BACKLIGHT_PIN B6 53#define BACKLIGHT_PIN B6
54#define BACKLIGHT_LEVELS 4
55#define BACKLIGHT_BREATHING
47 56
57#define RGB_DI_PIN E2
58#ifdef RGB_DI_PIN
59# define RGBLED_NUM 8
60# define RGBLIGHT_HUE_STEP 10
61# define RGBLIGHT_SAT_STEP 17
62# define RGBLIGHT_VAL_STEP 17
63//# define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */
64//# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */
65/*== all animations enable ==*/
66# define RGBLIGHT_ANIMATIONS
67/*== or choose animations ==*/
68//# define RGBLIGHT_EFFECT_BREATHING
69//# define RGBLIGHT_EFFECT_RAINBOW_MOOD
70//# define RGBLIGHT_EFFECT_RAINBOW_SWIRL
71//# define RGBLIGHT_EFFECT_SNAKE
72//# define RGBLIGHT_EFFECT_KNIGHT
73//# define RGBLIGHT_EFFECT_CHRISTMAS
74//# define RGBLIGHT_EFFECT_STATIC_GRADIENT
75//# define RGBLIGHT_EFFECT_RGB_TEST
76//# define RGBLIGHT_EFFECT_ALTERNATING
77/*== customize breathing effect ==*/
78/*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/
79//# define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64
80/*==== use exp() and sin() ====*/
81//# define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7
82//# define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255
83#endif
48 84
49/* define if matrix has ghost */ 85/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
50//#define MATRIX_HAS_GHOST
51
52/* Set 0 if debouncing isn't needed */
53#define DEBOUNCE 5 86#define DEBOUNCE 5
54 87
88/* define if matrix has ghost (lacks anti-ghosting diodes) */
89//#define MATRIX_HAS_GHOST
90
55/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ 91/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
56#define LOCKING_SUPPORT_ENABLE 92#define LOCKING_SUPPORT_ENABLE
57/* Locking resynchronize hack */ 93/* Locking resynchronize hack */
58#define LOCKING_RESYNC_ENABLE 94#define LOCKING_RESYNC_ENABLE
59 95
60/* Backlight configuration
61 */
62#define BACKLIGHT_LEVELS 4
63
64/* Underlight configuration
65 */
66
67#define RGB_DI_PIN E2
68#define RGBLIGHT_ANIMATIONS
69#define RGBLED_NUM 8 // Number of LEDs
70#define RGBLIGHT_HUE_STEP 10
71#define RGBLIGHT_SAT_STEP 17
72#define RGBLIGHT_VAL_STEP 17
73
74/* 96/*
75 * Feature disable options 97 * Feature disable options
76 * These options are also useful to firmware size reduction. 98 * These options are also useful to firmware size reduction.
@@ -86,7 +108,11 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
86//#define NO_ACTION_LAYER 108//#define NO_ACTION_LAYER
87//#define NO_ACTION_TAPPING 109//#define NO_ACTION_TAPPING
88//#define NO_ACTION_ONESHOT 110//#define NO_ACTION_ONESHOT
89//#define NO_ACTION_MACRO
90//#define NO_ACTION_FUNCTION
91 111
92#endif 112/* disable these deprecated features by default */
113#define NO_ACTION_MACRO
114#define NO_ACTION_FUNCTION
115
116/* Bootmagic Lite key configuration */
117//#define BOOTMAGIC_LITE_ROW 0
118//#define BOOTMAGIC_LITE_COLUMN 0
diff --git a/keyboards/amj60/info.json b/keyboards/amj60/info.json
index dd6a7aef0..3bef63e33 100644
--- a/keyboards/amj60/info.json
+++ b/keyboards/amj60/info.json
@@ -1,27 +1,360 @@
1{ 1{
2 "keyboard_name": "AMJ60", 2 "keyboard_name": "AMJ60",
3 "url": "", 3 "url": "",
4 "maintainer": "qmk", 4 "maintainer": "qmk",
5 "width": 15, 5 "width": 15,
6 "height": 5, 6 "height": 5,
7 "layouts": { 7 "layouts": {
8 "LAYOUT": { 8 "LAYOUT_all": {
9 "layout": [{"label":"k00", "x":0, "y":0}, {"label":"k01", "x":1, "y":0}, {"label":"k02", "x":2, "y":0}, {"label":"k03", "x":3, "y":0}, {"label":"k04", "x":4, "y":0}, {"label":"k05", "x":5, "y":0}, {"label":"k06", "x":6, "y":0}, {"label":"k07", "x":7, "y":0}, {"label":"k08", "x":8, "y":0}, {"label":"k09", "x":9, "y":0}, {"label":"k0a", "x":10, "y":0}, {"label":"k0b", "x":11, "y":0}, {"label":"k0c", "x":12, "y":0}, {"label":"k0d", "x":13, "y":0}, {"label":"k49", "x":14, "y":0}, {"label":"k10", "x":0, "y":1, "w":1.5}, {"label":"k11", "x":1.5, "y":1}, {"label":"k12", "x":2.5, "y":1}, {"label":"k13", "x":3.5, "y":1}, {"label":"k14", "x":4.5, "y":1}, {"label":"k15", "x":5.5, "y":1}, {"label":"k16", "x":6.5, "y":1}, {"label":"k17", "x":7.5, "y":1}, {"label":"k18", "x":8.5, "y":1}, {"label":"k19", "x":9.5, "y":1}, {"label":"k1a", "x":10.5, "y":1}, {"label":"k1b", "x":11.5, "y":1}, {"label":"k1c", "x":12.5, "y":1}, {"label":"k1d", "x":13.5, "y":1, "w":1.5}, {"label":"k20", "x":0, "y":2, "w":1.75}, {"label":"k21", "x":1.75, "y":2}, {"label":"k22", "x":2.75, "y":2}, {"label":"k23", "x":3.75, "y":2}, {"label":"k24", "x":4.75, "y":2}, {"label":"k25", "x":5.75, "y":2}, {"label":"k26", "x":6.75, "y":2}, {"label":"k27", "x":7.75, "y":2}, {"label":"k28", "x":8.75, "y":2}, {"label":"k29", "x":9.75, "y":2}, {"label":"k2a", "x":10.75, "y":2}, {"label":"k2b", "x":11.75, "y":2}, {"label":"k2c", "x":12.75, "y":2}, {"label":"k2d", "x":13.75, "y":2, "w":1.25}, {"label":"k30", "x":0, "y":3, "w":1.25}, {"label":"k31", "x":1.25, "y":3}, {"label":"k32", "x":2.25, "y":3}, {"label":"k33", "x":3.25, "y":3}, {"label":"k34", "x":4.25, "y":3}, {"label":"k35", "x":5.25, "y":3}, {"label":"k36", "x":6.25, "y":3}, {"label":"k37", "x":7.25, "y":3}, {"label":"k38", "x":8.25, "y":3}, {"label":"k39", "x":9.25, "y":3}, {"label":"k3a", "x":10.25, "y":3}, {"label":"k3b", "x":11.25, "y":3}, {"label":"k3c", "x":12.25, "y":3, "w":1.75}, {"label":"k3d", "x":14, "y":3}, {"label":"k40", "x":0, "y":4, "w":1.25}, {"label":"k41", "x":1.25, "y":4, "w":1.25}, {"label":"k42", "x":2.5, "y":4, "w":1.25}, {"label":"k45", "x":3.75, "y":4, "w":6.25}, {"label":"k4a", "x":10, "y":4, "w":1.25}, {"label":"k4b", "x":11.25, "y":4, "w":1.25}, {"label":"k4c", "x":12.5, "y":4, "w":1.25}, {"label":"k4d", "x":13.75, "y":4, "w":1.25}] 9 "layout": [
10 }, 10 {"label":"k00", "x":0, "y":0},
11 "LAYOUT_60_ansi": { 11 {"label":"k01", "x":1, "y":0},
12 "layout": [{"label":"k00", "x":0, "y":0}, {"label":"k01", "x":1, "y":0}, {"label":"k02", "x":2, "y":0}, {"label":"k03", "x":3, "y":0}, {"label":"k04", "x":4, "y":0}, {"label":"k05", "x":5, "y":0}, {"label":"k06", "x":6, "y":0}, {"label":"k07", "x":7, "y":0}, {"label":"k08", "x":8, "y":0}, {"label":"k09", "x":9, "y":0}, {"label":"k0a", "x":10, "y":0}, {"label":"k0b", "x":11, "y":0}, {"label":"k0c", "x":12, "y":0}, {"label":"k0d", "x":13, "y":0, "w":2}, {"label":"k10", "x":0, "y":1, "w":1.5}, {"label":"k11", "x":1.5, "y":1}, {"label":"k12", "x":2.5, "y":1}, {"label":"k13", "x":3.5, "y":1}, {"label":"k14", "x":4.5, "y":1}, {"label":"k15", "x":5.5, "y":1}, {"label":"k16", "x":6.5, "y":1}, {"label":"k17", "x":7.5, "y":1}, {"label":"k18", "x":8.5, "y":1}, {"label":"k19", "x":9.5, "y":1}, {"label":"k1a", "x":10.5, "y":1}, {"label":"k1b", "x":11.5, "y":1}, {"label":"k1c", "x":12.5, "y":1}, {"label":"k1d", "x":13.5, "y":1, "w":1.5}, {"label":"k20", "x":0, "y":2, "w":1.75}, {"label":"k21", "x":1.75, "y":2}, {"label":"k22", "x":2.75, "y":2}, {"label":"k23", "x":3.75, "y":2}, {"label":"k24", "x":4.75, "y":2}, {"label":"k25", "x":5.75, "y":2}, {"label":"k26", "x":6.75, "y":2}, {"label":"k27", "x":7.75, "y":2}, {"label":"k28", "x":8.75, "y":2}, {"label":"k29", "x":9.75, "y":2}, {"label":"k2a", "x":10.75, "y":2}, {"label":"k2b", "x":11.75, "y":2}, {"label":"k2d", "x":12.75, "y":2, "w":2.25}, {"label":"k30", "x":0, "y":3, "w":2.25}, {"label":"k32", "x":2.25, "y":3}, {"label":"k33", "x":3.25, "y":3}, {"label":"k34", "x":4.25, "y":3}, {"label":"k35", "x":5.25, "y":3}, {"label":"k36", "x":6.25, "y":3}, {"label":"k37", "x":7.25, "y":3}, {"label":"k38", "x":8.25, "y":3}, {"label":"k39", "x":9.25, "y":3}, {"label":"k3a", "x":10.25, "y":3}, {"label":"k3b", "x":11.25, "y":3}, {"label":"k3d", "x":12.25, "y":3, "w":2.75}, {"label":"k40", "x":0, "y":4, "w":1.25}, {"label":"k41", "x":1.25, "y":4, "w":1.25}, {"label":"k42", "x":2.5, "y":4, "w":1.25}, {"label":"k45", "x":3.75, "y":4, "w":6.25}, {"label":"k4a", "x":10, "y":4, "w":1.25}, {"label":"k4b", "x":11.25, "y":4, "w":1.25}, {"label":"k4c", "x":12.5, "y":4, "w":1.25}, {"label":"k4d", "x":13.75, "y":4, "w":1.25}] 12 {"label":"k02", "x":2, "y":0},
13 }, 13 {"label":"k03", "x":3, "y":0},
14 "LAYOUT_hhkb": { 14 {"label":"k04", "x":4, "y":0},
15 "layout": [{"label":"k00", "x":0, "y":0}, {"label":"k01", "x":1, "y":0}, {"label":"k02", "x":2, "y":0}, {"label":"k03", "x":3, "y":0}, {"label":"k04", "x":4, "y":0}, {"label":"k05", "x":5, "y":0}, {"label":"k06", "x":6, "y":0}, {"label":"k07", "x":7, "y":0}, {"label":"k08", "x":8, "y":0}, {"label":"k09", "x":9, "y":0}, {"label":"k0a", "x":10, "y":0}, {"label":"k0b", "x":11, "y":0}, {"label":"k0c", "x":12, "y":0}, {"label":"k0d", "x":13, "y":0}, {"label":"k49", "x":14, "y":0}, {"label":"k10", "x":0, "y":1, "w":1.5}, {"label":"k11", "x":1.5, "y":1}, {"label":"k12", "x":2.5, "y":1}, {"label":"k13", "x":3.5, "y":1}, {"label":"k14", "x":4.5, "y":1}, {"label":"k15", "x":5.5, "y":1}, {"label":"k16", "x":6.5, "y":1}, {"label":"k17", "x":7.5, "y":1}, {"label":"k18", "x":8.5, "y":1}, {"label":"k19", "x":9.5, "y":1}, {"label":"k1a", "x":10.5, "y":1}, {"label":"k1b", "x":11.5, "y":1}, {"label":"k1c", "x":12.5, "y":1}, {"label":"k1d", "x":13.5, "y":1, "w":1.5}, {"label":"k20", "x":0, "y":2, "w":1.75}, {"label":"k21", "x":1.75, "y":2}, {"label":"k22", "x":2.75, "y":2}, {"label":"k23", "x":3.75, "y":2}, {"label":"k24", "x":4.75, "y":2}, {"label":"k25", "x":5.75, "y":2}, {"label":"k26", "x":6.75, "y":2}, {"label":"k27", "x":7.75, "y":2}, {"label":"k28", "x":8.75, "y":2}, {"label":"k29", "x":9.75, "y":2}, {"label":"k2a", "x":10.75, "y":2}, {"label":"k2b", "x":11.75, "y":2}, {"label":"k2d", "x":12.75, "y":2, "w":2.25}, {"label":"k30", "x":0, "y":3, "w":2.25}, {"label":"k32", "x":2.25, "y":3}, {"label":"k33", "x":3.25, "y":3}, {"label":"k34", "x":4.25, "y":3}, {"label":"k35", "x":5.25, "y":3}, {"label":"k36", "x":6.25, "y":3}, {"label":"k37", "x":7.25, "y":3}, {"label":"k38", "x":8.25, "y":3}, {"label":"k39", "x":9.25, "y":3}, {"label":"k3a", "x":10.25, "y":3}, {"label":"k3b", "x":11.25, "y":3}, {"label":"k3d", "x":12.25, "y":3, "w":1.75}, {"label":"k3c", "x":14, "y":3}, {"label":"k40", "x":0, "y":4, "w":1.25}, {"label":"k41", "x":1.25, "y":4, "w":1.25}, {"label":"k42", "x":2.5, "y":4, "w":1.25}, {"label":"k45", "x":3.75, "y":4, "w":6.25}, {"label":"k4a", "x":10, "y":4, "w":1.25}, {"label":"k4b", "x":11.25, "y":4, "w":1.25}, {"label":"k4c", "x":12.5, "y":4, "w":1.25}, {"label":"k4d", "x":13.75, "y":4, "w":1.25}] 15 {"label":"k05", "x":5, "y":0},
16 }, 16 {"label":"k06", "x":6, "y":0},
17 "LAYOUT_iso": { 17 {"label":"k07", "x":7, "y":0},
18 "layout": [{"label":"k00", "x":0, "y":0}, {"label":"k01", "x":1, "y":0}, {"label":"k02", "x":2, "y":0}, {"label":"k03", "x":3, "y":0}, {"label":"k04", "x":4, "y":0}, {"label":"k05", "x":5, "y":0}, {"label":"k06", "x":6, "y":0}, {"label":"k07", "x":7, "y":0}, {"label":"k08", "x":8, "y":0}, {"label":"k09", "x":9, "y":0}, {"label":"k0a", "x":10, "y":0}, {"label":"k0b", "x":11, "y":0}, {"label":"k0c", "x":12, "y":0}, {"label":"k0d", "x":13, "y":0, "w":2}, {"label":"k10", "x":0, "y":1, "w":1.5}, {"label":"k11", "x":1.5, "y":1}, {"label":"k12", "x":2.5, "y":1}, {"label":"k13", "x":3.5, "y":1}, {"label":"k14", "x":4.5, "y":1}, {"label":"k15", "x":5.5, "y":1}, {"label":"k16", "x":6.5, "y":1}, {"label":"k17", "x":7.5, "y":1}, {"label":"k18", "x":8.5, "y":1}, {"label":"k19", "x":9.5, "y":1}, {"label":"k1a", "x":10.5, "y":1}, {"label":"k1b", "x":11.5, "y":1}, {"label":"k1c", "x":12.5, "y":1}, {"label":"k1d", "x":13.5, "y":1, "w":1.5}, {"label":"k20", "x":0, "y":2, "w":1.75}, {"label":"k21", "x":1.75, "y":2}, {"label":"k22", "x":2.75, "y":2}, {"label":"k23", "x":3.75, "y":2}, {"label":"k24", "x":4.75, "y":2}, {"label":"k25", "x":5.75, "y":2}, {"label":"k26", "x":6.75, "y":2}, {"label":"k27", "x":7.75, "y":2}, {"label":"k28", "x":8.75, "y":2}, {"label":"k29", "x":9.75, "y":2}, {"label":"k2a", "x":10.75, "y":2}, {"label":"k2b", "x":11.75, "y":2}, {"label":"k2c", "x":12.75, "y":2}, {"label":"k2d", "x":13.75, "y":2, "w":1.25}, {"label":"k30", "x":0, "y":3, "w":1.25}, {"label":"k31", "x":1.25, "y":3}, {"label":"k32", "x":2.25, "y":3}, {"label":"k33", "x":3.25, "y":3}, {"label":"k34", "x":4.25, "y":3}, {"label":"k35", "x":5.25, "y":3}, {"label":"k36", "x":6.25, "y":3}, {"label":"k37", "x":7.25, "y":3}, {"label":"k38", "x":8.25, "y":3}, {"label":"k39", "x":9.25, "y":3}, {"label":"k3a", "x":10.25, "y":3}, {"label":"k3b", "x":11.25, "y":3}, {"label":"k3d", "x":12.25, "y":3, "w":2.75}, {"label":"k40", "x":0, "y":4, "w":1.25}, {"label":"k41", "x":1.25, "y":4, "w":1.25}, {"label":"k42", "x":2.5, "y":4, "w":1.25}, {"label":"k45", "x":3.75, "y":4, "w":6.25}, {"label":"k4a", "x":10, "y":4, "w":1.25}, {"label":"k4b", "x":11.25, "y":4, "w":1.25}, {"label":"k4c", "x":12.5, "y":4, "w":1.25}, {"label":"k4d", "x":13.75, "y":4, "w":1.25}] 18 {"label":"k08", "x":8, "y":0},
19 }, 19 {"label":"k09", "x":9, "y":0},
20 "LAYOUT_iso_splitrshift": { 20 {"label":"k0a", "x":10, "y":0},
21 "layout": [{"label":"k00", "x":0, "y":0}, {"label":"k01", "x":1, "y":0}, {"label":"k02", "x":2, "y":0}, {"label":"k03", "x":3, "y":0}, {"label":"k04", "x":4, "y":0}, {"label":"k05", "x":5, "y":0}, {"label":"k06", "x":6, "y":0}, {"label":"k07", "x":7, "y":0}, {"label":"k08", "x":8, "y":0}, {"label":"k09", "x":9, "y":0}, {"label":"k0a", "x":10, "y":0}, {"label":"k0b", "x":11, "y":0}, {"label":"k0c", "x":12, "y":0}, {"label":"k0d", "x":13, "y":0, "w":2}, {"label":"k10", "x":0, "y":1, "w":1.5}, {"label":"k11", "x":1.5, "y":1}, {"label":"k12", "x":2.5, "y":1}, {"label":"k13", "x":3.5, "y":1}, {"label":"k14", "x":4.5, "y":1}, {"label":"k15", "x":5.5, "y":1}, {"label":"k16", "x":6.5, "y":1}, {"label":"k17", "x":7.5, "y":1}, {"label":"k18", "x":8.5, "y":1}, {"label":"k19", "x":9.5, "y":1}, {"label":"k1a", "x":10.5, "y":1}, {"label":"k1b", "x":11.5, "y":1}, {"label":"k1c", "x":12.5, "y":1}, {"label":"k1d", "x":13.5, "y":1, "w":1.5}, {"label":"k20", "x":0, "y":2, "w":1.75}, {"label":"k21", "x":1.75, "y":2}, {"label":"k22", "x":2.75, "y":2}, {"label":"k23", "x":3.75, "y":2}, {"label":"k24", "x":4.75, "y":2}, {"label":"k25", "x":5.75, "y":2}, {"label":"k26", "x":6.75, "y":2}, {"label":"k27", "x":7.75, "y":2}, {"label":"k28", "x":8.75, "y":2}, {"label":"k29", "x":9.75, "y":2}, {"label":"k2a", "x":10.75, "y":2}, {"label":"k2b", "x":11.75, "y":2}, {"label":"k2c", "x":12.75, "y":2}, {"label":"k2d", "x":13.75, "y":2, "w":1.25}, {"label":"k30", "x":0, "y":3, "w":1.25}, {"label":"k31", "x":1.25, "y":3}, {"label":"k32", "x":2.25, "y":3}, {"label":"k33", "x":3.25, "y":3}, {"label":"k34", "x":4.25, "y":3}, {"label":"k35", "x":5.25, "y":3}, {"label":"k36", "x":6.25, "y":3}, {"label":"k37", "x":7.25, "y":3}, {"label":"k38", "x":8.25, "y":3}, {"label":"k39", "x":9.25, "y":3}, {"label":"k3a", "x":10.25, "y":3}, {"label":"k3b", "x":11.25, "y":3}, {"label":"k3d", "x":12.25, "y":3, "w":1.75}, {"label":"k3c", "x":14, "y":3}, {"label":"k40", "x":0, "y":4, "w":1.25}, {"label":"k41", "x":1.25, "y":4, "w":1.25}, {"label":"k42", "x":2.5, "y":4, "w":1.25}, {"label":"k45", "x":3.75, "y":4, "w":6.25}, {"label":"k4a", "x":10, "y":4, "w":1.25}, {"label":"k4b", "x":11.25, "y":4, "w":1.25}, {"label":"k4c", "x":12.5, "y":4, "w":1.25}, {"label":"k4d", "x":13.75, "y":4, "w":1.25}] 21 {"label":"k0b", "x":11, "y":0},
22 }, 22 {"label":"k0c", "x":12, "y":0},
23 "LAYOUT_max": { 23 {"label":"k0d", "x":13, "y":0},
24 "layout": [{"label":"k00", "x":0, "y":0}, {"label":"k01", "x":1, "y":0}, {"label":"k02", "x":2, "y":0}, {"label":"k03", "x":3, "y":0}, {"label":"k04", "x":4, "y":0}, {"label":"k05", "x":5, "y":0}, {"label":"k06", "x":6, "y":0}, {"label":"k07", "x":7, "y":0}, {"label":"k08", "x":8, "y":0}, {"label":"k09", "x":9, "y":0}, {"label":"k0a", "x":10, "y":0}, {"label":"k0b", "x":11, "y":0}, {"label":"k0c", "x":12, "y":0}, {"label":"k0d", "x":13, "y":0}, {"label":"k49", "x":14, "y":0}, {"label":"k10", "x":0, "y":1, "w":1.5}, {"label":"k11", "x":1.5, "y":1}, {"label":"k12", "x":2.5, "y":1}, {"label":"k13", "x":3.5, "y":1}, {"label":"k14", "x":4.5, "y":1}, {"label":"k15", "x":5.5, "y":1}, {"label":"k16", "x":6.5, "y":1}, {"label":"k17", "x":7.5, "y":1}, {"label":"k18", "x":8.5, "y":1}, {"label":"k19", "x":9.5, "y":1}, {"label":"k1a", "x":10.5, "y":1}, {"label":"k1b", "x":11.5, "y":1}, {"label":"k1c", "x":12.5, "y":1}, {"label":"k1d", "x":13.5, "y":1, "w":1.5}, {"label":"k20", "x":0, "y":2, "w":1.75}, {"label":"k21", "x":1.75, "y":2}, {"label":"k22", "x":2.75, "y":2}, {"label":"k23", "x":3.75, "y":2}, {"label":"k24", "x":4.75, "y":2}, {"label":"k25", "x":5.75, "y":2}, {"label":"k26", "x":6.75, "y":2}, {"label":"k27", "x":7.75, "y":2}, {"label":"k28", "x":8.75, "y":2}, {"label":"k29", "x":9.75, "y":2}, {"label":"k2a", "x":10.75, "y":2}, {"label":"k2b", "x":11.75, "y":2}, {"label":"k2d", "x":12.75, "y":2, "w":2.25}, {"label":"k30", "x":0, "y":3, "w":1.25}, {"label":"k31", "x":1.25, "y":3}, {"label":"k32", "x":2.25, "y":3}, {"label":"k33", "x":3.25, "y":3}, {"label":"k34", "x":4.25, "y":3}, {"label":"k35", "x":5.25, "y":3}, {"label":"k36", "x":6.25, "y":3}, {"label":"k37", "x":7.25, "y":3}, {"label":"k38", "x":8.25, "y":3}, {"label":"k39", "x":9.25, "y":3}, {"label":"k3a", "x":10.25, "y":3}, {"label":"k3b", "x":11.25, "y":3}, {"label":"k3d", "x":12.25, "y":3, "w":1.75}, {"label":"k3c", "x":14, "y":3}, {"label":"k40", "x":0, "y":4, "w":1.25}, {"label":"k41", "x":1.25, "y":4, "w":1.25}, {"label":"k42", "x":2.5, "y":4, "w":1.25}, {"label":"k45", "x":3.75, "y":4, "w":6.25}, {"label":"k4a", "x":10, "y":4, "w":1.25}, {"label":"k4b", "x":11.25, "y":4, "w":1.25}, {"label":"k4c", "x":12.5, "y":4, "w":1.25}, {"label":"k4d", "x":13.75, "y":4, "w":1.25}] 24 {"label":"k49", "x":14, "y":0},
25
26 {"label":"k10", "x":0, "y":1, "w":1.5},
27 {"label":"k11", "x":1.5, "y":1},
28 {"label":"k12", "x":2.5, "y":1},
29 {"label":"k13", "x":3.5, "y":1},
30 {"label":"k14", "x":4.5, "y":1},
31 {"label":"k15", "x":5.5, "y":1},
32 {"label":"k16", "x":6.5, "y":1},
33 {"label":"k17", "x":7.5, "y":1},
34 {"label":"k18", "x":8.5, "y":1},
35 {"label":"k19", "x":9.5, "y":1},
36 {"label":"k1a", "x":10.5, "y":1},
37 {"label":"k1b", "x":11.5, "y":1},
38 {"label":"k1c", "x":12.5, "y":1},
39 {"label":"k1d", "x":13.5, "y":1, "w":1.5},
40
41 {"label":"k20", "x":0, "y":2, "w":1.75},
42 {"label":"k21", "x":1.75, "y":2},
43 {"label":"k22", "x":2.75, "y":2},
44 {"label":"k23", "x":3.75, "y":2},
45 {"label":"k24", "x":4.75, "y":2},
46 {"label":"k25", "x":5.75, "y":2},
47 {"label":"k26", "x":6.75, "y":2},
48 {"label":"k27", "x":7.75, "y":2},
49 {"label":"k28", "x":8.75, "y":2},
50 {"label":"k29", "x":9.75, "y":2},
51 {"label":"k2a", "x":10.75, "y":2},
52 {"label":"k2b", "x":11.75, "y":2},
53 {"label":"k2c", "x":12.75, "y":2},
54 {"label":"k2d", "x":13.75, "y":2, "w":1.25},
55
56 {"label":"k30", "x":0, "y":3, "w":1.25},
57 {"label":"k31", "x":1.25, "y":3},
58 {"label":"k32", "x":2.25, "y":3},
59 {"label":"k33", "x":3.25, "y":3},
60 {"label":"k34", "x":4.25, "y":3},
61 {"label":"k35", "x":5.25, "y":3},
62 {"label":"k36", "x":6.25, "y":3},
63 {"label":"k37", "x":7.25, "y":3},
64 {"label":"k38", "x":8.25, "y":3},
65 {"label":"k39", "x":9.25, "y":3},
66 {"label":"k3a", "x":10.25, "y":3},
67 {"label":"k3b", "x":11.25, "y":3},
68 {"label":"k3d", "x":12.25, "y":3, "w":1.75},
69 {"label":"k3c", "x":14, "y":3},
70
71 {"label":"k40", "x":0, "y":4, "w":1.25},
72 {"label":"k41", "x":1.25, "y":4, "w":1.25},
73 {"label":"k42", "x":2.5, "y":4, "w":1.25},
74 {"label":"k45", "x":3.75, "y":4, "w":6.25},
75 {"label":"k4a", "x":10, "y":4, "w":1.25},
76 {"label":"k4b", "x":11.25, "y":4, "w":1.25},
77 {"label":"k4c", "x":12.5, "y":4, "w":1.25},
78 {"label":"k4d", "x":13.75, "y":4, "w":1.25}
79 ]
80 },
81 "LAYOUT_60_ansi": {
82 "layout": [
83 {"label":"k00", "x":0, "y":0},
84 {"label":"k01", "x":1, "y":0},
85 {"label":"k02", "x":2, "y":0},
86 {"label":"k03", "x":3, "y":0},
87 {"label":"k04", "x":4, "y":0},
88 {"label":"k05", "x":5, "y":0},
89 {"label":"k06", "x":6, "y":0},
90 {"label":"k07", "x":7, "y":0},
91 {"label":"k08", "x":8, "y":0},
92 {"label":"k09", "x":9, "y":0},
93 {"label":"k0a", "x":10, "y":0},
94 {"label":"k0b", "x":11, "y":0},
95 {"label":"k0c", "x":12, "y":0},
96 {"label":"k0d", "x":13, "y":0, "w":2},
97
98 {"label":"k10", "x":0, "y":1, "w":1.5},
99 {"label":"k11", "x":1.5, "y":1},
100 {"label":"k12", "x":2.5, "y":1},
101 {"label":"k13", "x":3.5, "y":1},
102 {"label":"k14", "x":4.5, "y":1},
103 {"label":"k15", "x":5.5, "y":1},
104 {"label":"k16", "x":6.5, "y":1},
105 {"label":"k17", "x":7.5, "y":1},
106 {"label":"k18", "x":8.5, "y":1},
107 {"label":"k19", "x":9.5, "y":1},
108 {"label":"k1a", "x":10.5, "y":1},
109 {"label":"k1b", "x":11.5, "y":1},
110 {"label":"k1c", "x":12.5, "y":1},
111 {"label":"k1d", "x":13.5, "y":1, "w":1.5},
112
113 {"label":"k20", "x":0, "y":2, "w":1.75},
114 {"label":"k21", "x":1.75, "y":2},
115 {"label":"k22", "x":2.75, "y":2},
116 {"label":"k23", "x":3.75, "y":2},
117 {"label":"k24", "x":4.75, "y":2},
118 {"label":"k25", "x":5.75, "y":2},
119 {"label":"k26", "x":6.75, "y":2},
120 {"label":"k27", "x":7.75, "y":2},
121 {"label":"k28", "x":8.75, "y":2},
122 {"label":"k29", "x":9.75, "y":2},
123 {"label":"k2a", "x":10.75, "y":2},
124 {"label":"k2b", "x":11.75, "y":2},
125 {"label":"k2d", "x":12.75, "y":2, "w":2.25},
126
127 {"label":"k30", "x":0, "y":3, "w":2.25},
128 {"label":"k32", "x":2.25, "y":3},
129 {"label":"k33", "x":3.25, "y":3},
130 {"label":"k34", "x":4.25, "y":3},
131 {"label":"k35", "x":5.25, "y":3},
132 {"label":"k36", "x":6.25, "y":3},
133 {"label":"k37", "x":7.25, "y":3},
134 {"label":"k38", "x":8.25, "y":3},
135 {"label":"k39", "x":9.25, "y":3},
136 {"label":"k3a", "x":10.25, "y":3},
137 {"label":"k3b", "x":11.25, "y":3},
138 {"label":"k3d", "x":12.25, "y":3, "w":2.75},
139
140 {"label":"k40", "x":0, "y":4, "w":1.25},
141 {"label":"k41", "x":1.25, "y":4, "w":1.25},
142 {"label":"k42", "x":2.5, "y":4, "w":1.25},
143 {"label":"k45", "x":3.75, "y":4, "w":6.25},
144 {"label":"k4a", "x":10, "y":4, "w":1.25},
145 {"label":"k4b", "x":11.25, "y":4, "w":1.25},
146 {"label":"k4c", "x":12.5, "y":4, "w":1.25},
147 {"label":"k4d", "x":13.75, "y":4, "w":1.25}
148 ]
149 },
150 "LAYOUT_60_hhkb": {
151 "layout": [
152 {"label":"k00", "x":0, "y":0},
153 {"label":"k01", "x":1, "y":0},
154 {"label":"k02", "x":2, "y":0},
155 {"label":"k03", "x":3, "y":0},
156 {"label":"k04", "x":4, "y":0},
157 {"label":"k05", "x":5, "y":0},
158 {"label":"k06", "x":6, "y":0},
159 {"label":"k07", "x":7, "y":0},
160 {"label":"k08", "x":8, "y":0},
161 {"label":"k09", "x":9, "y":0},
162 {"label":"k0a", "x":10, "y":0},
163 {"label":"k0b", "x":11, "y":0},
164 {"label":"k0c", "x":12, "y":0},
165 {"label":"k0d", "x":13, "y":0},
166 {"label":"k49", "x":14, "y":0},
167
168 {"label":"k10", "x":0, "y":1, "w":1.5},
169 {"label":"k11", "x":1.5, "y":1},
170 {"label":"k12", "x":2.5, "y":1},
171 {"label":"k13", "x":3.5, "y":1},
172 {"label":"k14", "x":4.5, "y":1},
173 {"label":"k15", "x":5.5, "y":1},
174 {"label":"k16", "x":6.5, "y":1},
175 {"label":"k17", "x":7.5, "y":1},
176 {"label":"k18", "x":8.5, "y":1},
177 {"label":"k19", "x":9.5, "y":1},
178 {"label":"k1a", "x":10.5, "y":1},
179 {"label":"k1b", "x":11.5, "y":1},
180 {"label":"k1c", "x":12.5, "y":1},
181 {"label":"k1d", "x":13.5, "y":1, "w":1.5},
182
183 {"label":"k20", "x":0, "y":2, "w":1.75},
184 {"label":"k21", "x":1.75, "y":2},
185 {"label":"k22", "x":2.75, "y":2},
186 {"label":"k23", "x":3.75, "y":2},
187 {"label":"k24", "x":4.75, "y":2},
188 {"label":"k25", "x":5.75, "y":2},
189 {"label":"k26", "x":6.75, "y":2},
190 {"label":"k27", "x":7.75, "y":2},
191 {"label":"k28", "x":8.75, "y":2},
192 {"label":"k29", "x":9.75, "y":2},
193 {"label":"k2a", "x":10.75, "y":2},
194 {"label":"k2b", "x":11.75, "y":2},
195 {"label":"k2d", "x":12.75, "y":2, "w":2.25},
196
197 {"label":"k30", "x":0, "y":3, "w":2.25},
198 {"label":"k32", "x":2.25, "y":3},
199 {"label":"k33", "x":3.25, "y":3},
200 {"label":"k34", "x":4.25, "y":3},
201 {"label":"k35", "x":5.25, "y":3},
202 {"label":"k36", "x":6.25, "y":3},
203 {"label":"k37", "x":7.25, "y":3},
204 {"label":"k38", "x":8.25, "y":3},
205 {"label":"k39", "x":9.25, "y":3},
206 {"label":"k3a", "x":10.25, "y":3},
207 {"label":"k3b", "x":11.25, "y":3},
208 {"label":"k3d", "x":12.25, "y":3, "w":1.75},
209 {"label":"k3c", "x":14, "y":3},
210
211 {"label":"k41", "x":1.5, "y":4},
212 {"label":"k42", "x":2.5, "y":4, "w":1.5},
213 {"label":"k45", "x":4, "y":4, "w":7},
214 {"label":"k4b", "x":11, "y":4, "w":1.5},
215 {"label":"k4c", "x":12.5, "y":4}
216 ]
217 },
218 "LAYOUT_60_iso": {
219 "layout": [
220 {"label":"k00", "x":0, "y":0},
221 {"label":"k01", "x":1, "y":0},
222 {"label":"k02", "x":2, "y":0},
223 {"label":"k03", "x":3, "y":0},
224 {"label":"k04", "x":4, "y":0},
225 {"label":"k05", "x":5, "y":0},
226 {"label":"k06", "x":6, "y":0},
227 {"label":"k07", "x":7, "y":0},
228 {"label":"k08", "x":8, "y":0},
229 {"label":"k09", "x":9, "y":0},
230 {"label":"k0a", "x":10, "y":0},
231 {"label":"k0b", "x":11, "y":0},
232 {"label":"k0c", "x":12, "y":0},
233 {"label":"k0d", "x":13, "y":0, "w":2},
234
235 {"label":"k10", "x":0, "y":1, "w":1.5},
236 {"label":"k11", "x":1.5, "y":1},
237 {"label":"k12", "x":2.5, "y":1},
238 {"label":"k13", "x":3.5, "y":1},
239 {"label":"k14", "x":4.5, "y":1},
240 {"label":"k15", "x":5.5, "y":1},
241 {"label":"k16", "x":6.5, "y":1},
242 {"label":"k17", "x":7.5, "y":1},
243 {"label":"k18", "x":8.5, "y":1},
244 {"label":"k19", "x":9.5, "y":1},
245 {"label":"k1a", "x":10.5, "y":1},
246 {"label":"k1b", "x":11.5, "y":1},
247 {"label":"k1c", "x":12.5, "y":1},
248
249 {"label":"k20", "x":0, "y":2, "w":1.75},
250 {"label":"k21", "x":1.75, "y":2},
251 {"label":"k22", "x":2.75, "y":2},
252 {"label":"k23", "x":3.75, "y":2},
253 {"label":"k24", "x":4.75, "y":2},
254 {"label":"k25", "x":5.75, "y":2},
255 {"label":"k26", "x":6.75, "y":2},
256 {"label":"k27", "x":7.75, "y":2},
257 {"label":"k28", "x":8.75, "y":2},
258 {"label":"k29", "x":9.75, "y":2},
259 {"label":"k2a", "x":10.75, "y":2},
260 {"label":"k2b", "x":11.75, "y":2},
261 {"label":"k2c", "x":12.75, "y":2},
262 {"label":"k2d", "x":13.75, "y":1, "w":1.25, "h":2},
263
264 {"label":"k30", "x":0, "y":3, "w":1.25},
265 {"label":"k31", "x":1.25, "y":3},
266 {"label":"k32", "x":2.25, "y":3},
267 {"label":"k33", "x":3.25, "y":3},
268 {"label":"k34", "x":4.25, "y":3},
269 {"label":"k35", "x":5.25, "y":3},
270 {"label":"k36", "x":6.25, "y":3},
271 {"label":"k37", "x":7.25, "y":3},
272 {"label":"k38", "x":8.25, "y":3},
273 {"label":"k39", "x":9.25, "y":3},
274 {"label":"k3a", "x":10.25, "y":3},
275 {"label":"k3b", "x":11.25, "y":3},
276 {"label":"k3d", "x":12.25, "y":3, "w":2.75},
277
278 {"label":"k40", "x":0, "y":4, "w":1.25},
279 {"label":"k41", "x":1.25, "y":4, "w":1.25},
280 {"label":"k42", "x":2.5, "y":4, "w":1.25},
281 {"label":"k45", "x":3.75, "y":4, "w":6.25},
282 {"label":"k4a", "x":10, "y":4, "w":1.25},
283 {"label":"k4b", "x":11.25, "y":4, "w":1.25},
284 {"label":"k4c", "x":12.5, "y":4, "w":1.25},
285 {"label":"k4d", "x":13.75, "y":4, "w":1.25}
286 ]
287 },
288 "LAYOUT_60_ansi_split_bs_rshift": {
289 "layout": [
290 {"label":"k00", "x":0, "y":0},
291 {"label":"k01", "x":1, "y":0},
292 {"label":"k02", "x":2, "y":0},
293 {"label":"k03", "x":3, "y":0},
294 {"label":"k04", "x":4, "y":0},
295 {"label":"k05", "x":5, "y":0},
296 {"label":"k06", "x":6, "y":0},
297 {"label":"k07", "x":7, "y":0},
298 {"label":"k08", "x":8, "y":0},
299 {"label":"k09", "x":9, "y":0},
300 {"label":"k0a", "x":10, "y":0},
301 {"label":"k0b", "x":11, "y":0},
302 {"label":"k0c", "x":12, "y":0},
303 {"label":"k0d", "x":13, "y":0},
304 {"label":"k49", "x":14, "y":0},
305
306 {"label":"k10", "x":0, "y":1, "w":1.5},
307 {"label":"k11", "x":1.5, "y":1},
308 {"label":"k12", "x":2.5, "y":1},
309 {"label":"k13", "x":3.5, "y":1},
310 {"label":"k14", "x":4.5, "y":1},
311 {"label":"k15", "x":5.5, "y":1},
312 {"label":"k16", "x":6.5, "y":1},
313 {"label":"k17", "x":7.5, "y":1},
314 {"label":"k18", "x":8.5, "y":1},
315 {"label":"k19", "x":9.5, "y":1},
316 {"label":"k1a", "x":10.5, "y":1},
317 {"label":"k1b", "x":11.5, "y":1},
318 {"label":"k1c", "x":12.5, "y":1},
319 {"label":"k1d", "x":13.5, "y":1, "w":1.5},
320
321 {"label":"k20", "x":0, "y":2, "w":1.75},
322 {"label":"k21", "x":1.75, "y":2},
323 {"label":"k22", "x":2.75, "y":2},
324 {"label":"k23", "x":3.75, "y":2},
325 {"label":"k24", "x":4.75, "y":2},
326 {"label":"k25", "x":5.75, "y":2},
327 {"label":"k26", "x":6.75, "y":2},
328 {"label":"k27", "x":7.75, "y":2},
329 {"label":"k28", "x":8.75, "y":2},
330 {"label":"k29", "x":9.75, "y":2},
331 {"label":"k2a", "x":10.75, "y":2},
332 {"label":"k2b", "x":11.75, "y":2},
333 {"label":"k2d", "x":12.75, "y":2, "w":2.25},
334
335 {"label":"k30", "x":0, "y":3, "w":2.25},
336 {"label":"k32", "x":2.25, "y":3},
337 {"label":"k33", "x":3.25, "y":3},
338 {"label":"k34", "x":4.25, "y":3},
339 {"label":"k35", "x":5.25, "y":3},
340 {"label":"k36", "x":6.25, "y":3},
341 {"label":"k37", "x":7.25, "y":3},
342 {"label":"k38", "x":8.25, "y":3},
343 {"label":"k39", "x":9.25, "y":3},
344 {"label":"k3a", "x":10.25, "y":3},
345 {"label":"k3b", "x":11.25, "y":3},
346 {"label":"k3d", "x":12.25, "y":3, "w":1.75},
347 {"label":"k3c", "x":14, "y":3},
348
349 {"label":"k40", "x":0, "y":4, "w":1.25},
350 {"label":"k41", "x":1.25, "y":4, "w":1.25},
351 {"label":"k42", "x":2.5, "y":4, "w":1.25},
352 {"label":"k45", "x":3.75, "y":4, "w":6.25},
353 {"label":"k4a", "x":10, "y":4, "w":1.25},
354 {"label":"k4b", "x":11.25, "y":4, "w":1.25},
355 {"label":"k4c", "x":12.5, "y":4, "w":1.25},
356 {"label":"k4d", "x":13.75, "y":4, "w":1.25}
357 ]
358 }
25 } 359 }
26 }
27} 360}
diff --git a/keyboards/amj60/keymaps/default/keymap.c b/keyboards/amj60/keymaps/default/keymap.c
index c5dc25018..6a0a394f5 100644
--- a/keyboards/amj60/keymaps/default/keymap.c
+++ b/keyboards/amj60/keymaps/default/keymap.c
@@ -1,55 +1,72 @@
1/* Copyright 2016 Toni (@toneman77)
2 * 2021 James Young for QMK (@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 */
1 17
2#include QMK_KEYBOARD_H 18#include QMK_KEYBOARD_H
3 19
4// Each layer gets a name for readability, which is then used in the keymap matrix below. 20enum layer_names {
5// The underscores don't mean anything - you can have a layer called STUFF or any other name. 21 _DEF,
6// Layer names don't all need to be of the same length, obviously, and you can also skip them 22 _FN,
7// entirely and just use numbers. 23};
8#define _DEF 0
9#define _SPC 1
10 24
11// dual-role shortcuts 25// dual-role shortcuts
12#define SPACEDUAL LT(_SPC, KC_SPACE) 26#define FN_SPC LT(_FN, KC_SPC)
13 27
14const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 28const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
29
15 /* Keymap _DEF: Default Layer 30 /* Keymap _DEF: Default Layer
16 * ,-----------------------------------------------------------. 31 * ,-----------------------------------------------------------.
17 * |Esc| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =| \ | ~ | 32 * |Esc| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | \ | ~ |
18 * |-----------------------------------------------------------| 33 * |-----------------------------------------------------------|
19 * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| bspc| 34 * |Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | Bspc|
20 * |-----------------------------------------------------------| 35 * |-----------------------------------------------------------|
21 * |Caps | A| S| D| F| G| H| J| K| L| ;| '| Return | 36 * |Caps | A | S | D | F | G | H | J | K | L | ; | ' | Return |
22 * |-----------------------------------------------------------| 37 * |-----------------------------------------------------------|
23 * |Sft | Fn0| Z| X| C| V| B| N| M| ,| .| /| Sft |Fn2| 38 * |Sft | \ | Z | X | C | V | B | N | M | , | . | / |Shift |Fn |
24 * |-----------------------------------------------------------| 39 * |-----------------------------------------------------------|
25 * |Ctrl|Win |Alt | Space/Fn0 |Alt |Win |Menu|RCtl| 40 * |Ctrl|GUI |Alt | Space/Fn |Alt |GUI | Fn |RCtl|
26 * `-----------------------------------------------------------' 41 * `-----------------------------------------------------------'
27 */ 42 */
28 [_DEF] = LAYOUT_max( 43 [_DEF] = LAYOUT_all(
29 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_BSLS, KC_GRV, \ 44 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_BSLS, KC_GRV,
30 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_BSPC, \ 45 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_BSPC,
31 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, \ 46 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,
32 KC_LSFT, F(0), KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, F(1), \ 47 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, MO(1),
33 KC_LCTL, KC_LALT, KC_LGUI, SPACEDUAL, KC_RGUI, KC_RALT, KC_RCTL, F(2)), 48 KC_LCTL, KC_LGUI, KC_LALT, FN_SPC, KC_RALT, KC_RGUI, MO(1), KC_RCTL
49 ),
34 50
35 /* Keymap 1: F-and-vim Layer, modified with Space (by holding space) 51 /* Keymap 1: F-and-vim Layer, modified with Space (by holding space)
36 * ,-----------------------------------------------------------. 52 * ,-----------------------------------------------------------.
37 * |PrSc| F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12| | | 53 * |PSc|F1 |F2 |F3 |F4 |F5 |F6 |F7 |F8 |F9 |F10|F11|F12| | |
38 * |-----------------------------------------------------------| 54 * |-----------------------------------------------------------|
39 * | |Paus| Up| [ | ] | | | | ( | ) | | | | Del | 55 * | |Pau| Up| | | | | | ( | ) | | | | Del |
40 * |-----------------------------------------------------------| 56 * |-----------------------------------------------------------|
41 * | |Lft|Dwn|Rgt| | |Left|Down|Right|Up| | | PLAY | 57 * | |Lft|Dwn|Rgt| | |Lft|Dwn|Up |Rgh| | | Play |
42 * |-----------------------------------------------------------| 58 * |-----------------------------------------------------------|
43 * | | | | | < | > | |M0 | | | | | Vol+ | | 59 * | | | | | | |Spc| | | | | | Vol+ | |
44 * |-----------------------------------------------------------| 60 * |-----------------------------------------------------------|
45 * | | | | |Alt |Prev|Vol-|Next| 61 * | | | | | |Prev|Vol-|Next|
46 * `-----------------------------------------------------------' 62 * `-----------------------------------------------------------'
47 */ 63 */
48 [_SPC] = LAYOUT_max( 64 [_FN] = LAYOUT_all(
49 KC_PSCR, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, \ 65 KC_PSCR, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______,
50 _______, KC_PAUS, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, \ 66 _______, KC_PAUS, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL,
51 _______, KC_LEFT, KC_DOWN, KC_RIGHT, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______, KC_MPLY, \ 67 _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______, _______, KC_MPLY,
52 _______, _______, _______, _______, _______, _______, KC_SPACE, M(0), _______, _______, _______, _______, KC_VOLU, _______, \ 68 _______, _______, _______, _______, _______, _______, KC_SPC, _______, _______, _______, _______, _______, KC_VOLU, _______,
53 _______, _______, _______, _______, _______, KC_MPRV, KC_VOLD, KC_MNXT), 69 _______, _______, _______, _______, _______, KC_MPRV, KC_VOLD, KC_MNXT
70 ),
54 71
55}; 72};
diff --git a/keyboards/amj60/keymaps/iso_split_rshift/build.sh b/keyboards/amj60/keymaps/iso_split_rshift/build.sh
deleted file mode 100755
index 6b4b4568f..000000000
--- a/keyboards/amj60/keymaps/iso_split_rshift/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/amj60/keymaps/iso_split_rshift/keymap.c b/keyboards/amj60/keymaps/iso_split_rshift/keymap.c
deleted file mode 100644
index 4fbf87c65..000000000
--- a/keyboards/amj60/keymaps/iso_split_rshift/keymap.c
+++ /dev/null
@@ -1,113 +0,0 @@
1
2#include QMK_KEYBOARD_H
3
4// Each layer gets a name for readability, which is then used in the keymap matrix below.
5// The underscores don't mean anything - you can have a layer called STUFF or any other name.
6// Layer names don't all need to be of the same length, obviously, and you can also skip them
7// entirely and just use numbers.
8#define _DEF 0
9#define _SPC 1
10#define _TAB 2
11#define _SFX 3
12
13// dual-role shortcuts
14#define TABDUAL LT(_TAB, KC_TAB)
15#define CAPSDUAL CTL_T(KC_ESC)
16#define SPACEDUAL LT(_SPC, KC_SPACE)
17#define ENTERDUAL CTL_T(KC_ENT)
18// arrow cluster duality bottom right corner
19#define ARRLEFT ALT_T(KC_LEFT)
20#define ARRDOWN GUI_T(KC_DOWN)
21#define ARRUP SFT_T(KC_UP)
22#define ARRRIGHT CTL_T(KC_RIGHT)
23// german brackets
24#define GER_CUR_L RALT(KC_7) // [
25#define GER_CUR_R RALT(KC_0) // ]
26#define GER_PAR_L LSFT(KC_8) // (
27#define GER_PAR_R LSFT(KC_9) // )
28#define GER_ANG_L KC_NUBS // <
29#define GER_ANG_R LSFT(KC_NUBS) // >
30#define GER_BRC_L RALT(KC_8) // [
31#define GER_BRC_R RALT(KC_9) // ]
32
33const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
34 /* Keymap _DEF: Default Layer
35 * ,-----------------------------------------------------------.
36 * |Grv| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|Backsp |
37 * |-----------------------------------------------------------|
38 * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \ | Tab is Fn1
39 * |-----------------------------------------------------------|
40 * |Ctrl | A| S| D| F| G| H| J| K| L| ;| '| Return |
41 * |-----------------------------------------------------------|
42 * |Sft | < | Z| X| C| V| B| N| M| ,| .| /|Shift |Fn2| RShift is UP
43 * |-----------------------------------------------------------|
44 * |Ctrl|Win |Alt | Space/Fn0 |Alt |Win |Menu|RCtl| Gui Menu, RCtrl is
45 * `-----------------------------------------------------------' LEFT DWN RIGHT
46 */
47 [_DEF] = LAYOUT_iso_splitrshift(
48 KC_GRV, 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, \
49 TABDUAL, 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, \
50 CAPSDUAL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, ENTERDUAL, \
51 KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, ARRUP, TG(_SFX), \
52 KC_LCTL, KC_LGUI, KC_LALT, SPACEDUAL, KC_RALT, ARRLEFT, ARRDOWN, ARRRIGHT),
53
54 /* Keymap 1: F-and-vim Layer, modified with Space (by holding space)
55 * ,-----------------------------------------------------------.
56 * |PrSc| F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12|Delete|
57 * |-----------------------------------------------------------|
58 * | |Paus| Up| [ | ] | | | | ( | ) | | | | |
59 * |-----------------------------------------------------------|
60 * | |Lft|Dwn|Rgt| | |Left|Down|Right|Up| | | PLAY |
61 * |-----------------------------------------------------------|
62 * | | | | | < | > | |M0 | | | | | Vol+ | |
63 * |-----------------------------------------------------------|
64 * | | | | |Alt |Prev|Vol-|Next|
65 * `-----------------------------------------------------------'
66 */
67 [_SPC] = LAYOUT_iso_splitrshift(
68 KC_PSCR, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, \
69 _______, KC_PAUS, KC_UP, GER_BRC_L, GER_BRC_R, _______, _______, GER_PAR_L, GER_PAR_R, _______, _______, _______, _______, _______, \
70 _______, KC_LEFT, KC_DOWN, KC_RIGHT, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______, _______, KC_MPLY, \
71 _______, _______, _______, _______, GER_ANG_L, GER_ANG_R, KC_SPACE, RALT(KC_SPC),_______, _______, _______, _______, KC_VOLU, _______, \
72 _______, _______, _______, _______, _______, KC_MPRV, KC_VOLD, KC_MNXT),
73
74 /* Keymap 2: Tab Layer w/ vim pageup, modified with Tab (by holding tab)
75 * ,-----------------------------------------------------------.
76 * |WAKE| | | | | | | | | | | | |Insert| TAB+GRC = WAKE
77 * |-----------------------------------------------------------|
78 * | | | | | | | | | { | } | | | | |
79 * |-----------------------------------------------------------|
80 * | | | | | | |Pos1|PgDn|PgUp|End| | |Retrn |
81 * |-----------------------------------------------------------|
82 * | | | | | | | |AF2| | | | | PgUp | |
83 * |-----------------------------------------------------------|
84 * | | | | |Alt |Pos1|PgDn|End |
85 * `-----------------------------------------------------------'
86 */
87 [_TAB] = LAYOUT_iso_splitrshift(
88 KC_WAKE, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_INS, \
89 _______, _______, _______, _______, _______, _______, _______, GER_CUR_L, GER_CUR_R, _______, _______, _______, _______, _______, \
90 _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END, _______, _______, _______, KC_ENT, \
91 _______, _______, _______, _______, _______, _______, _______, A(KC_F2), _______, _______, _______, _______, KC_PGUP, _______, \
92 _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END),
93
94 /* Keymap 3: Split right shift Numpad toggle Layer (by tapping the split rshift key)
95 * ,-----------------------------------------------------------.
96 * |RSET| | | | | | | 7| 8| 9| | | |Backsp |
97 * |-----------------------------------------------------------|
98 * | | | | | | | | 4 | 5 | 6 | | | | \ |
99 * |-----------------------------------------------------------|
100 * | | L | L | | | | | 1 | 2 | 3 | | | Return |
101 * |-----------------------------------------------------------|
102 * | | | L | L | L | L | L | L | | 0 | | /| Up | | All "L"s represent
103 * |-----------------------------------------------------------| LED controlling
104 * |Ctrl|Win |Alt | |Alt |Left|Down|Right|
105 * `-----------------------------------------------------------'
106 */
107 [_SFX] = LAYOUT_iso_splitrshift(
108 RESET, _______, _______, _______, _______, _______, _______, KC_7, KC_8, KC_9, _______, _______, _______, KC_BSPC, \
109 _______, _______, _______, _______, _______, _______, _______, KC_4, KC_5, KC_6, _______, _______, _______, KC_BSLS, \
110 _______, _______, _______, _______, _______, _______, _______, KC_1, KC_2, KC_3, _______, _______, XXXXXXX, KC_ENT, \
111 _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_0, _______, KC_SLSH, KC_UP, _______, \
112 _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT),
113};
diff --git a/keyboards/amj60/keymaps/iso_split_rshift/readme.md b/keyboards/amj60/keymaps/iso_split_rshift/readme.md
deleted file mode 100644
index 2113d93e4..000000000
--- a/keyboards/amj60/keymaps/iso_split_rshift/readme.md
+++ /dev/null
@@ -1,30 +0,0 @@
1toneman77's custom spacefn Layout
2=====================
3
4##Quantum MK Firmware
5For the full Quantum feature list, see the parent readme.md.
6
7# Features
8* heavily modified ISO (!) layout with split right shift key
9* spaceFn
10* Dual-Role keys:
11*
12 | Original key | when tapped | when held |
13 | ---------------- | ------------- | ------------- |
14 | Space | Space | layer change |
15 | Caps lock | Escape | Control |
16 | Tab | Tab | layer change |
17 | Enter | Enter | Control |
18
19* vim-style arrow keys on hjkl (spacefn layer)
20* corresponding Home/PgDn/PgUp/End on hjkl (tab layer)
21* bonus arrow keys in the bottom right corner on Alt/Win/Menu/rCtrl/Shift
22* more bonus arrow keys on wasd (spacefn layer)
23* media keys prev/next/play/vol+/vol- (spacefn layer)
24* firmware bootloader button
25* additional brackets that only work in german layout due to horrible placement
26in the default qwertz layout
27
28
29### Additional Credits
30* visualization of the layers [here](http://www.keyboard-layout-editor.com/#/gists/aba4e4396459ede85bc66a22cee88e48) (without the LED keys)
diff --git a/keyboards/amj60/keymaps/iso_split_rshift/rules.mk b/keyboards/amj60/keymaps/iso_split_rshift/rules.mk
deleted file mode 100644
index 1b34f4f60..000000000
--- a/keyboards/amj60/keymaps/iso_split_rshift/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(+1000)
6MOUSEKEY_ENABLE = no # Mouse keys(+4700)
7EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
8CONSOLE_ENABLE = no # Console for debug(+400)
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 = no # 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 = no # 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/amj60/keymaps/iso_split_rshift/updatemerge.sh b/keyboards/amj60/keymaps/iso_split_rshift/updatemerge.sh
deleted file mode 100755
index da5457e19..000000000
--- a/keyboards/amj60/keymaps/iso_split_rshift/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/amj60/keymaps/maximized/keymap.c b/keyboards/amj60/keymaps/maximized/keymap.c
deleted file mode 100644
index c5dc25018..000000000
--- a/keyboards/amj60/keymaps/maximized/keymap.c
+++ /dev/null
@@ -1,55 +0,0 @@
1
2#include QMK_KEYBOARD_H
3
4// Each layer gets a name for readability, which is then used in the keymap matrix below.
5// The underscores don't mean anything - you can have a layer called STUFF or any other name.
6// Layer names don't all need to be of the same length, obviously, and you can also skip them
7// entirely and just use numbers.
8#define _DEF 0
9#define _SPC 1
10
11// dual-role shortcuts
12#define SPACEDUAL LT(_SPC, KC_SPACE)
13
14const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
15 /* Keymap _DEF: Default Layer
16 * ,-----------------------------------------------------------.
17 * |Esc| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =| \ | ~ |
18 * |-----------------------------------------------------------|
19 * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| bspc|
20 * |-----------------------------------------------------------|
21 * |Caps | A| S| D| F| G| H| J| K| L| ;| '| Return |
22 * |-----------------------------------------------------------|
23 * |Sft | Fn0| Z| X| C| V| B| N| M| ,| .| /| Sft |Fn2|
24 * |-----------------------------------------------------------|
25 * |Ctrl|Win |Alt | Space/Fn0 |Alt |Win |Menu|RCtl|
26 * `-----------------------------------------------------------'
27 */
28 [_DEF] = LAYOUT_max(
29 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_BSLS, KC_GRV, \
30 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_BSPC, \
31 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, \
32 KC_LSFT, F(0), KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, F(1), \
33 KC_LCTL, KC_LALT, KC_LGUI, SPACEDUAL, KC_RGUI, KC_RALT, KC_RCTL, F(2)),
34
35 /* Keymap 1: F-and-vim Layer, modified with Space (by holding space)
36 * ,-----------------------------------------------------------.
37 * |PrSc| F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12| | |
38 * |-----------------------------------------------------------|
39 * | |Paus| Up| [ | ] | | | | ( | ) | | | | Del |
40 * |-----------------------------------------------------------|
41 * | |Lft|Dwn|Rgt| | |Left|Down|Right|Up| | | PLAY |
42 * |-----------------------------------------------------------|
43 * | | | | | < | > | |M0 | | | | | Vol+ | |
44 * |-----------------------------------------------------------|
45 * | | | | |Alt |Prev|Vol-|Next|
46 * `-----------------------------------------------------------'
47 */
48 [_SPC] = LAYOUT_max(
49 KC_PSCR, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, \
50 _______, KC_PAUS, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, \
51 _______, KC_LEFT, KC_DOWN, KC_RIGHT, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______, KC_MPLY, \
52 _______, _______, _______, _______, _______, _______, KC_SPACE, M(0), _______, _______, _______, _______, KC_VOLU, _______, \
53 _______, _______, _______, _______, _______, KC_MPRV, KC_VOLD, KC_MNXT),
54
55};
diff --git a/keyboards/amj60/readme.md b/keyboards/amj60/readme.md
index 394f86456..50cf3cfcb 100644
--- a/keyboards/amj60/readme.md
+++ b/keyboards/amj60/readme.md
@@ -1,14 +1,22 @@
1AMJ60 1# AMJ60
2=== 2
3![AMJ60](https://raw.githubusercontent.com/noroadsleft/qmk_images/master/keyboards/amj60/s-l1200_640.jpg)
3 4
4A 60% keyboard. 5A 60% keyboard.
5 6
6Keyboard Maintainer: QMK Community 7* Keyboard Maintainer: [The QMK Community](https://github.com/qmk)
7Hardware Supported: AMJ60 8* Hardware Supported: AMJ60
8Hardware Availability: https://geekhack.org/index.php?topic=77636.0 9* Hardware Availability: [~~Taobao~~](http://item.taobao.com/item.htm?id=43500549469) (no longer available)
10* References: [Geekhack](https://geekhack.org/index.php?topic=77636.0)
9 11
10Make example for this keyboard (after setting up your build environment): 12Make example for this keyboard (after setting up your build environment):
11 13
12 make amj60:maximized 14 make amj60:default
15
16Flashing example for this keyboard:
17
18 make amj60:default:flash
19
20To reset the board into bootloader mode, tap the Reset switch mounted on the bottom side of the PCB.
13 21
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. 22See 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/amj60/rules.mk b/keyboards/amj60/rules.mk
index 7bc8ffe18..ff6eea50a 100644
--- a/keyboards/amj60/rules.mk
+++ b/keyboards/amj60/rules.mk
@@ -2,29 +2,23 @@
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 = no # Virtual DIP switch configuration
18MOUSEKEY_ENABLE = no # Mouse keys 11MOUSEKEY_ENABLE = no # 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 = yes # Console for debug
21COMMAND_ENABLE = yes # Commands for debug and configuration 14COMMAND_ENABLE = yes # 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
29 23
30LAYOUTS = 60_ansi 24LAYOUTS = 60_ansi 60_hhkb 60_iso 60_ansi_split_bs_rshift