aboutsummaryrefslogtreecommitdiff
path: root/keyboards/amj60/amj60.h
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/amj60/amj60.h')
-rw-r--r--keyboards/amj60/amj60.h131
1 files changed, 131 insertions, 0 deletions
diff --git a/keyboards/amj60/amj60.h b/keyboards/amj60/amj60.h
new file mode 100644
index 000000000..feda68003
--- /dev/null
+++ b/keyboards/amj60/amj60.h
@@ -0,0 +1,131 @@
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 */
17
18#pragma once
19
20#include "quantum.h"
21
22// readability
23#define XXX KC_NO
24
25/* AMJ60 layout to the best of my knowledge matrix layout
26 *
27 * I scoured the internet researching this PCB, which near as I know was
28 * discontinued around 2017. Fortunately, the wiring seems to be based on the
29 * GH60, and I own a KC60, which is also based on the GH60. I traced my KC60
30 * (which I already had apart!) and worked out the right shift can be split
31 * 1.75/1 (HHKB style) or 1/1.75 (JIS/ABNT2). With either split, the 1u key
32 * was on column C, so I used that here.
33 *
34 * - noroadsleft
35 *
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 *
57 */
58#define LAYOUT_all( \
59 k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k49,\
60 k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, \
61 k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, \
62 k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3d, k3c, \
63 k40, k41, k42, k45, k4a, k4b, k4c, k4d \
64) \
65{ \
66 {k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d}, \
67 {k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d}, \
68 {k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d}, \
69 {k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d}, \
70 {k40, k41, k42, XXX, XXX, k45, XXX, XXX, XXX, k49, k4a, k4b, k4c, k4d} \
71}
72
73#define LAYOUT_60_ansi( \
74 k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, \
75 k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, \
76 k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2d, \
77 k30, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3d, \
78 k40, k41, k42, k45, k4a, k4b, k4c, k4d \
79) \
80{ \
81 {k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d}, \
82 {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, XXX, k2d}, \
84 {k30, XXX, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, XXX, k3d}, \
85 {k40, k41, k42, XXX, XXX, k45, XXX, XXX, XXX, XXX, k4a, k4b, k4c, k4d} \
86}
87
88#define LAYOUT_60_hhkb( \
89 k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k49, \
90 k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, \
91 k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2d, \
92 k30, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3d, k3c, \
93 k41, k42, k45, k4b, k4c \
94) \
95{ \
96 {k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d}, \
97 {k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d}, \
98 {k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, XXX, k2d}, \
99 {k30, XXX, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d}, \
100 {XXX, k41, k42, XXX, XXX, k45, XXX, XXX, XXX, k49, XXX, k4b, k4c, XXX} \
101}
102
103#define LAYOUT_60_iso( \
104 k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, \
105 k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, \
106 k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, \
107 k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3d, \
108 k40, k41, k42, k45, k4a, k4b, k4c, k4d \
109) \
110{ \
111 {k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d}, \
112 {k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, XXX}, \
113 {k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d}, \
114 {k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, XXX, k3d}, \
115 {k40, k41, k42, XXX, XXX, k45, XXX, XXX, XXX, XXX, k4a, k4b, k4c, k4d} \
116}
117
118#define LAYOUT_60_ansi_split_bs_rshift( \
119 k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k49,\
120 k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, \
121 k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2d, \
122 k30, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3d, k3c, \
123 k40, k41, k42, k45, k4a, k4b, k4c, k4d \
124) \
125{ \
126 {k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d}, \
127 {k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d}, \
128 {k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, XXX, k2d}, \
129 {k30, XXX, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d}, \
130 {k40, k41, k42, XXX, XXX, k45, XXX, XXX, XXX, k49, k4a, k4b, k4c, k4d} \
131}