diff options
Diffstat (limited to 'keyboards/amj60/amj60.h')
-rw-r--r-- | keyboards/amj60/amj60.h | 158 |
1 files changed, 60 insertions, 98 deletions
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 | |||
166 | void matrix_init_user(void); | ||
167 | void matrix_scan_user(void); | ||
168 | |||
169 | #endif | ||