summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorfedericoweber <federicoweber@gmail.com>2022-02-21 00:38:53 -0800
committerGitHub <noreply@github.com>2022-02-21 00:38:53 -0800
commit2d1f2810a41b8a93c21035b14afacb717ef7c822 (patch)
tree1b65a4e42082ecf8788b98b4fb9626f24c227478
parent019dddcfa3cb7a1e961e1fefb302eb71bea312f9 (diff)
downloadqmk_firmware-2d1f2810a41b8a93c21035b14afacb717ef7c822.tar.gz
qmk_firmware-2d1f2810a41b8a93c21035b14afacb717ef7c822.zip
[Keyboard] add Gizmo Engineering GK6 keyboard (#13907)
Co-authored-by: Ryan <fauxpark@gmail.com> Co-authored-by: Drashna Jaelre <drashna@live.com>
-rwxr-xr-xkeyboards/gizmo_engineering/gk6/config.h83
-rwxr-xr-xkeyboards/gizmo_engineering/gk6/gk6.c183
-rwxr-xr-xkeyboards/gizmo_engineering/gk6/gk6.h64
-rwxr-xr-xkeyboards/gizmo_engineering/gk6/info.json209
-rwxr-xr-xkeyboards/gizmo_engineering/gk6/keymaps/12x5/keymap.c118
-rwxr-xr-xkeyboards/gizmo_engineering/gk6/keymaps/1x2u/keymap.c119
-rwxr-xr-xkeyboards/gizmo_engineering/gk6/keymaps/default/keymap.c104
-rwxr-xr-xkeyboards/gizmo_engineering/gk6/keymaps/via/keymap.c93
-rwxr-xr-xkeyboards/gizmo_engineering/gk6/keymaps/via/rules.mk1
-rwxr-xr-xkeyboards/gizmo_engineering/gk6/readme.md13
-rwxr-xr-xkeyboards/gizmo_engineering/gk6/rules.mk21
11 files changed, 1008 insertions, 0 deletions
diff --git a/keyboards/gizmo_engineering/gk6/config.h b/keyboards/gizmo_engineering/gk6/config.h
new file mode 100755
index 0000000000..f437840f91
--- /dev/null
+++ b/keyboards/gizmo_engineering/gk6/config.h
@@ -0,0 +1,83 @@
+/*
+Copyright 2021 Gizmo Engineering
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#pragma once
+
+#include "config_common.h"
+
+/* USB Device descriptor parameter */
+#define VENDOR_ID 0x6532
+#define PRODUCT_ID 0x0001
+#define DEVICE_VER 0x3031
+#define MANUFACTURER Gizmo Engineering
+#define PRODUCT GK6
+
+/* key matrix size */
+#define MATRIX_ROWS 5
+#define MATRIX_COLS 12
+
+/*
+ * Keyboard Matrix Assignments
+*/
+#define MATRIX_ROW_PINS { B6, B4, D7, D6, D4}
+#define MATRIX_COL_PINS { B5, C6, C7, F7, F6, D5, D3, D2, F1, F4, B7, F5 }
+#define UNUSED_PINS
+
+/* COL2ROW, ROW2COL*/
+#define DIODE_DIRECTION ROW2COL
+
+/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
+#define DEBOUNCE 5
+
+// Use ~ key for the bootloader
+#define BOOTMAGIC_LITE_ROW 0
+#define BOOTMAGIC_LITE_COLUMN 0
+
+// RGB Matrix
+#define DRIVER_ADDR_1 0b1110100
+#define DRIVER_ADDR_2 0b1110111
+
+#define DRIVER_COUNT 2
+#define DRIVER_1_LED_TOTAL 32
+#define DRIVER_2_LED_TOTAL 32
+#define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
+
+#define RGB_MATRIX_KEYPRESSES
+#define RGB_DISABLE_WHEN_USB_SUSPENDED
+#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
+#define RGB_MATRIX_KEYPRESSES
+#define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_CYCLE_LEFT_RIGHT
+#define RGB_MATRIX_STARTUP_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS
+#define RGB_MATRIX_STARTUP_SPD 127
+
+// RGB Matrix Animation modes. Explicitly enabled
+// For full list of effects, see:
+// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
+#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
+#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
+#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
+#define ENABLE_RGB_MATRIX_BREATHING
+#define ENABLE_RGB_MATRIX_BAND_VAL
+#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
+#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
+#define ENABLE_RGB_MATRIX_HUE_BREATHING
+#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
+#define RGB_MATRIX_TYPING_HEATMAP_DECREASE_DELAY_MS 25
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
+#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
+
diff --git a/keyboards/gizmo_engineering/gk6/gk6.c b/keyboards/gizmo_engineering/gk6/gk6.c
new file mode 100755
index 0000000000..9066fc85a5
--- /dev/null
+++ b/keyboards/gizmo_engineering/gk6/gk6.c
@@ -0,0 +1,183 @@
+/* Copyright 2021 Gizmo Engineering
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include "gk6.h"
+
+#ifdef RGB_MATRIX_ENABLE
+const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
+ {0, C1_8, C2_8, C3_8}, //0 led1
+ {0, C1_7, C2_7, C3_7}, //1 led2
+ {0, C1_6, C2_6, C3_6}, //2 led3
+ {0, C1_5, C2_5, C3_5}, //3 led4
+ {0, C1_4, C2_4, C3_4}, //4 led5
+ {0, C1_3, C2_3, C3_3}, //5 led6
+ {0, C1_2, C2_2, C4_3}, //6 led7
+ {0, C1_1, C3_2, C4_2}, //7 led7b
+ {0, C9_1, C8_1, C7_1}, //8 led8
+ {0, C9_2, C8_2, C7_2}, //9 led9
+ {0, C9_3, C8_3, C7_3}, //10 led10
+ {0, C9_4, C8_4, C7_4}, //11 led11
+ {0, C9_5, C8_5, C7_5}, //12 led12
+ {0, C9_6, C8_6, C7_6}, //13 led13
+ {0, C9_7, C8_7, C6_6}, //14 led14
+ {0, C9_8, C7_7, C6_7}, //15 led15
+ {0, C1_16, C2_16, C3_16}, //16 led16
+ {0, C1_15, C2_15, C3_15}, //17 led17
+ {0, C1_14, C2_14, C3_14}, //18 led18
+ {0, C1_13, C2_13, C3_13}, //19 led19
+ {0, C1_12, C2_12, C3_12}, //20 led20
+ {0, C1_11, C2_11, C3_11}, //21 led21
+ {0, C1_10, C2_10, C4_11}, //22 led22
+ {0, C9_9, C8_9, C7_9}, //23 led23
+ {0, C9_10, C8_10, C7_10}, //24 led24 missing on [default]
+ {0, C9_11, C8_11, C7_11}, //25 led25 missing on [1x2u, 12x5]
+ {0, C9_12, C8_12, C7_12}, //26 led26
+ {0, C9_13, C8_13, C7_13}, //27 led27
+ {0, C9_14, C8_14, C7_14}, //28 led28
+ {0, C9_15, C8_15, C6_14}, //29 led29
+ {0, C9_16, C7_15, C6_15}, //30 led30 missing on [default, 1x2u]
+ {1, C1_8, C2_8, C3_8}, //31 led31
+ {1, C1_7, C2_7, C3_7}, //32 led32
+ {1, C1_6, C2_6, C3_6}, //33 led33
+ {1, C1_5, C2_5, C3_5}, //34 led34
+ {1, C1_4, C2_4, C3_4}, //35 led35 missing on [default, 1x2u]
+ {1, C1_3, C2_3, C3_3}, //36 led36 missing on [default, 12x5]
+ {1, C1_2, C2_2, C4_3}, //37 led37
+ {1, C1_1, C3_2, C4_2}, //38 led37b
+ {1, C9_1, C8_1, C7_1}, //39 led38
+ {1, C9_2, C8_2, C7_2}, //40 led39
+ {1, C9_3, C8_3, C7_3}, //41 led40 missing on [default]
+ {1, C9_4, C8_4, C7_4}, //42 led41 missing on [1x2u, 12x5]
+ {1, C9_5, C8_5, C7_5}, //43 led42
+ {1, C9_6, C8_6, C7_6}, //44 led43
+ {1, C9_7, C8_7, C6_6}, //45 led44
+ {1, C9_8, C7_7, C6_7}, //46 led45
+ {1, C1_16, C2_16, C3_16}, //47 led46
+ {1, C1_15, C2_15, C3_15}, //48 led47
+ {1, C1_14, C2_14, C3_14}, //49 led48
+ {1, C1_13, C2_13, C3_13}, //50 led49
+ {1, C1_12, C2_12, C3_12}, //51 led50
+ {1, C1_11, C2_11, C3_11}, //52 led51
+ {1, C1_10, C2_10, C4_11}, //53 led52
+ {1, C1_9, C3_10, C4_10}, //54 led52b
+ {1, C9_9, C8_9, C7_9}, //55 led53
+ {1, C9_10, C8_10, C7_10}, //56 led54
+ {1, C9_11, C8_11, C7_11}, //57 led55
+ {1, C9_12, C8_12, C7_12}, //58 led56
+ {1, C9_13, C8_13, C7_13}, //59 led57
+ {1, C9_14, C8_14, C7_14}, //60 led58
+ {1, C9_15, C8_15, C6_14}, //61 led59
+ {1, C9_16, C7_15, C6_15}, //62 led60
+};
+
+led_config_t g_led_config = { {
+ // Key Matrix to LED Index
+// 1, 6, 10, 15, 20, 26, 31, 37, 42, 47, 52, 56
+ {0, 5, 10, 15, 20, 26, 31, 37, 43, 48, 53, 58},
+// 2, 7, 11, 16, 21, 27, 32, 37b, 43, 48, 52b, 57
+ {1, 6, 11, 16, 21, 27, 32, 38, 44, 49, 54, 59},
+// 3, 7b, 12, 17, 22, 28, 33, 38, 44, 49, 53, 58
+ {2, 7, 12, 17, 22, 28, 33, 39, 45, 50, 55, 60},
+// 4, 8, 13, 18, 23, 29, 34, 39, 45, 50, 54, 59
+ {3, 8, 13, 18, 23, 29, 34, 40, 46, 51, 56, 61},
+// 5, 9, 14, 19, 25, NO_LED, NO_LED, 41, 46, 51, 55, 60
+ {4, 9, 14, 19, 25, NO_LED, NO_LED, 42, 47, 52, 57, 62},
+}, {
+ // LED Index to Physical Position
+ {0, 0}, // 0
+ {0, 16}, // 1
+ {0, 32}, // 2
+ {0, 48}, // 3
+ {0, 64}, // 4
+
+ {21, 0}, // 5
+ {21, 16}, // 6
+ {21, 32}, // 7
+ {21, 48}, // 8
+ {21, 64}, // 9
+
+ {41, 0}, // 10
+ {41, 16}, // 11
+ {41, 32}, // 12
+ {41, 48}, // 13
+ {41, 64}, // 14
+
+ {61, 0}, // 15
+ {61, 16}, // 16
+ {61, 32}, // 17
+ {61, 48}, // 18
+ {61, 64}, // 19
+
+ {82, 0}, // 20
+ {82, 16}, // 21
+ {82, 32}, // 22
+ {82, 48}, // 23
+ {82, 64}, // 24
+ {92, 64}, // 25
+
+ {102, 0}, // 26
+ {102, 16}, // 27
+ {102, 32}, // 28
+ {102, 48}, // 29
+ {102, 64}, // 30
+
+ {122, 0}, // 31
+ {122, 16}, // 32
+ {122, 32}, // 33
+ {122, 48}, // 34
+ {122, 64}, // 35
+ {112, 64}, // 36
+
+ {142, 0}, // 37
+ {142, 16}, // 38
+ {142, 32}, // 39
+ {142, 48}, // 40
+ {142, 64}, // 41
+ {132, 64}, // 42
+
+ {163, 0}, // 43
+ {163, 16}, // 44
+ {163, 32}, // 45
+ {163, 48}, // 46
+ {163, 64}, // 47
+
+ {183, 0}, // 48
+ {183, 16}, // 49
+ {183, 32}, // 50
+ {183, 48}, // 51
+ {183, 64}, // 52
+
+ {203, 0}, // 53
+ {203, 16}, // 54
+ {203, 32}, // 55
+ {203, 48}, // 56
+ {203, 64}, // 57
+
+ {224, 0}, // 58
+ {224, 16}, // 59
+ {224, 32}, // 60
+ {224, 48}, // 61
+ {224, 64}, // 62
+}, {
+ // LED Index to Flag
+ 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
+ 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
+ 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
+ 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
+ 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
+ 0x04, 0x04, 0x04
+} };
+#endif
diff --git a/keyboards/gizmo_engineering/gk6/gk6.h b/keyboards/gizmo_engineering/gk6/gk6.h
new file mode 100755
index 0000000000..70c0bee4ae
--- /dev/null
+++ b/keyboards/gizmo_engineering/gk6/gk6.h
@@ -0,0 +1,64 @@
+/* Copyright 2021 Gizmo Engineering
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#include "quantum.h"
+
+#define LAYOUT_gk6_2x2u( \
+ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, \
+ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, \
+ k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, \
+ k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, \
+ k40, k41, k42, k43, k44, k47, k48, k49, k4a, k4b \
+) \
+{ \
+ { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b }, \
+ { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b }, \
+ { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b }, \
+ { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b }, \
+ { k40, k41, k42, k43, k44, KC_NO, KC_NO, k47, k48, k49, k4a, k4b }, \
+}
+
+#define LAYOUT_gk6_1x2u( \
+ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, \
+ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, \
+ k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, \
+ k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, \
+ k40, k41, k42, k43, k44, k46, k47, k48, k49, k4a, k4b \
+) \
+{ \
+ { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b }, \
+ { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b }, \
+ { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b }, \
+ { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b }, \
+ { k40, k41, k42, k43, k44, KC_NO, k46, k47, k48, k49, k4a, k4b }, \
+}
+
+#define LAYOUT_ortho_5x12( \
+ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, \
+ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, \
+ k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, \
+ k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, \
+ k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4a, k4b \
+) \
+{ \
+ { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b }, \
+ { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b }, \
+ { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b }, \
+ { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b }, \
+ { k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4a, k4b }, \
+}
diff --git a/keyboards/gizmo_engineering/gk6/info.json b/keyboards/gizmo_engineering/gk6/info.json
new file mode 100755
index 0000000000..e38702d941
--- /dev/null
+++ b/keyboards/gizmo_engineering/gk6/info.json
@@ -0,0 +1,209 @@
+{
+ "keyboard_name": "Gizmo Engineering GK6",
+ "keyboard_folder": "gk6",
+ "url": "https://gizmo.engineering/",
+ "maintainer": "federicoweber",
+ "layouts": {
+ "LAYOUT_gk6_2x2u": {
+ "layout": [
+ {"x": 0, "y": 0},
+ {"x": 1, "y": 0},
+ {"x": 2, "y": 0},
+ {"x": 3, "y": 0},
+ {"x": 4, "y": 0},
+ {"x": 5, "y": 0},
+ {"x": 6, "y": 0},
+ {"x": 7, "y": 0},
+ {"x": 8, "y": 0},
+ {"x": 9, "y": 0},
+ {"x": 10, "y": 0},
+ {"x": 11, "y": 0},
+
+ {"x": 0, "y": 1},
+ {"x": 1, "y": 1},
+ {"x": 2, "y": 1},
+ {"x": 3, "y": 1},
+ {"x": 4, "y": 1},
+ {"x": 5, "y": 1},
+ {"x": 6, "y": 1},
+ {"x": 7, "y": 1},
+ {"x": 8, "y": 1},
+ {"x": 9, "y": 1},
+ {"x": 10, "y": 1},
+ {"x": 11, "y": 1},
+
+ {"x": 0, "y": 2},
+ {"x": 1, "y": 2},
+ {"x": 2, "y": 2},
+ {"x": 3, "y": 2},
+ {"x": 4, "y": 2},
+ {"x": 5, "y": 2},
+ {"x": 6, "y": 2},
+ {"x": 7, "y": 2},
+ {"x": 8, "y": 2},
+ {"x": 9, "y": 2},
+ {"x": 10, "y": 2},
+ {"x": 11, "y": 2},
+
+ {"x": 0, "y": 3},
+ {"x": 1, "y": 3},
+ {"x": 2, "y": 3},
+ {"x": 3, "y": 3},
+ {"x": 4, "y": 3},
+ {"x": 5, "y": 3},
+ {"x": 6, "y": 3},
+ {"x": 7, "y": 3},
+ {"x": 8, "y": 3},
+ {"x": 9, "y": 3},
+ {"x": 10, "y": 3},
+ {"x": 11, "y": 3},
+
+ {"x": 0, "y": 4},
+ {"x": 1, "y": 4},
+ {"x": 2, "y": 4},
+ {"x": 3, "y": 4},
+ {"x": 4, "y": 4, "w": 2},
+ {"x": 6, "y": 4, "w": 2},
+ {"x": 8, "y": 4},
+ {"x": 9, "y": 4},
+ {"x": 10, "y": 4},
+ {"x": 11, "y": 4}
+ ]
+ },
+ "LAYOUT_ortho_5x12": {
+ "layout": [
+ {"x": 0, "y": 0},
+ {"x": 1, "y": 0},
+ {"x": 2, "y": 0},
+ {"x": 3, "y": 0},
+ {"x": 4, "y": 0},
+ {"x": 5, "y": 0},
+ {"x": 6, "y": 0},
+ {"x": 7, "y": 0},
+ {"x": 8, "y": 0},
+ {"x": 9, "y": 0},
+ {"x": 10, "y": 0},
+ {"x": 11, "y": 0},
+
+ {"x": 0, "y": 1},
+ {"x": 1, "y": 1},
+ {"x": 2, "y": 1},
+ {"x": 3, "y": 1},
+ {"x": 4, "y": 1},
+ {"x": 5, "y": 1},
+ {"x": 6, "y": 1},
+ {"x": 7, "y": 1},
+ {"x": 8, "y": 1},
+ {"x": 9, "y": 1},
+ {"x": 10, "y": 1},
+ {"x": 11, "y": 1},
+
+ {"x": 0, "y": 2},
+ {"x": 1, "y": 2},
+ {"x": 2, "y": 2},
+ {"x": 3, "y": 2},
+ {"x": 4, "y": 2},
+ {"x": 5, "y": 2},
+ {"x": 6, "y": 2},
+ {"x": 7, "y": 2},
+ {"x": 8, "y": 2},
+ {"x": 9, "y": 2},
+ {"x": 10, "y": 2},
+ {"x": 11, "y": 2},
+
+ {"x": 0, "y": 3},
+ {"x": 1, "y": 3},
+ {"x": 2, "y": 3},
+ {"x": 3, "y": 3},
+ {"x": 4, "y": 3},
+ {"x": 5, "y": 3},
+ {"x": 6, "y": 3},
+ {"x": 7, "y": 3},
+ {"x": 8, "y": 3},
+ {"x": 9, "y": 3},
+ {"x": 10, "y": 3},
+ {"x": 11, "y": 3},
+
+ {"x": 0, "y": 4},
+ {"x": 1, "y": 4},
+ {"x": 2, "y": 4},
+ {"x": 3, "y": 4},
+ {"x": 4, "y": 4},
+ {"x": 5, "y": 4},
+ {"x": 6, "y": 4},
+ {"x": 7, "y": 4},
+ {"x": 8, "y": 4},
+ {"x": 9, "y": 4},
+ {"x": 10, "y": 4},
+ {"x": 11, "y": 4}
+ ]
+ },
+ "LAYOUT_gk6_1x2u": {
+ "layout": [
+ {"x": 0, "y": 0},
+ {"x": 1, "y": 0},
+ {"x": 2, "y": 0},
+ {"x": 3, "y": 0},
+ {"x": 4, "y": 0},
+ {"x": 5, "y": 0},
+ {"x": 6, "y": 0},
+ {"x": 7, "y": 0},
+ {"x": 8, "y": 0},
+ {"x": 9, "y": 0},
+ {"x": 10, "y": 0},
+ {"x": 11, "y": 0},
+
+ {"x": 0, "y": 1},
+ {"x": 1, "y": 1},
+ {"x": 2, "y": 1},
+ {"x": 3, "y": 1},
+ {"x": 4, "y": 1},
+ {"x": 5, "y": 1},
+ {"x": 6, "y": 1},
+ {"x": 7, "y": 1},
+ {"x": 8, "y": 1},
+ {"x": 9, "y": 1},
+ {"x": 10, "y": 1},
+ {"x": 11, "y": 1},
+
+ {"x": 0, "y": 2},
+ {"x": 1, "y": 2},
+ {"x": 2, "y": 2},
+ {"x": 3, "y": 2},
+ {"x": 4, "y": 2},
+ {"x": 5, "y": 2},
+ {"x": 6, "y": 2},
+ {"x": 7, "y": 2},
+ {"x": 8, "y": 2},
+ {"x": 9, "y": 2},
+ {"x": 10, "y": 2},
+ {"x": 11, "y": 2},
+
+ {"x": 0, "y": 3},
+ {"x": 1, "y": 3},
+ {"x": 2, "y": 3},
+ {"x": 3, "y": 3},
+ {"x": 4, "y": 3},
+ {"x": 5, "y": 3},
+ {"x": 6, "y": 3},
+ {"x": 7, "y": 3},
+ {"x": 8, "y": 3},
+ {"x": 9, "y": 3},
+ {"x": 10, "y": 3},
+ {"x": 11, "y": 3},
+
+ {"x": 0, "y": 4},
+ {"x": 1, "y": 4},
+ {"x": 2, "y": 4},
+ {"x": 3, "y": 4},
+ {"x": 4, "y": 4},
+ {"x": 5, "y": 4, "w": 2},
+ {"x": 7, "y": 4},
+ {"x": 8, "y": 4},
+ {"x": 9, "y": 4},
+ {"x": 10, "y": 4},
+ {"x": 11, "y": 4}
+ ]
+ }
+ }
+}
diff --git a/keyboards/gizmo_engineering/gk6/keymaps/12x5/keymap.c b/keyboards/gizmo_engineering/gk6/keymaps/12x5/keymap.c
new file mode 100755
index 0000000000..bb7b627ce4
--- /dev/null
+++ b/keyboards/gizmo_engineering/gk6/keymaps/12x5/keymap.c
@@ -0,0 +1,118 @@
+/* Copyright 2021 Gizmo Engineering
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include QMK_KEYBOARD_H
+
+enum layers {
+ _QWERTY,
+ _LOWER,
+ _RAISE,
+};
+
+#define LOWER MO(_LOWER)
+#define RAISE MO(_RAISE)
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+/* Qwerty
+ * ,-----------------------------------------------------------------------------------.
+ * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | / |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Tab | Q | W | E | R | T | Y | U | I | O | P | Del |
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * | CTRL | A | S | D | F | G | H | J | K | L | ; | ' |
+ * |------+------+------+------+------+------|------+------+------+------+------+------|
+ * | Shift| Z | X | C | V | B | N | M | , | . | Up |Enter |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Esc | GUI | Alt |Lower | Back|Space |Space | Alt |Raise | Left | Down |Right |
+ * `-----------------------------------------------------------------------------------'
+ */
+[_QWERTY] = LAYOUT_ortho_5x12(
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_SLSH,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL,
+ KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_UP, KC_ENT,
+ KC_LCTL, KC_LGUI, KC_LALT, LOWER, KC_BSPC, KC_SPC, KC_SPC, KC_RALT, RAISE, KC_LEFT, KC_DOWN, KC_RGHT
+),
+
+/* Raise
+ * ,-----------------------------------------------------------------------------------.
+ * | | | | | | | | | | | | |
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * | | | | | | | | _ | + | { | } | |
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * | | | | | | | | - | = | [ | ] | |
+ * |------+------+------+------+------+------|------+------+------+------+------+------|
+ * | |RGB_TG|RGB_M |RGB_HU|RGB_SI|RGB_VI|RGB_SP| | | | | | \ |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * |Debug | | | | | | | | | | | |
+ * `-----------------------------------------------------------------------------------'
+ */
+[_RAISE] = LAYOUT_ortho_5x12(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, _______,
+ _______, _______, _______, _______, _______, _______, _______, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, _______,
+ _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, _______, _______, _______, KC_PIPE, KC_BSLS,
+ DEBUG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+),
+
+/* Lower
+ * ,-----------------------------------------------------------------------------------.
+ * | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | CAPS | PSCR | | | | | | | | | | |
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * | | Home | End | Ins | Play | | | | | | | |
+ * |------+------+------+------+------+------|------+------+------+------+------+------|
+ * | | << | >> | Mute | Vol- | Vol+ | | | | | PgUp | |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | | | | | | | | | | PgDn | |
+ * `-----------------------------------------------------------------------------------'
+ */
+[_LOWER] = LAYOUT_ortho_5x12(
+ 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_CAPS, KC_PSCR, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, KC_HOME, KC_END, KC_INS, KC_MPLY, _______, _______, _______, _______, _______, _______, _______,
+ _______, KC_MPRV, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, _______, KC_PGUP, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGDN, _______
+),
+
+};
+
+#ifdef RGB_MATRIX_ENABLE
+void rgb_matrix_indicators_user(void)
+{
+ rgb_matrix_set_color(25, 0, 0, 0);
+ rgb_matrix_set_color(36, 0, 0, 0);
+ rgb_matrix_set_color(42, 0, 0, 0);
+}
+
+void keyboard_pre_init_user(void) {
+ // 5, 9, 14, 19, 24, 30, 35, 40, 46, 51, 55, 60
+ g_led_config.matrix_co[4][0] = 5;
+ g_led_config.matrix_co[4][1] = 9;
+ g_led_config.matrix_co[4][2] = 14;
+ g_led_config.matrix_co[4][3] = 19;
+ g_led_config.matrix_co[4][4] = 24;
+ g_led_config.matrix_co[4][5] = 30;
+ g_led_config.matrix_co[4][6] = 35;
+ g_led_config.matrix_co[4][7] = 41;
+ g_led_config.matrix_co[4][8] = 47;
+ g_led_config.matrix_co[4][9] = 52;
+ g_led_config.matrix_co[4][10] = 57;
+ g_led_config.matrix_co[4][11] = 62;
+}
+#endif
diff --git a/keyboards/gizmo_engineering/gk6/keymaps/1x2u/keymap.c b/keyboards/gizmo_engineering/gk6/keymaps/1x2u/keymap.c
new file mode 100755
index 0000000000..41e3062dc2
--- /dev/null
+++ b/keyboards/gizmo_engineering/gk6/keymaps/1x2u/keymap.c
@@ -0,0 +1,119 @@
+/* Copyright 2021 Gizmo Engineering
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include QMK_KEYBOARD_H
+
+enum layers {
+ _QWERTY,
+ _LOWER,
+ _RAISE,
+};
+
+#define LOWER MO(_LOWER)
+#define RAISE MO(_RAISE)
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+/* Qwerty
+ * ,-----------------------------------------------------------------------------------.
+ * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | / |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Tab | Q | W | E | R | T | Y | U | I | O | P | Del |
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * | CTRL | A | S | D | F | G | H | J | K | L | ; | ' |
+ * |------+------+------+------+------+------|------+------+------+------+------+------|
+ * | Shift| Z | X | C | V | B | N | M | , | . | Up |Enter |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Esc | GUI | Alt |Lower | Back| Space | Alt |Raise | Left | Down |Right |
+ * `-----------------------------------------------------------------------------------'
+ */
+[_QWERTY] = LAYOUT_gk6_1x2u(
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_SLSH,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL,
+ KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_UP, KC_ENT,
+ KC_LCTL, KC_LGUI, KC_LALT, LOWER, KC_BSPC, KC_SPC, KC_RALT, RAISE, KC_LEFT, KC_DOWN, KC_RGHT
+),
+
+/* Raise
+ * ,-----------------------------------------------------------------------------------.
+ * | | | | | | | | | | | | |
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * | | | | | | | | _ | + | { | } | |
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * | | | | | | | | - | = | [ | ] | |
+ * |------+------+------+------+------+------|------+------+------+------+------+------|
+ * | |RGB_TG|RGB_M |RGB_HU|RGB_SI|RGB_VI|RGB_SP| | | | | | \ |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * |Debug | | | | | | | | | | |
+ * `-----------------------------------------------------------------------------------'
+ */
+[_RAISE] = LAYOUT_gk6_1x2u(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, _______,
+ _______, _______, _______, _______, _______, _______, _______, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, _______,
+ _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, _______, _______, _______, KC_PIPE, KC_BSLS,
+ DEBUG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+),
+
+/* Lower
+ * ,-----------------------------------------------------------------------------------.
+ * | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | CAPS | PSCR | | | | | | | | | | |
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * | | Home | End | Ins | Play | | | | | | | |
+ * |------+------+------+------+------+------|------+------+------+------+------+------|
+ * | | << | >> | Mute | Vol- | Vol+ | | | | | PgUp | |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | | | | | | | | | PgDn | |
+ * `-----------------------------------------------------------------------------------'
+ */
+[_LOWER] = LAYOUT_gk6_1x2u(
+ 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_CAPS, KC_PSCR, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, KC_HOME, KC_END, KC_INS, KC_MPLY, _______, _______, _______, _______, _______, _______, _______,
+ _______, KC_MPRV, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, _______, KC_PGUP, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGDN, _______
+),
+
+};
+
+#ifdef RGB_MATRIX_ENABLE
+void rgb_matrix_indicators_user(void)
+{
+ rgb_matrix_set_color(25, 0, 0, 0);
+ rgb_matrix_set_color(30, 0, 0, 0);
+ rgb_matrix_set_color(35, 0, 0, 0);
+ rgb_matrix_set_color(42, 0, 0, 0);
+}
+
+void keyboard_pre_init_user(void) {
+ // 5, 9, 14, 19, 24, 30, 36, 40, 46, 51, 55, 60
+ g_led_config.matrix_co[4][0] = 5;
+ g_led_config.matrix_co[4][1] = 9;
+ g_led_config.matrix_co[4][2] = 14;
+ g_led_config.matrix_co[4][3] = 19;
+ g_led_config.matrix_co[4][4] = 24;
+ g_led_config.matrix_co[4][5] = 30;
+ g_led_config.matrix_co[4][6] = 36;
+ g_led_config.matrix_co[4][7] = 41;
+ g_led_config.matrix_co[4][8] = 47;
+ g_led_config.matrix_co[4][9] = 52;
+ g_led_config.matrix_co[4][10] = 57;
+ g_led_config.matrix_co[4][11] = 62;
+}
+#endif
diff --git a/keyboards/gizmo_engineering/gk6/keymaps/default/keymap.c b/keyboards/gizmo_engineering/gk6/keymaps/default/keymap.c
new file mode 100755
index 0000000000..ad357648ac
--- /dev/null
+++ b/keyboards/gizmo_engineering/gk6/keymaps/default/keymap.c
@@ -0,0 +1,104 @@
+/* Copyright 2021 Gizmo Engineering
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include QMK_KEYBOARD_H
+
+enum layers {
+ _QWERTY,
+ _LOWER,
+ _RAISE,
+};
+
+#define LOWER MO(_LOWER)
+#define RAISE MO(_RAISE)
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+/* Qwerty
+ * ,-----------------------------------------------------------------------------------.
+ * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | / |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Tab | Q | W | E | R | T | Y | U | I | O | P | Del |
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * | CTRL | A | S | D | F | G | H | J | K | L | ; | ' |
+ * |------+------+------+------+------+------|------+------+------+------+------+------|
+ * | Shift| Z | X | C | V | B | N | M | , | . | Up |Enter |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Esc | GUI | Alt |Lower | Backspace | Space |Raise | Left | Down |Right |
+ * `-----------------------------------------------------------------------------------'
+ */
+[_QWERTY] = LAYOUT_gk6_2x2u(
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_SLSH,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL,
+ KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_UP, KC_ENT,
+ KC_LCTL, KC_LGUI, KC_LALT, LOWER, KC_BSPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_RGHT
+),
+
+/* Raise
+ * ,-----------------------------------------------------------------------------------.
+ * | | | | | | | | | | | | |
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * | | | | | | | | _ | + | { | } | |
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * | | | | | | | | - | = | [ | ] | |
+ * |------+------+------+------+------+------|------+------+------+------+------+------|
+ * | |RGB_TG|RGB_M |RGB_HU|RGB_SI|RGB_VI|RGB_SP| | | | | | \ |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * |Debug | | | | | | | | |R Alt |
+ * `-----------------------------------------------------------------------------------'
+ */
+[_RAISE] = LAYOUT_gk6_2x2u(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, _______,
+ _______, _______, _______, _______, _______, _______, _______, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, _______,
+ _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, _______, _______, _______, KC_PIPE, KC_BSLS,
+ DEBUG, _______, _______, _______, _______, _______, _______, _______, _______, KC_RALT
+),
+
+/* Lower
+ * ,-----------------------------------------------------------------------------------.
+ * | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | CAPS | PSCR | | | | | | | | | | |
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * | | Home | End | Ins | Play | | | | | | | |
+ * |------+------+------+------+------+------|------+------+------+------+------+------|
+ * | | << | >> | Mute | Vol- | Vol+ | | | | | PgUp | |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | | | | | | | | PgDn | |
+ * `-----------------------------------------------------------------------------------'
+ */
+[_LOWER] = LAYOUT_gk6_2x2u(
+ 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_CAPS, KC_PSCR, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, KC_HOME, KC_END, KC_INS, KC_MPLY, _______, _______, _______, _______, _______, _______, _______,
+ _______, KC_MPRV, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, _______, KC_PGUP, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, KC_PGDN, _______
+),
+
+};
+
+#ifdef RGB_MATRIX_ENABLE
+void rgb_matrix_indicators_user(void)
+{
+ rgb_matrix_set_color(24, 0, 0, 0);
+ rgb_matrix_set_color(30, 0, 0, 0);
+ rgb_matrix_set_color(35, 0, 0, 0);
+ rgb_matrix_set_color(36, 0, 0, 0);
+ rgb_matrix_set_color(41, 0, 0, 0);
+}
+#endif
diff --git a/keyboards/gizmo_engineering/gk6/keymaps/via/keymap.c b/keyboards/gizmo_engineering/gk6/keymaps/via/keymap.c
new file mode 100755
index 0000000000..e3ee7f9818
--- /dev/null
+++ b/keyboards/gizmo_engineering/gk6/keymaps/via/keymap.c
@@ -0,0 +1,93 @@
+/* Copyright 2021 Gizmo Engineering
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include QMK_KEYBOARD_H
+
+enum layers {
+ _QWERTY,
+ _LOWER,
+ _RAISE,
+};
+
+#define LOWER MO(_LOWER)
+#define RAISE MO(_RAISE)
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+/* Qwerty
+ * ,-----------------------------------------------------------------------------------.
+ * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | / |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Tab | Q | W | E | R | T | Y | U | I | O | P | Del |
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * | CTRL | A | S | D | F | G | H | J | K | L | ; | ' |
+ * |------+------+------+------+------+------|------+------+------+------+------+------|
+ * | Shift| Z | X | C | V | B | N | M | , | . | Up |Enter |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Esc | GUI | Alt |Lower | Back | Back |Space |Space |Raise | Left | Down |Right |
+ * `-----------------------------------------------------------------------------------'
+ */
+[_QWERTY] = LAYOUT_ortho_5x12(
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_SLSH,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL,
+ KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_UP, KC_ENT,
+ KC_LCTL, KC_LGUI, KC_LALT, LOWER, KC_BSPC, KC_BSPC, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_RGHT
+),
+
+/* Raise
+ * ,-----------------------------------------------------------------------------------.
+ * | | | | | | | | | | | | |
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * | | | | | | | | _ | + | { | } | |
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * | | | | | | | | - | = | [ | ] | |
+ * |------+------+------+------+------+------|------+------+------+------+------+------|
+ * | |RGB_TG|RGB_M |RGB_HU|RGB_SI|RGB_VI|RGB_SP| | | | | | \ |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | | | | | | | | | | |R Alt |
+ * `-----------------------------------------------------------------------------------'
+ */
+[_RAISE] = LAYOUT_ortho_5x12(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, _______,
+ _______, _______, _______, _______, _______, _______, _______, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, _______,
+ _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, _______, _______, _______, KC_PIPE, KC_BSLS,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_RALT
+),
+
+/* Lower
+ * ,-----------------------------------------------------------------------------------.
+ * | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | CAPS | PSCR | | | | | | | | | | |
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * | | Home | End | Ins | Play | | | | | | | |
+ * |------+------+------+------+------+------|------+------+------+------+------+------|
+ * | | << | >> | Mute | Vol- | Vol+ | | | | | PgUp | |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | | | | | | | | | | PgDn | |
+ * `-----------------------------------------------------------------------------------'
+ */
+[_LOWER] = LAYOUT_ortho_5x12(
+ 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_CAPS, KC_PSCR, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, KC_HOME, KC_END, KC_INS, KC_MPLY, _______, _______, _______, _______, _______, _______, _______,
+ _______, KC_MPRV, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, _______, KC_PGUP, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGDN, _______
+),
+
+};
diff --git a/keyboards/gizmo_engineering/gk6/keymaps/via/rules.mk b/keyboards/gizmo_engineering/gk6/keymaps/via/rules.mk
new file mode 100755
index 0000000000..1e5b99807c
--- /dev/null
+++ b/keyboards/gizmo_engineering/gk6/keymaps/via/rules.mk
@@ -0,0 +1 @@
+VIA_ENABLE = yes
diff --git a/keyboards/gizmo_engineering/gk6/readme.md b/keyboards/gizmo_engineering/gk6/readme.md
new file mode 100755
index 0000000000..2d4fd2ed6e
--- /dev/null
+++ b/keyboards/gizmo_engineering/gk6/readme.md
@@ -0,0 +1,13 @@
+# Gizmo Engineering GK6
+
+![GK6](https://i.imgur.com/M9xxMznh.jpg)
+
+* Keyboard Maintainer: [federicoweber](https://github.com/federicoweber)
+* Hardware Supported: atmega32a, Gizmo Engineering GK6
+* Hardware Availability: [Gizmo Engineering](https://gizmo.engineering/)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make gizmo_engineering/gk6:default
+
+See 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/gizmo_engineering/gk6/rules.mk b/keyboards/gizmo_engineering/gk6/rules.mk
new file mode 100755
index 0000000000..c70d2ea88d
--- /dev/null
+++ b/keyboards/gizmo_engineering/gk6/rules.mk
@@ -0,0 +1,21 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+BOOTLOADER = atmel-dfu
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = no # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = no # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
+NKRO_ENABLE = no # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
+
+RGB_MATRIX_ENABLE = yes
+RGB_MATRIX_DRIVER = IS31FL3731