[Keyboard] add Gizmo Engineering GK6 keyboard (#13907)

Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
This commit is contained in:
federicoweber 2022-02-21 00:38:53 -08:00 committed by GitHub
parent 019dddcfa3
commit 2d1f2810a4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
11 changed files with 1008 additions and 0 deletions

View File

@ -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

View File

@ -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

View File

@ -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 }, \
}

View File

@ -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}
]
}
}
}

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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, _______
),
};

View File

@ -0,0 +1 @@
VIA_ENABLE = yes

View File

@ -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).

View File

@ -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