aboutsummaryrefslogtreecommitdiff
path: root/keyboards/anomalykb/a65i
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/anomalykb/a65i')
-rw-r--r--keyboards/anomalykb/a65i/a65i.c17
-rw-r--r--keyboards/anomalykb/a65i/a65i.h101
-rw-r--r--keyboards/anomalykb/a65i/config.h46
-rw-r--r--keyboards/anomalykb/a65i/info.json395
-rw-r--r--keyboards/anomalykb/a65i/keymaps/ansi_splitbs/keymap.c61
-rw-r--r--keyboards/anomalykb/a65i/keymaps/default/keymap.c61
-rw-r--r--keyboards/anomalykb/a65i/keymaps/iso/keymap.c61
-rw-r--r--keyboards/anomalykb/a65i/keymaps/iso_splitbs/keymap.c61
-rw-r--r--keyboards/anomalykb/a65i/keymaps/via/config.h19
-rw-r--r--keyboards/anomalykb/a65i/keymaps/via/keymap.c61
-rw-r--r--keyboards/anomalykb/a65i/keymaps/via/rules.mk2
-rw-r--r--keyboards/anomalykb/a65i/readme.md17
-rw-r--r--keyboards/anomalykb/a65i/rules.mk18
13 files changed, 920 insertions, 0 deletions
diff --git a/keyboards/anomalykb/a65i/a65i.c b/keyboards/anomalykb/a65i/a65i.c
new file mode 100644
index 000000000..ed9a82938
--- /dev/null
+++ b/keyboards/anomalykb/a65i/a65i.c
@@ -0,0 +1,17 @@
1/* Copyright 2021 Lfgberg
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17#include "a65i.h"
diff --git a/keyboards/anomalykb/a65i/a65i.h b/keyboards/anomalykb/a65i/a65i.h
new file mode 100644
index 000000000..bc8a2bff1
--- /dev/null
+++ b/keyboards/anomalykb/a65i/a65i.h
@@ -0,0 +1,101 @@
1/* Copyright 2021 Lfgberg
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#pragma once
17
18#include "quantum.h"
19
20/* This a shortcut to help you visually see your layout.
21 *
22 * The first section contains all of the arguments representing the physical
23 * layout of the board and position of the keys.
24 *
25 * The second converts the arguments into a two-dimensional array which
26 * represents the switch matrix.
27 */
28#define LAYOUT_all( \
29 K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, \
30 K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1E, K1F, \
31 K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, \
32 K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3E, K3F, \
33 K40, K41, K42, K47, K4A, K4B, K4D, K4E, K4F \
34) \
35{ \
36 { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F }, \
37 { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, KC_NO, K1E, K1F }, \
38 { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F }, \
39 { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, KC_NO, K3E, K3F }, \
40 { K40, K41, K42, KC_NO, KC_NO, KC_NO, KC_NO, K47, KC_NO, KC_NO, K4A, K4B, KC_NO, K4D, K4E, K4F }, \
41}
42
43#define LAYOUT_65_ansi_blocker( \
44 K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0F, \
45 K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1E, K1F, \
46 K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2D, K2F, \
47 K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3E, K3F, \
48 K40, K41, K42, K47, K4A, K4B, K4D, K4E, K4F \
49) \
50{ \
51 { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, KC_NO, K0F }, \
52 { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, KC_NO, K1E, K1F }, \
53 { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, KC_NO, K2D, KC_NO, K2F }, \
54 { K30, KC_NO, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, KC_NO, K3E, K3F }, \
55 { K40, K41, K42, KC_NO, KC_NO, KC_NO, KC_NO, K47, KC_NO, KC_NO, K4A, K4B, KC_NO, K4D, K4E, K4F }, \
56}
57
58#define LAYOUT_65_ansi_blocker_split_bs( \
59 K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, \
60 K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1E, K1F, \
61 K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2D, K2F, \
62 K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3E, K3F, \
63 K40, K41, K42, K47, K4A, K4B, K4D, K4E, K4F \
64) \
65{ \
66 { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F }, \
67 { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, KC_NO, K1E, K1F }, \
68 { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, KC_NO, K2D, KC_NO, K2F }, \
69 { K30, KC_NO, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, KC_NO, K3E, K3F }, \
70 { K40, K41, K42, KC_NO, KC_NO, KC_NO, KC_NO, K47, KC_NO, KC_NO, K4A, K4B, KC_NO, K4D, K4E, K4F }, \
71}
72
73#define LAYOUT_65_iso_blocker( \
74 K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0F, \
75 K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1F, \
76 K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2E, K2F, \
77 K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3E, K3F, \
78 K40, K41, K42, K47, K4A, K4B, K4D, K4E, K4F \
79) \
80{ \
81 { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, KC_NO, K0F }, \
82 { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, KC_NO, KC_NO, K1F }, \
83 { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, KC_NO, K2E, K2F }, \
84 { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, KC_NO, K3E, K3F }, \
85 { K40, K41, K42, KC_NO, KC_NO, KC_NO, KC_NO, K47, KC_NO, KC_NO, K4A, K4B, KC_NO, K4D, K4E, K4F }, \
86}
87
88#define LAYOUT_65_iso_blocker_split_bs( \
89 K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, \
90 K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1F, \
91 K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2E, K2F, \
92 K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3E, K3F, \
93 K40, K41, K42, K47, K4A, K4B, K4D, K4E, K4F \
94) \
95{ \
96 { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F }, \
97 { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, KC_NO, KC_NO, K1F }, \
98 { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, KC_NO, K2E, K2F }, \
99 { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, KC_NO, K3E, K3F }, \
100 { K40, K41, K42, KC_NO, KC_NO, KC_NO, KC_NO, K47, KC_NO, KC_NO, K4A, K4B, KC_NO, K4D, K4E, K4F }, \
101}
diff --git a/keyboards/anomalykb/a65i/config.h b/keyboards/anomalykb/a65i/config.h
new file mode 100644
index 000000000..b6ca4a8b8
--- /dev/null
+++ b/keyboards/anomalykb/a65i/config.h
@@ -0,0 +1,46 @@
1/*
2Copyright 2021 Lfgberg
3
4This program is free software: you can redistribute it and/or modify
5it under the terms of the GNU General Public License as published by
6the Free Software Foundation, either version 2 of the License, or
7(at your option) any later version.
8
9This program is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12GNU General Public License for more details.
13
14You should have received a copy of the GNU General Public License
15along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/
17
18#pragma once
19#include "config_common.h"
20
21/* USB Device descriptor parameter */
22#define VENDOR_ID 0x4C47
23#define PRODUCT_ID 0x0004
24#define DEVICE_VER 0x0001
25#define MANUFACTURER AnomalyKB
26#define PRODUCT AnomalyKB A65I
27
28/* key matrix size */
29#define MATRIX_ROWS 5
30#define MATRIX_COLS 16
31
32#define MATRIX_ROW_PINS { B3, B2, B1, B0, B5 }
33#define MATRIX_COL_PINS { D7, D6, D4, B4, B6, E6, F1, B7, C6, C7, D5, D3, D2, F0, D1, D0 }
34#define UNUSED_PINS
35
36/* COL2ROW or ROW2COL */
37#define DIODE_DIRECTION COL2ROW
38
39/* Set 0 if debouncing isn't needed */
40#define DEBOUNCE 5
41
42/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
43#define LOCKING_SUPPORT_ENABLE
44
45/* Locking resynchronize hack */
46#define LOCKING_RESYNC_ENABLE
diff --git a/keyboards/anomalykb/a65i/info.json b/keyboards/anomalykb/a65i/info.json
new file mode 100644
index 000000000..2cd7e5a4e
--- /dev/null
+++ b/keyboards/anomalykb/a65i/info.json
@@ -0,0 +1,395 @@
1{
2 "keyboard_name": "A65I",
3 "maintainer": "Lfgberg",
4 "layout_aliases": {
5 "LAYOUT_ansi": "LAYOUT_65_ansi_blocker",
6 "LAYOUT_ansi_splitbs": "LAYOUT_65_ansi_blocker_split_bs",
7 "LAYOUT_iso": "LAYOUT_65_iso_blocker",
8 "LAYOUT_iso_splitbs": "LAYOUT_65_iso_blocker_split_bs"
9 },
10 "layouts": {
11 "LAYOUT_all": {
12 "layout": [
13 {"label":"Esc", "x":0, "y":0},
14 {"label":"!", "x":1, "y":0},
15 {"label":"@", "x":2, "y":0},
16 {"label":"#", "x":3, "y":0},
17 {"label":"$", "x":4, "y":0},
18 {"label":"%", "x":5, "y":0},
19 {"label":"^", "x":6, "y":0},
20 {"label":"&", "x":7, "y":0},
21 {"label":"*", "x":8, "y":0},
22 {"label":"(", "x":9, "y":0},
23 {"label":")", "x":10, "y":0},
24 {"label":"_", "x":11, "y":0},
25 {"label":"+", "x":12, "y":0},
26 {"label":"~", "x":13, "y":0},
27 {"label":"Back", "x":14, "y":0},
28 {"label":"Print", "x":15, "y":0},
29
30 {"label":"Tab", "x":0, "y":1, "w":1.5},
31 {"label":"Q", "x":1.5, "y":1},
32 {"label":"W", "x":2.5, "y":1},
33 {"label":"E", "x":3.5, "y":1},
34 {"label":"R", "x":4.5, "y":1},
35 {"label":"T", "x":5.5, "y":1},
36 {"label":"Y", "x":6.5, "y":1},
37 {"label":"U", "x":7.5, "y":1},
38 {"label":"I", "x":8.5, "y":1},
39 {"label":"O", "x":9.5, "y":1},
40 {"label":"P", "x":10.5, "y":1},
41 {"label":"{", "x":11.5, "y":1},
42 {"label":"}", "x":12.5, "y":1},
43 {"label":"|", "x":13.5, "y":1, "w":1.5},
44 {"label":"PgUp", "x":15, "y":1},
45
46 {"label":"Caps Lock", "x":0, "y":2, "w":1.75},
47 {"label":"A", "x":1.75, "y":2},
48 {"label":"S", "x":2.75, "y":2},
49 {"label":"D", "x":3.75, "y":2},
50 {"label":"F", "x":4.75, "y":2},
51 {"label":"G", "x":5.75, "y":2},
52 {"label":"H", "x":6.75, "y":2},
53 {"label":"J", "x":7.75, "y":2},
54 {"label":"K", "x":8.75, "y":2},
55 {"label":"L", "x":9.75, "y":2},
56 {"label":":", "x":10.75, "y":2},
57 {"label":"\"", "x":11.75, "y":2},
58 {"label":"ISO #/~", "x":16.25, "y":2},
59 {"label":"ANSI Enter", "x":12.75, "y":2, "w":2.25},
60 {"label":"ISO Enter", "x":17.25, "y":1, "w":1.25, "h":2},
61 {"label":"PgDn", "x":15, "y":2},
62
63 {"label":"Shift", "x":0, "y":3, "w":1.25},
64 {"label":"ISO \\/|", "x":1.25, "y":3},
65 {"label":"Z", "x":2.25, "y":3},
66 {"label":"X", "x":3.25, "y":3},
67 {"label":"C", "x":4.25, "y":3},
68 {"label":"V", "x":5.25, "y":3},
69 {"label":"B", "x":6.25, "y":3},
70 {"label":"N", "x":7.25, "y":3},
71 {"label":"M", "x":8.25, "y":3},
72 {"label":"<", "x":9.25, "y":3},
73 {"label":">", "x":10.25, "y":3},
74 {"label":"?", "x":11.25, "y":3},
75 {"label":"Shift", "x":12.25, "y":3, "w":1.75},
76 {"label":"Up", "x":14, "y":3},
77 {"label":"Delete", "x":15, "y":3},
78
79 {"label":"Ctrl", "x":0, "y":4, "w":1.25},
80 {"label":"Win", "x":1.25, "y":4, "w":1.25},
81 {"label":"Alt", "x":2.5, "y":4, "w":1.25},
82 {"label":"Space", "x":3.75, "y":4, "w":6.25},
83 {"label":"Alt", "x":10, "y":4, "w":1.25},
84 {"label":"MO(1)", "x":11.25, "y":4, "w":1.25},
85 {"label":"Left", "x":13, "y":4},
86 {"label":"Down", "x":14, "y":4},
87 {"label":"Right", "x":15, "y":4}
88 ]
89 },
90 "LAYOUT_65_ansi_blocker": {
91 "layout": [
92 {"label":"Esc", "x":0, "y":0},
93 {"label":"!", "x":1, "y":0},
94 {"label":"@", "x":2, "y":0},
95 {"label":"#", "x":3, "y":0},
96 {"label":"$", "x":4, "y":0},
97 {"label":"%", "x":5, "y":0},
98 {"label":"^", "x":6, "y":0},
99 {"label":"&", "x":7, "y":0},
100 {"label":"*", "x":8, "y":0},
101 {"label":"(", "x":9, "y":0},
102 {"label":")", "x":10, "y":0},
103 {"label":"_", "x":11, "y":0},
104 {"label":"+", "x":12, "y":0},
105 {"label":"Backspace", "x":13, "y":0, "w":2},
106 {"label":"Print", "x":15, "y":0},
107
108 {"label":"Tab", "x":0, "y":1, "w":1.5},
109 {"label":"Q", "x":1.5, "y":1},
110 {"label":"W", "x":2.5, "y":1},
111 {"label":"E", "x":3.5, "y":1},
112 {"label":"R", "x":4.5, "y":1},
113 {"label":"T", "x":5.5, "y":1},
114 {"label":"Y", "x":6.5, "y":1},
115 {"label":"U", "x":7.5, "y":1},
116 {"label":"I", "x":8.5, "y":1},
117 {"label":"O", "x":9.5, "y":1},
118 {"label":"P", "x":10.5, "y":1},
119 {"label":"{", "x":11.5, "y":1},
120 {"label":"}", "x":12.5, "y":1},
121 {"label":"|", "x":13.5, "y":1, "w":1.5},
122 {"label":"PgUp", "x":15, "y":1},
123
124 {"label":"Caps Lock", "x":0, "y":2, "w":1.75},
125 {"label":"A", "x":1.75, "y":2},
126 {"label":"S", "x":2.75, "y":2},
127 {"label":"D", "x":3.75, "y":2},
128 {"label":"F", "x":4.75, "y":2},
129 {"label":"G", "x":5.75, "y":2},
130 {"label":"H", "x":6.75, "y":2},
131 {"label":"J", "x":7.75, "y":2},
132 {"label":"K", "x":8.75, "y":2},
133 {"label":"L", "x":9.75, "y":2},
134 {"label":":", "x":10.75, "y":2},
135 {"label":"\"", "x":11.75, "y":2},
136 {"label":"Enter", "x":12.75, "y":2, "w":2.25},
137 {"label":"PgDn", "x":15, "y":2},
138
139 {"label":"Shift", "x":0, "y":3, "w":2.25},
140 {"label":"Z", "x":2.25, "y":3},
141 {"label":"X", "x":3.25, "y":3},
142 {"label":"C", "x":4.25, "y":3},
143 {"label":"V", "x":5.25, "y":3},
144 {"label":"B", "x":6.25, "y":3},
145 {"label":"N", "x":7.25, "y":3},
146 {"label":"M", "x":8.25, "y":3},
147 {"label":"<", "x":9.25, "y":3},
148 {"label":">", "x":10.25, "y":3},
149 {"label":"?", "x":11.25, "y":3},
150 {"label":"Shift", "x":12.25, "y":3, "w":1.75},
151 {"label":"Up", "x":14, "y":3},
152 {"label":"Delete", "x":15, "y":3},
153
154 {"label":"Ctrl", "x":0, "y":4, "w":1.25},
155 {"label":"Win", "x":1.25, "y":4, "w":1.25},
156 {"label":"Alt", "x":2.5, "y":4, "w":1.25},
157 {"label":"Space", "x":3.75, "y":4, "w":6.25},
158 {"label":"Alt", "x":10, "y":4, "w":1.25},
159 {"label":"MO(1)", "x":11.25, "y":4, "w":1.25},
160 {"label":"Left", "x":13, "y":4},
161 {"label":"Down", "x":14, "y":4},
162 {"label":"Right", "x":15, "y":4}
163 ]
164 },
165 "LAYOUT_65_ansi_blocker_split_bs": {
166 "layout": [
167 {"label":"Esc", "x":0, "y":0},
168 {"label":"!", "x":1, "y":0},
169 {"label":"@", "x":2, "y":0},
170 {"label":"#", "x":3, "y":0},
171 {"label":"$", "x":4, "y":0},
172 {"label":"%", "x":5, "y":0},
173 {"label":"^", "x":6, "y":0},
174 {"label":"&", "x":7, "y":0},
175 {"label":"*", "x":8, "y":0},
176 {"label":"(", "x":9, "y":0},
177 {"label":")", "x":10, "y":0},
178 {"label":"_", "x":11, "y":0},
179 {"label":"+", "x":12, "y":0},
180 {"label":"~", "x":13, "y":0},
181 {"label":"Back", "x":14, "y":0},
182 {"label":"Print", "x":15, "y":0},
183
184 {"label":"Tab", "x":0, "y":1, "w":1.5},
185 {"label":"Q", "x":1.5, "y":1},
186 {"label":"W", "x":2.5, "y":1},
187 {"label":"E", "x":3.5, "y":1},
188 {"label":"R", "x":4.5, "y":1},
189 {"label":"T", "x":5.5, "y":1},
190 {"label":"Y", "x":6.5, "y":1},
191 {"label":"U", "x":7.5, "y":1},
192 {"label":"I", "x":8.5, "y":1},
193 {"label":"O", "x":9.5, "y":1},
194 {"label":"P", "x":10.5, "y":1},
195 {"label":"{", "x":11.5, "y":1},
196 {"label":"}", "x":12.5, "y":1},
197 {"label":"|", "x":13.5, "y":1, "w":1.5},
198 {"label":"PgUp", "x":15, "y":1},
199
200 {"label":"Caps Lock", "x":0, "y":2, "w":1.75},
201 {"label":"A", "x":1.75, "y":2},
202 {"label":"S", "x":2.75, "y":2},
203 {"label":"D", "x":3.75, "y":2},
204 {"label":"F", "x":4.75, "y":2},
205 {"label":"G", "x":5.75, "y":2},
206 {"label":"H", "x":6.75, "y":2},
207 {"label":"J", "x":7.75, "y":2},
208 {"label":"K", "x":8.75, "y":2},
209 {"label":"L", "x":9.75, "y":2},
210 {"label":":", "x":10.75, "y":2},
211 {"label":"\"", "x":11.75, "y":2},
212 {"label":"Enter", "x":12.75, "y":2, "w":2.25},
213 {"label":"PgDn", "x":15, "y":2},
214
215 {"label":"Shift", "x":0, "y":3, "w":2.25},
216 {"label":"Z", "x":2.25, "y":3},
217 {"label":"X", "x":3.25, "y":3},
218 {"label":"C", "x":4.25, "y":3},
219 {"label":"V", "x":5.25, "y":3},
220 {"label":"B", "x":6.25, "y":3},
221 {"label":"N", "x":7.25, "y":3},
222 {"label":"M", "x":8.25, "y":3},
223 {"label":"<", "x":9.25, "y":3},
224 {"label":">", "x":10.25, "y":3},
225 {"label":"?", "x":11.25, "y":3},
226 {"label":"Shift", "x":12.25, "y":3, "w":1.75},
227 {"label":"Up", "x":14, "y":3},
228 {"label":"Delete", "x":15, "y":3},
229
230 {"label":"Ctrl", "x":0, "y":4, "w":1.25},
231 {"label":"Win", "x":1.25, "y":4, "w":1.25},
232 {"label":"Alt", "x":2.5, "y":4, "w":1.25},
233 {"label":"Space", "x":3.75, "y":4, "w":6.25},
234 {"label":"Alt", "x":10, "y":4, "w":1.25},
235 {"label":"MO(1)", "x":11.25, "y":4, "w":1.25},
236 {"label":"Left", "x":13, "y":4},
237 {"label":"Down", "x":14, "y":4},
238 {"label":"Right", "x":15, "y":4}
239 ]
240 },
241 "LAYOUT_65_iso_blocker": {
242 "layout": [
243 {"label":"Esc", "x":0, "y":0},
244 {"label":"!", "x":1, "y":0},
245 {"label":"@", "x":2, "y":0},
246 {"label":"#", "x":3, "y":0},
247 {"label":"$", "x":4, "y":0},
248 {"label":"%", "x":5, "y":0},
249 {"label":"^", "x":6, "y":0},
250 {"label":"&", "x":7, "y":0},
251 {"label":"*", "x":8, "y":0},
252 {"label":"(", "x":9, "y":0},
253 {"label":")", "x":10, "y":0},
254 {"label":"_", "x":11, "y":0},
255 {"label":"+", "x":12, "y":0},
256 {"label":"Backspace", "x":13, "y":0, "w":2},
257 {"label":"Print", "x":15, "y":0},
258
259 {"label":"Tab", "x":0, "y":1, "w":1.5},
260 {"label":"Q", "x":1.5, "y":1},
261 {"label":"W", "x":2.5, "y":1},
262 {"label":"E", "x":3.5, "y":1},
263 {"label":"R", "x":4.5, "y":1},
264 {"label":"T", "x":5.5, "y":1},
265 {"label":"Y", "x":6.5, "y":1},
266 {"label":"U", "x":7.5, "y":1},
267 {"label":"I", "x":8.5, "y":1},
268 {"label":"O", "x":9.5, "y":1},
269 {"label":"P", "x":10.5, "y":1},
270 {"label":"{", "x":11.5, "y":1},
271 {"label":"}", "x":12.5, "y":1},
272 {"label":"PgUp", "x":15, "y":1},
273
274 {"label":"Caps Lock", "x":0, "y":2, "w":1.75},
275 {"label":"A", "x":1.75, "y":2},
276 {"label":"S", "x":2.75, "y":2},
277 {"label":"D", "x":3.75, "y":2},
278 {"label":"F", "x":4.75, "y":2},
279 {"label":"G", "x":5.75, "y":2},
280 {"label":"H", "x":6.75, "y":2},
281 {"label":"J", "x":7.75, "y":2},
282 {"label":"K", "x":8.75, "y":2},
283 {"label":"L", "x":9.75, "y":2},
284 {"label":":", "x":10.75, "y":2},
285 {"label":"\"", "x":11.75, "y":2},
286 {"label":"~", "x":12.75, "y":2},
287 {"label":"Enter", "x":13.75, "y":1, "w":1.25, "h":2},
288 {"label":"PgDn", "x":15, "y":2},
289
290 {"label":"Shift", "x":0, "y":3, "w":1.25},
291 {"label":"|", "x":1.25, "y":3},
292 {"label":"Z", "x":2.25, "y":3},
293 {"label":"X", "x":3.25, "y":3},
294 {"label":"C", "x":4.25, "y":3},
295 {"label":"V", "x":5.25, "y":3},
296 {"label":"B", "x":6.25, "y":3},
297 {"label":"N", "x":7.25, "y":3},
298 {"label":"M", "x":8.25, "y":3},
299 {"label":"<", "x":9.25, "y":3},
300 {"label":">", "x":10.25, "y":3},
301 {"label":"?", "x":11.25, "y":3},
302 {"label":"Shift", "x":12.25, "y":3, "w":1.75},
303 {"label":"Up", "x":14, "y":3},
304 {"label":"Delete", "x":15, "y":3},
305
306 {"label":"Ctrl", "x":0, "y":4, "w":1.25},
307 {"label":"Win", "x":1.25, "y":4, "w":1.25},
308 {"label":"Alt", "x":2.5, "y":4, "w":1.25},
309 {"label":"Space", "x":3.75, "y":4, "w":6.25},
310 {"label":"Alt", "x":10, "y":4, "w":1.25},
311 {"label":"MO(1)", "x":11.25, "y":4, "w":1.25},
312 {"label":"Left", "x":13, "y":4},
313 {"label":"Down", "x":14, "y":4},
314 {"label":"Right", "x":15, "y":4}
315 ]
316 },
317 "LAYOUT_65_iso_blocker_split_bs": {
318 "layout": [
319 {"label":"Esc", "x":0, "y":0},
320 {"label":"!", "x":1, "y":0},
321 {"label":"@", "x":2, "y":0},
322 {"label":"#", "x":3, "y":0},
323 {"label":"$", "x":4, "y":0},
324 {"label":"%", "x":5, "y":0},
325 {"label":"^", "x":6, "y":0},
326 {"label":"&", "x":7, "y":0},
327 {"label":"*", "x":8, "y":0},
328 {"label":"(", "x":9, "y":0},
329 {"label":")", "x":10, "y":0},
330 {"label":"_", "x":11, "y":0},
331 {"label":"+", "x":12, "y":0},
332 {"label":"~", "x":13, "y":0},
333 {"label":"Back", "x":14, "y":0},
334 {"label":"Print", "x":15, "y":0},
335
336 {"label":"Tab", "x":0, "y":1, "w":1.5},
337 {"label":"Q", "x":1.5, "y":1},
338 {"label":"W", "x":2.5, "y":1},
339 {"label":"E", "x":3.5, "y":1},
340 {"label":"R", "x":4.5, "y":1},
341 {"label":"T", "x":5.5, "y":1},
342 {"label":"Y", "x":6.5, "y":1},
343 {"label":"U", "x":7.5, "y":1},
344 {"label":"I", "x":8.5, "y":1},
345 {"label":"O", "x":9.5, "y":1},
346 {"label":"P", "x":10.5, "y":1},
347 {"label":"{", "x":11.5, "y":1},
348 {"label":"}", "x":12.5, "y":1},
349 {"label":"PgUp", "x":15, "y":1},
350
351 {"label":"Caps Lock", "x":0, "y":2, "w":1.75},
352 {"label":"A", "x":1.75, "y":2},
353 {"label":"S", "x":2.75, "y":2},
354 {"label":"D", "x":3.75, "y":2},
355 {"label":"F", "x":4.75, "y":2},
356 {"label":"G", "x":5.75, "y":2},
357 {"label":"H", "x":6.75, "y":2},
358 {"label":"J", "x":7.75, "y":2},
359 {"label":"K", "x":8.75, "y":2},
360 {"label":"L", "x":9.75, "y":2},
361 {"label":":", "x":10.75, "y":2},
362 {"label":"\"", "x":11.75, "y":2},
363 {"label":"~", "x":12.75, "y":2},
364 {"label":"Enter", "x":13.75, "y":1, "w":1.25, "h":2},
365 {"label":"PgDn", "x":15, "y":2},
366
367 {"label":"Shift", "x":0, "y":3, "w":1.25},
368 {"label":"|", "x":1.25, "y":3},
369 {"label":"Z", "x":2.25, "y":3},
370 {"label":"X", "x":3.25, "y":3},
371 {"label":"C", "x":4.25, "y":3},
372 {"label":"V", "x":5.25, "y":3},
373 {"label":"B", "x":6.25, "y":3},
374 {"label":"N", "x":7.25, "y":3},
375 {"label":"M", "x":8.25, "y":3},
376 {"label":"<", "x":9.25, "y":3},
377 {"label":">", "x":10.25, "y":3},
378 {"label":"?", "x":11.25, "y":3},
379 {"label":"Shift", "x":12.25, "y":3, "w":1.75},
380 {"label":"Up", "x":14, "y":3},
381 {"label":"Delete", "x":15, "y":3},
382
383 {"label":"Ctrl", "x":0, "y":4, "w":1.25},
384 {"label":"Win", "x":1.25, "y":4, "w":1.25},
385 {"label":"Alt", "x":2.5, "y":4, "w":1.25},
386 {"label":"Space", "x":3.75, "y":4, "w":6.25},
387 {"label":"Alt", "x":10, "y":4, "w":1.25},
388 {"label":"MO(1)", "x":11.25, "y":4, "w":1.25},
389 {"label":"Left", "x":13, "y":4},
390 {"label":"Down", "x":14, "y":4},
391 {"label":"Right", "x":15, "y":4}
392 ]
393 }
394 }
395}
diff --git a/keyboards/anomalykb/a65i/keymaps/ansi_splitbs/keymap.c b/keyboards/anomalykb/a65i/keymaps/ansi_splitbs/keymap.c
new file mode 100644
index 000000000..6c7b1094b
--- /dev/null
+++ b/keyboards/anomalykb/a65i/keymaps/ansi_splitbs/keymap.c
@@ -0,0 +1,61 @@
1/* Copyright 2021 Lfgberg
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#include QMK_KEYBOARD_H
17
18const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
19/* Default Layer
20 * ,----------------------------------------------------------------.
21 * |Esc| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|~ |Back|Home|
22 * |----------------------------------------------------------------|
23 * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \ |PgUp|
24 * |----------------------------------------------------------------|
25 * |Caps | A| S| D| F| G| H| J| K| L| ;| '|Return |PgDn|
26 * |----------------------------------------------------------------|
27 * |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift | Up|Del |
28 * |----------------------------------------------------------------|
29 * |Ctrl|Win |Alt | Space |Alt| FN|Ctrl|Lef|Dow|Rig |
30 * `----------------------------------------------------------------'
31 */
32
33[0] = LAYOUT_65_ansi_blocker_split_bs(
34 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_GRV, KC_BSPC, KC_PSCR,
35 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP,
36 KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN,
37 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_DEL,
38 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT),
39
40 /* Layer One
41 * ,----------------------------------------------------------------.
42 * |Esc| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|Backsp |Home|
43 * |----------------------------------------------------------------|
44 * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \ |PgUp|
45 * |----------------------------------------------------------------|
46 * |Caps | A| S| D| F| G| H| J| K| L| ;| '|Return |PgDn|
47 * |----------------------------------------------------------------|
48 * |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift | Up|Del |
49 * |----------------------------------------------------------------|
50 * |Ctrl|Win |Alt | Space |Alt| FN|Ctrl|Lef|Dow|Rig |
51 * `----------------------------------------------------------------'
52 */
53
54 [1] = LAYOUT_65_ansi_blocker_split_bs(
55 RESET, 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_TRNS, KC_TRNS, KC_TRNS,
56 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
57 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
58 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
59 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
60
61};
diff --git a/keyboards/anomalykb/a65i/keymaps/default/keymap.c b/keyboards/anomalykb/a65i/keymaps/default/keymap.c
new file mode 100644
index 000000000..c12189c62
--- /dev/null
+++ b/keyboards/anomalykb/a65i/keymaps/default/keymap.c
@@ -0,0 +1,61 @@
1/* Copyright 2021 Lfgberg
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#include QMK_KEYBOARD_H
17
18const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
19/* Default Layer
20 * ,----------------------------------------------------------------.
21 * |Esc| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|Backsp |Home|
22 * |----------------------------------------------------------------|
23 * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \ |PgUp|
24 * |----------------------------------------------------------------|
25 * |Caps | A| S| D| F| G| H| J| K| L| ;| '|Return |PgDn|
26 * |----------------------------------------------------------------|
27 * |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift | Up|Del |
28 * |----------------------------------------------------------------|
29 * |Ctrl|Win |Alt | Space |Alt| FN|Ctrl|Lef|Dow|Rig |
30 * `----------------------------------------------------------------'
31 */
32
33[0] = LAYOUT_65_ansi_blocker(
34 KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_PSCR,
35 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP,
36 KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN,
37 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_DEL,
38 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT),
39
40 /* Layer One
41 * ,----------------------------------------------------------------.
42 * |RST| F1| F2| F3| F4| F5| F6| F7| F8| F9| F0|F11|F12|Backsp |Home|
43 * |----------------------------------------------------------------|
44 * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \ |PgUp|
45 * |----------------------------------------------------------------|
46 * |Caps | A| S| D| F| G| H| J| K| L| ;| '|Return |PgDn|
47 * |----------------------------------------------------------------|
48 * |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift | Up|Del |
49 * |----------------------------------------------------------------|
50 * |Ctrl|Win |Alt | Space |Alt| FN|Ctrl|Lef|Dow|Rig |
51 * `----------------------------------------------------------------'
52 */
53
54 [1] = LAYOUT_65_ansi_blocker(
55 RESET, 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_TRNS, KC_TRNS,
56 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
57 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
58 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
59 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
60
61};
diff --git a/keyboards/anomalykb/a65i/keymaps/iso/keymap.c b/keyboards/anomalykb/a65i/keymaps/iso/keymap.c
new file mode 100644
index 000000000..b40ea686b
--- /dev/null
+++ b/keyboards/anomalykb/a65i/keymaps/iso/keymap.c
@@ -0,0 +1,61 @@
1/* Copyright 2021 Lfgberg
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#include QMK_KEYBOARD_H
17
18const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
19/* Default Layer
20 * ,----------------------------------------------------------------.
21 * |Esc| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =| Delete|Home|
22 * |----------------------------------------------------------------|
23 * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| E |PgUp|
24 * |-----------------------------------------------------| N |----|
25 * |Caps | A| S| D| F| G| H| J| K| L| ;|' |~ | T |PgDn|
26 * |----------------------------------------------------------------|
27 * |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift | Up|Del |
28 * |----------------------------------------------------------------|
29 * |Ctrl|Win |Alt | Space |Alt| FN|Ctrl|Lef|Dow|Rig |
30 * `----------------------------------------------------------------'
31 */
32
33[0] = LAYOUT_65_iso_blocker(
34 KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_PSCR,
35 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_PGUP,
36 KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_PGDN,
37 KC_LSFT, KC_BSLS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_DEL,
38 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT),
39
40 /* Layer One
41 * ,----------------------------------------------------------------.
42 * |RST| F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12| Delete|Home|
43 * |----------------------------------------------------------------|
44 * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| E |PgUp|
45 * |-----------------------------------------------------| N |----|
46 * |Caps | A| S| D| F| G| H| J| K| L| ;|' |~ | T |PgDn|
47 * |----------------------------------------------------------------|
48 * |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift | Up|Del |
49 * |----------------------------------------------------------------|
50 * |Ctrl|Win |Alt | Space |Alt| FN|Ctrl|Lef|Dow|Rig |
51 * `----------------------------------------------------------------'
52 */
53
54 [1] = LAYOUT_65_iso_blocker(
55 RESET, 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_TRNS, KC_TRNS,
56 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
57 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
58 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
59 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
60
61};
diff --git a/keyboards/anomalykb/a65i/keymaps/iso_splitbs/keymap.c b/keyboards/anomalykb/a65i/keymaps/iso_splitbs/keymap.c
new file mode 100644
index 000000000..7e9b97d40
--- /dev/null
+++ b/keyboards/anomalykb/a65i/keymaps/iso_splitbs/keymap.c
@@ -0,0 +1,61 @@
1/* Copyright 2021 Lfgberg
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#include QMK_KEYBOARD_H
17
18const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
19/* Default Layer
20 * ,----------------------------------------------------------------.
21 * |Esc| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|~ |Back|Home|
22 * |----------------------------------------------------------------|
23 * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| E |PgUp|
24 * |-----------------------------------------------------| N |----|
25 * |Caps | A| S| D| F| G| H| J| K| L| ;|' |~ | T |PgDn|
26 * |----------------------------------------------------------------|
27 * |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift | Up|Del |
28 * |----------------------------------------------------------------|
29 * |Ctrl|Win |Alt | Space |Alt| FN|Ctrl|Lef|Dow|Rig |
30 * `----------------------------------------------------------------'
31 */
32
33[0] = LAYOUT_65_iso_blocker_split_bs(
34 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_GRV, KC_BSPC, KC_PSCR,
35 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_PGUP,
36 KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_PGDN,
37 KC_LSFT, KC_BSLS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_DEL,
38 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT),
39
40 /* Layer One
41 * ,----------------------------------------------------------------.
42 * |RST| F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12|~ |Back|Home|
43 * |----------------------------------------------------------------|
44 * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| E |PgUp|
45 * |-----------------------------------------------------| N |----|
46 * |Caps | A| S| D| F| G| H| J| K| L| ;|' |~ | T |PgDn|
47 * |----------------------------------------------------------------|
48 * |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift | Up|Del |
49 * |----------------------------------------------------------------|
50 * |Ctrl|Win |Alt | Space |Alt| FN|Ctrl|Lef|Dow|Rig |
51 * `----------------------------------------------------------------'
52 */
53
54 [1] = LAYOUT_65_iso_blocker_split_bs(
55 RESET, 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_TRNS, KC_TRNS, KC_TRNS,
56 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
57 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
58 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
59 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
60
61};
diff --git a/keyboards/anomalykb/a65i/keymaps/via/config.h b/keyboards/anomalykb/a65i/keymaps/via/config.h
new file mode 100644
index 000000000..e352e4256
--- /dev/null
+++ b/keyboards/anomalykb/a65i/keymaps/via/config.h
@@ -0,0 +1,19 @@
1/* Copyright 2021 Lfgberg
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17#pragma once
18
19#define DYNAMIC_KEYMAP_LAYER_COUNT 2
diff --git a/keyboards/anomalykb/a65i/keymaps/via/keymap.c b/keyboards/anomalykb/a65i/keymaps/via/keymap.c
new file mode 100644
index 000000000..c12189c62
--- /dev/null
+++ b/keyboards/anomalykb/a65i/keymaps/via/keymap.c
@@ -0,0 +1,61 @@
1/* Copyright 2021 Lfgberg
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#include QMK_KEYBOARD_H
17
18const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
19/* Default Layer
20 * ,----------------------------------------------------------------.
21 * |Esc| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|Backsp |Home|
22 * |----------------------------------------------------------------|
23 * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \ |PgUp|
24 * |----------------------------------------------------------------|
25 * |Caps | A| S| D| F| G| H| J| K| L| ;| '|Return |PgDn|
26 * |----------------------------------------------------------------|
27 * |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift | Up|Del |
28 * |----------------------------------------------------------------|
29 * |Ctrl|Win |Alt | Space |Alt| FN|Ctrl|Lef|Dow|Rig |
30 * `----------------------------------------------------------------'
31 */
32
33[0] = LAYOUT_65_ansi_blocker(
34 KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_PSCR,
35 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP,
36 KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN,
37 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_DEL,
38 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT),
39
40 /* Layer One
41 * ,----------------------------------------------------------------.
42 * |RST| F1| F2| F3| F4| F5| F6| F7| F8| F9| F0|F11|F12|Backsp |Home|
43 * |----------------------------------------------------------------|
44 * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \ |PgUp|
45 * |----------------------------------------------------------------|
46 * |Caps | A| S| D| F| G| H| J| K| L| ;| '|Return |PgDn|
47 * |----------------------------------------------------------------|
48 * |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift | Up|Del |
49 * |----------------------------------------------------------------|
50 * |Ctrl|Win |Alt | Space |Alt| FN|Ctrl|Lef|Dow|Rig |
51 * `----------------------------------------------------------------'
52 */
53
54 [1] = LAYOUT_65_ansi_blocker(
55 RESET, 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_TRNS, KC_TRNS,
56 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
57 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
58 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
59 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
60
61};
diff --git a/keyboards/anomalykb/a65i/keymaps/via/rules.mk b/keyboards/anomalykb/a65i/keymaps/via/rules.mk
new file mode 100644
index 000000000..36b7ba9cb
--- /dev/null
+++ b/keyboards/anomalykb/a65i/keymaps/via/rules.mk
@@ -0,0 +1,2 @@
1VIA_ENABLE = yes
2LTO_ENABLE = yes
diff --git a/keyboards/anomalykb/a65i/readme.md b/keyboards/anomalykb/a65i/readme.md
new file mode 100644
index 000000000..fbf30301c
--- /dev/null
+++ b/keyboards/anomalykb/a65i/readme.md
@@ -0,0 +1,17 @@
1# a65i
2
3![a65i](https://i.imgur.com/J4fzVVth.jpg)
4
5PCB designed by Lfgberg for the AnomalyKB a65i.
6
7To enter bootloader mode, either utilize the reset button near the MCU, or short the ESC key for bootmagic lite.
8
9* Keyboard Maintainer: [Lfgberg](https://github.com/lfgberg)
10* Hardware Supported: A65I PCB
11* Hardware Availability: [AnomalyKB](anomalykb.co)
12
13Make example for this keyboard (after setting up your build environment):
14
15 make anomalykb/a65i:default
16
17See 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/anomalykb/a65i/rules.mk b/keyboards/anomalykb/a65i/rules.mk
new file mode 100644
index 000000000..557477e92
--- /dev/null
+++ b/keyboards/anomalykb/a65i/rules.mk
@@ -0,0 +1,18 @@
1# MCU name
2MCU = atmega32u4
3
4# Bootloader selection
5BOOTLOADER = atmel-dfu
6
7# Build Options
8# change yes to no to disable
9#
10BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
11MOUSEKEY_ENABLE = yes # Mouse keys
12EXTRAKEY_ENABLE = yes # Audio control and System control
13CONSOLE_ENABLE = yes # Console for debug
14COMMAND_ENABLE = no # Commands for debug and configuration
15NKRO_ENABLE = yes # Enable N-Key Rollover
16BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
17RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
18AUDIO_ENABLE = no # Audio output