~ruther/qmk_firmware

35b27909baa94592170749b85b0ddd7590a63232 — temp4gh 2 years ago 13b4ed8
[keyboard] Add abko/ak84bt (#21243)

Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: syc <squall_sha@163.com>
A keyboards/abko/ak84bt/ak84bt.c => keyboards/abko/ak84bt/ak84bt.c +110 -0
@@ 0,0 1,110 @@
/* Copyright 2023 temp4gh
 *
 * 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

const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = {
    {0, G_1,    I_1,    H_1},
    {0, G_3,    I_3,    H_3},
    {0, G_4,    I_4,    H_4},
    {0, G_5,    I_5,    H_5},
    {0, G_6,    I_6,    H_6},
    {0, G_7,    I_7,    H_7},
    {0, G_8,    I_8,    H_8},
    {0, G_9,    I_9,    H_9},
    {0, G_10,   I_10,   H_10},
    {0, G_11,   I_11,   H_11},
    {0, G_12,   I_12,   H_12},
    {0, G_13,   I_13,   H_13},
    {0, G_14,   I_14,   H_14},
    {0, G_15,   I_15,   H_15},
    {0, D_1,    F_1,    E_1},
    {0, D_2,    F_2,    E_2},
    {0, D_3,    F_3,    E_3},
    {0, D_4,    F_4,    E_4},
    {0, D_5,    F_5,    E_5},
    {0, D_6,    F_6,    E_6},
    {0, D_7,    F_7,    E_7},
    {0, D_8,    F_8,    E_8},
    {0, D_9,    F_9,    E_9},
    {0, D_10,   F_10,   E_10},
    {0, D_11,   F_11,   E_11},
    {0, D_12,   F_12,   E_12},
    {0, D_13,   F_13,   E_13},
    {0, D_14,   F_14,   E_14},
    {0, D_15,   F_15,   E_15},
    {0, A_1,    C_1,    B_1},
    {0, A_2,    C_2,    B_2},
    {0, A_3,    C_3,    B_3},
    {0, A_4,    C_4,    B_4},
    {0, A_5,    C_5,    B_5},
    {0, A_6,    C_6,    B_6},
    {0, A_7,    C_7,    B_7},
    {0, A_8,    C_8,    B_8},
    {0, A_9,    C_9,    B_9},
    {0, A_10,   C_10,   B_10},
    {0, A_11,   C_11,   B_11},
    {0, A_12,   C_12,   B_12},
    {0, A_13,   C_13,   B_13},
    {0, A_14,   C_14,   B_14},
    {0, A_15,   C_15,   B_15},
    {1, G_1,    I_1,    H_1},
    {1, G_2,    I_2,    H_2},
    {1, G_3,    I_3,    H_3},
    {1, G_4,    I_4,    H_4},
    {1, G_5,    I_5,    H_5},
    {1, G_6,    I_6,    H_6},
    {1, G_7,    I_7,    H_7},
    {1, G_8,    I_8,    H_8},
    {1, G_9,    I_9,    H_9},
    {1, G_10,   I_10,   H_10},
    {1, G_11,   I_11,   H_11},
    {1, G_12,   I_12,   H_12},
    {1, G_13,   I_13,   H_13},
    {1, G_14,   I_14,   H_14},
    {1, G_15,   I_15,   H_15},
    {1, D_1,    F_1,    E_1},
    {1, D_2,    F_2,    E_2},
    {1, D_3,    F_3,    E_3},
    {1, D_4,    F_4,    E_4},
    {1, D_5,    F_5,    E_5},
    {1, D_6,    F_6,    E_6},
    {1, D_7,    F_7,    E_7},
    {1, D_8,    F_8,    E_8},
    {1, D_9,    F_9,    E_9},
    {1, D_10,   F_10,   E_10},
    {1, D_11,   F_11,   E_11},
    {1, D_12,   F_12,   E_12},
    {1, D_13,   F_13,   E_13},
    {1, D_14,   F_14,   E_14},
    {1, D_15,   F_15,   E_15},
    {1, A_1,    C_1,    B_1},
    {1, A_2,    C_2,    B_2},
    {1, A_3,    C_3,    B_3},
    {1, A_5,    C_5,    B_5},
    {1, A_6,    C_6,    B_6},
    {1, A_7,    C_7,    B_7},
    {1, A_8,    C_8,    B_8},
    {1, A_9,    C_9,    B_9},
    {1, A_10,   C_10,   B_10},
    {1, A_11,   C_11,   B_11},
    {1, A_12,   C_12,   B_12},
    {1, A_13,   C_13,   B_13},
    {1, A_14,   C_14,   B_14},
    {1, A_15,   C_15,   B_15},
    {0, G_2,    I_2,    H_2},
    {1, A_4,    C_4,    B_4}
};

A keyboards/abko/ak84bt/config.h => keyboards/abko/ak84bt/config.h +41 -0
@@ 0,0 1,41 @@
/* Copyright 2023 temp4gh
 *
 * 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


#define DRIVER_ADDR_1 0b1010000
#define DRIVER_ADDR_2 0b1010011

#define DRIVER_COUNT 2
#define DRIVER_1_LED_TOTAL 45
#define DRIVER_2_LED_TOTAL 45

#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL+DRIVER_2_LED_TOTAL)

#define    ENABLE_RGB_MATRIX_SOLID_COLOR
#define    ENABLE_RGB_MATRIX_ALPHAS_MODS
#define    ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
#define    ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
#define    ENABLE_RGB_MATRIX_BREATHING
#define    ENABLE_RGB_MATRIX_BAND_SAT
#define    ENABLE_RGB_MATRIX_BAND_VAL
#define    ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
#define    ENABLE_RGB_MATRIX_CYCLE_ALL
#define    ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
#define    ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
#define    ENABLE_RGB_MATRIX_HUE_WAVE
#define    ENABLE_RGB_MATRIX_PIXEL_FLOW

A keyboards/abko/ak84bt/halconf.h => keyboards/abko/ak84bt/halconf.h +22 -0
@@ 0,0 1,22 @@
/* Copyright 2023 temp4gh
 *
 * 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_next <halconf.h>

#undef HAL_USE_I2C
#define HAL_USE_I2C TRUE

A keyboards/abko/ak84bt/info.json => keyboards/abko/ak84bt/info.json +217 -0
@@ 0,0 1,217 @@
{
    "manufacturer": "abko",
    "keyboard_name": "ak84bt",
    "bootloader": "stm32duino",
    "bootmagic": {
        "matrix": [1, 0]
    },
    "diode_direction": "COL2ROW",
    "dynamic_keymap": {
        "layer_count": 2
    },
    "features": {
        "bootmagic": true,
        "console": true,
        "extrakey": true,
        "mousekey": true,
        "nkro": true,
        "rgb_matrix": true
    },
    "indicators": {
        "caps_lock": "B8",
        "on_state": 0
    },
    "matrix_pins": {
        "cols": ["A6", "A7", "C4", "C5", "B0", "B1", "C6", "C7", "C8", "C9", "A8", "A9", "A10", "A13", "A14", "A15"],
        "rows": ["A0", "A1", "A2", "A3", "A4", "A5"]
    },
    "processor": "STM32F103",
    "rgb_matrix": {
        "driver": "IS31FL3733",
        "layout": [
            {"matrix": [0, 0], "x": 7, "y": 2, "flags": 4},
            {"matrix": [0, 2], "x": 34, "y": 2, "flags": 4},
            {"matrix": [0, 3], "x": 48, "y": 2, "flags": 4},
            {"matrix": [0, 4], "x": 61, "y": 2, "flags": 4},
            {"matrix": [0, 5], "x": 75, "y": 2, "flags": 4},
            {"matrix": [0, 6], "x": 95, "y": 2, "flags": 4},
            {"matrix": [0, 7], "x": 109, "y": 2, "flags": 4},
            {"matrix": [0, 8], "x": 122, "y": 2, "flags": 4},
            {"matrix": [0, 9], "x": 136, "y": 2, "flags": 4},
            {"matrix": [0, 10], "x": 157, "y": 2, "flags": 4},
            {"matrix": [0, 11], "x": 170, "y": 2, "flags": 4},
            {"matrix": [0, 12], "x": 184, "y": 2, "flags": 4},
            {"matrix": [0, 13], "x": 198, "y": 2, "flags": 4},
            {"matrix": [0, 14], "x": 217, "y": 2, "flags": 4},
            {"matrix": [1, 0], "x": 7, "y": 14, "flags": 4},
            {"matrix": [1, 1], "x": 20, "y": 14, "flags": 4},
            {"matrix": [1, 2], "x": 34, "y": 14, "flags": 4},
            {"matrix": [1, 3], "x": 48, "y": 14, "flags": 4},
            {"matrix": [1, 4], "x": 61, "y": 14, "flags": 4},
            {"matrix": [1, 5], "x": 75, "y": 14, "flags": 4},
            {"matrix": [1, 6], "x": 89, "y": 14, "flags": 4},
            {"matrix": [1, 7], "x": 102, "y": 14, "flags": 4},
            {"matrix": [1, 8], "x": 116, "y": 14, "flags": 4},
            {"matrix": [1, 9], "x": 129, "y": 14, "flags": 4},
            {"matrix": [1, 10], "x": 143, "y": 14, "flags": 4},
            {"matrix": [1, 11], "x": 157, "y": 14, "flags": 4},
            {"matrix": [1, 12], "x": 170, "y": 14, "flags": 4},
            {"matrix": [1, 13], "x": 190, "y": 14, "flags": 4},
            {"matrix": [1, 14], "x": 217, "y": 14, "flags": 4},
            {"matrix": [2, 0], "x": 10, "y": 24, "flags": 4},
            {"matrix": [2, 1], "x": 27, "y": 24, "flags": 4},
            {"matrix": [2, 2], "x": 40, "y": 24, "flags": 4},
            {"matrix": [2, 3], "x": 54, "y": 24, "flags": 4},
            {"matrix": [2, 4], "x": 68, "y": 24, "flags": 4},
            {"matrix": [2, 5], "x": 81, "y": 24, "flags": 4},
            {"matrix": [2, 6], "x": 95, "y": 24, "flags": 4},
            {"matrix": [2, 7], "x": 109, "y": 24, "flags": 4},
            {"matrix": [2, 8], "x": 122, "y": 24, "flags": 4},
            {"matrix": [2, 9], "x": 136, "y": 24, "flags": 4},
            {"matrix": [2, 10], "x": 150, "y": 24, "flags": 4},
            {"matrix": [2, 11], "x": 163, "y": 24, "flags": 4},
            {"matrix": [2, 12], "x": 177, "y": 24, "flags": 4},
            {"matrix": [2, 13], "x": 194, "y": 24, "flags": 4},
            {"matrix": [2, 14], "x": 217, "y": 24, "flags": 4},
            {"matrix": [3, 0], "x": 12, "y": 34, "flags": 4},
            {"matrix": [3, 1], "x": 30, "y": 34, "flags": 4},
            {"matrix": [3, 2], "x": 44, "y": 34, "flags": 4},
            {"matrix": [3, 3], "x": 58, "y": 34, "flags": 4},
            {"matrix": [3, 4], "x": 71, "y": 34, "flags": 4},
            {"matrix": [3, 5], "x": 85, "y": 34, "flags": 4},
            {"matrix": [3, 6], "x": 99, "y": 34, "flags": 4},
            {"matrix": [3, 7], "x": 112, "y": 34, "flags": 4},
            {"matrix": [3, 8], "x": 126, "y": 34, "flags": 4},
            {"matrix": [3, 9], "x": 140, "y": 34, "flags": 4},
            {"matrix": [3, 10], "x": 153, "y": 34, "flags": 4},
            {"matrix": [3, 11], "x": 167, "y": 34, "flags": 4},
            {"x": 180, "y": 34, "flags": 4},
            {"matrix": [3, 13], "x": 189, "y": 34, "flags": 4},
            {"matrix": [3, 14], "x": 217, "y": 34, "flags": 4},
            {"matrix": [4, 0], "x": 8, "y": 44, "flags": 4},
            {"x": 24, "y": 44, "flags": 4},
            {"matrix": [4, 2], "x": 38, "y": 44, "flags": 4},
            {"matrix": [4, 3], "x": 51, "y": 44, "flags": 4},
            {"matrix": [4, 4], "x": 65, "y": 44, "flags": 4},
            {"matrix": [4, 5], "x": 78, "y": 44, "flags": 4},
            {"matrix": [4, 6], "x": 92, "y": 44, "flags": 4},
            {"matrix": [4, 7], "x": 106, "y": 44, "flags": 4},
            {"matrix": [4, 8], "x": 119, "y": 44, "flags": 4},
            {"matrix": [4, 9], "x": 133, "y": 44, "flags": 4},
            {"matrix": [4, 10], "x": 147, "y": 44, "flags": 4},
            {"matrix": [4, 11], "x": 160, "y": 44, "flags": 4},
            {"matrix": [4, 12], "x": 179, "y": 44, "flags": 4},
            {"matrix": [4, 13], "x": 201, "y": 46, "flags": 4},
            {"matrix": [4, 14], "x": 217, "y": 44, "flags": 4},
            {"matrix": [5, 0], "x": 8, "y": 54, "flags": 4},
            {"matrix": [5, 1], "x": 25, "y": 54, "flags": 4},
            {"matrix": [5, 2], "x": 43, "y": 54, "flags": 4},
            {"x": 67, "y": 57, "flags": 4},
            {"x": 80, "y": 57, "flags": 4},
            {"x": 94, "y": 54, "flags": 4},
            {"matrix": [5, 6], "x": 107, "y": 57, "flags": 4},
            {"x": 120, "y": 57, "flags": 4},
            {"matrix": [5, 9], "x": 143, "y": 54, "flags": 4},
            {"matrix": [5, 10], "x": 157, "y": 54, "flags": 4},
            {"matrix": [5, 11], "x": 170, "y": 54, "flags": 4},
            {"matrix": [5, 12], "x": 187, "y": 56, "flags": 4},
            {"matrix": [5, 13], "x": 201, "y": 56, "flags": 4},
            {"matrix": [5, 14], "x": 214, "y": 56, "flags": 4},
            {"x": 207, "y": 23, "flags": 8},
            {"x": 207, "y": 27, "flags": 8}
        ]
    },
    "usb": {
        "device_version": "0.0.1",
        "pid": "0x4321",
        "vid": "0x7654"
    },
    "layouts": {
        "LAYOUT_75_ansi": {
            "layout": [
                {"label": "ESC", "matrix": [0, 0], "x": 0, "y": 0},
                {"label": "F1", "matrix": [0, 2], "x": 2, "y": 0},
                {"label": "F2", "matrix": [0, 3], "x": 3, "y": 0},
                {"label": "F3", "matrix": [0, 4], "x": 4, "y": 0},
                {"label": "F4", "matrix": [0, 5], "x": 5, "y": 0},
                {"label": "F5", "matrix": [0, 6], "x": 6.5, "y": 0},
                {"label": "F6", "matrix": [0, 7], "x": 7.5, "y": 0},
                {"label": "F7", "matrix": [0, 8], "x": 8.5, "y": 0},
                {"label": "F8", "matrix": [0, 9], "x": 9.5, "y": 0},
                {"label": "F9", "matrix": [0, 10], "x": 11, "y": 0},
                {"label": "F10", "matrix": [0, 11], "x": 12, "y": 0},
                {"label": "F11", "matrix": [0, 12], "x": 13, "y": 0},
                {"label": "F12", "matrix": [0, 13], "x": 14, "y": 0},
                {"label": "END", "matrix": [0, 15], "x": 16.5, "y": 0},
                {"label": "GRV", "matrix": [1, 0], "x": 0, "y": 1.25},
                {"label": "1", "matrix": [1, 1], "x": 1, "y": 1.25},
                {"label": "2", "matrix": [1, 2], "x": 2, "y": 1.25},
                {"label": "3", "matrix": [1, 3], "x": 3, "y": 1.25},
                {"label": "4", "matrix": [1, 4], "x": 4, "y": 1.25},
                {"label": "5", "matrix": [1, 5], "x": 5, "y": 1.25},
                {"label": "6", "matrix": [1, 6], "x": 6, "y": 1.25},
                {"label": "7", "matrix": [1, 7], "x": 7, "y": 1.25},
                {"label": "8", "matrix": [1, 8], "x": 8, "y": 1.25},
                {"label": "9", "matrix": [1, 9], "x": 9, "y": 1.25},
                {"label": "0", "matrix": [1, 10], "x": 10, "y": 1.25},
                {"label": "MINS", "matrix": [1, 11], "x": 11, "y": 1.25},
                {"label": "EQL", "matrix": [1, 12], "x": 12, "y": 1.25},
                {"label": "BSPC", "matrix": [1, 13], "x": 13, "y": 1.25, "w": 2},
                {"label": "HOME", "matrix": [1, 14], "x": 16.5, "y": 1.25},
                {"label": "TAB", "matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5},
                {"label": "Q", "matrix": [2, 1], "x": 1.5, "y": 2.25},
                {"label": "W", "matrix": [2, 2], "x": 2.5, "y": 2.25},
                {"label": "E", "matrix": [2, 3], "x": 3.5, "y": 2.25},
                {"label": "R", "matrix": [2, 4], "x": 4.5, "y": 2.25},
                {"label": "T", "matrix": [2, 5], "x": 5.5, "y": 2.25},
                {"label": "Y", "matrix": [2, 6], "x": 6.5, "y": 2.25},
                {"label": "U", "matrix": [2, 7], "x": 7.5, "y": 2.25},
                {"label": "I", "matrix": [2, 8], "x": 8.5, "y": 2.25},
                {"label": "O", "matrix": [2, 9], "x": 9.5, "y": 2.25},
                {"label": "P", "matrix": [2, 10], "x": 10.5, "y": 2.25},
                {"label": "LBRC", "matrix": [2, 11], "x": 11.5, "y": 2.25},
                {"label": "RBRC", "matrix": [2, 12], "x": 12.5, "y": 2.25},
                {"label": "BSLS", "matrix": [2, 13], "x": 13.5, "y": 2.25, "w": 1.5},
                {"label": "DEL", "matrix": [2, 14], "x": 16.5, "y": 2.25},
                {"label": "CAPS", "matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75},
                {"label": "A", "matrix": [3, 1], "x": 1.75, "y": 3.25},
                {"label": "S", "matrix": [3, 2], "x": 2.75, "y": 3.25},
                {"label": "D", "matrix": [3, 3], "x": 3.75, "y": 3.25},
                {"label": "F", "matrix": [3, 4], "x": 4.75, "y": 3.25},
                {"label": "G", "matrix": [3, 5], "x": 5.75, "y": 3.25},
                {"label": "H", "matrix": [3, 6], "x": 6.75, "y": 3.25},
                {"label": "J", "matrix": [3, 7], "x": 7.75, "y": 3.25},
                {"label": "K", "matrix": [3, 8], "x": 8.75, "y": 3.25},
                {"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.25},
                {"label": "SCLN", "matrix": [3, 10], "x": 10.75, "y": 3.25},
                {"label": "QUOT", "matrix": [3, 11], "x": 11.75, "y": 3.25},
                {"label": "ENT", "matrix": [3, 13], "x": 13.75, "y": 3.25, "w": 1.25},
                {"label": "PGUP", "matrix": [3, 14], "x": 16.5, "y": 3.25},
                {"label": "LSFT", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25},
                {"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.25},
                {"label": "X", "matrix": [4, 3], "x": 3.25, "y": 4.25},
                {"label": "C", "matrix": [4, 4], "x": 4.25, "y": 4.25},
                {"label": "V", "matrix": [4, 5], "x": 5.25, "y": 4.25},
                {"label": "B", "matrix": [4, 6], "x": 6.25, "y": 4.25},
                {"label": "N", "matrix": [4, 7], "x": 7.25, "y": 4.25},
                {"label": "M", "matrix": [4, 8], "x": 8.25, "y": 4.25},
                {"label": "COMM", "matrix": [4, 9], "x": 9.25, "y": 4.25},
                {"label": "DOT", "matrix": [4, 10], "x": 10.25, "y": 4.25},
                {"label": "SLSH", "matrix": [4, 11], "x": 11.25, "y": 4.25},
                {"label": "RSFT", "matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 1.75},
                {"label": "UP", "matrix": [4, 13], "x": 15.25, "y": 4.25},
                {"label": "PGDN", "matrix": [4, 14], "x": 16.5, "y": 4.25},
                {"label": "LCTL", "matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.25},
                {"label": "LGUI", "matrix": [5, 1], "x": 1.25, "y": 5.25, "w": 1.25},
                {"label": "LALT", "matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.25},
                {"label": "SPC", "matrix": [5, 6], "x": 3.75, "y": 5.25, "w": 6.25},
                {"label": "RALT", "matrix": [5, 9], "x": 10, "y": 5.25, "w": 1.25},
                {"label": "MO(1)", "matrix": [5, 10], "x": 11.25, "y": 5.25, "w": 1.25},
                {"label": "RCTL", "matrix": [5, 11], "x": 13, "y": 5.25, "w": 1.25},
                {"label": "LEFT", "matrix": [5, 12], "x": 14.25, "y": 5.25},
                {"label": "DOWN", "matrix": [5, 13], "x": 15.25, "y": 5.25},
                {"label": "RGHT", "matrix": [5, 14], "x": 16.5, "y": 5.25}
            ]
        }
    }
}

A keyboards/abko/ak84bt/keymaps/default/keymap.c => keyboards/abko/ak84bt/keymaps/default/keymap.c +42 -0
@@ 0,0 1,42 @@
/* Copyright 2023 temp4gh
 *
 * 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 layer_names
{
    _BASE,
    _FnLay,
};

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {  
    [_BASE] = LAYOUT_75_ansi(    
    KC_ESC,           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_END,
    KC_GRV,  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_HOME,
    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_DEL,
    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_PGUP,
    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_PGDN,
    KC_LCTL, KC_LGUI, KC_LALT,                            KC_SPC,                   KC_RALT, MO(_FnLay), KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT
    ),
    [_FnLay] = LAYOUT_75_ansi(
    QK_BOOT,          KC_MY_COMPUTER, KC_WWW_HOME, KC_CALCULATOR, KC_MSEL, KC_MPRV, KC_MNXT, KC_MPLY,  KC_MSTP, KC_MUTE, KC_VOLD, KC_VOLU, KC_MAIL,          XXXXXXX,
    XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,   XXXXXXX, XXXXXXX, XXXXXXX, RGB_MOD,
    XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,   XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
    XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,   XXXXXXX,          XXXXXXX, XXXXXXX,
    XXXXXXX,          XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,   XXXXXXX, XXXXXXX, RGB_VAI, XXXXXXX,
    XXXXXXX, XXXXXXX, XXXXXXX,                            RGB_TOG,                   XXXXXXX, _______,   XXXXXXX, RGB_SPD, RGB_VAD, RGB_SPI
    )    
};

A keyboards/abko/ak84bt/mcuconf.h => keyboards/abko/ak84bt/mcuconf.h +22 -0
@@ 0,0 1,22 @@
/*
    ChibiOS - Copyright (C) 2006..2015 Giovanni Di Sirio

    Licensed under the Apache License, Version 2.0 (the "License");
    you may not use this file except in compliance with the License.
    You may obtain a copy of the License at

        http://www.apache.org/licenses/LICENSE-2.0

    Unless required by applicable law or agreed to in writing, software
    distributed under the License is distributed on an "AS IS" BASIS,
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    See the License for the specific language governing permissions and
    limitations under the License.
*/

#pragma once

#include_next <mcuconf.h>

#undef STM32_I2C_USE_I2C1
#define STM32_I2C_USE_I2C1 TRUE

A keyboards/abko/ak84bt/readme.md => keyboards/abko/ak84bt/readme.md +21 -0
@@ 0,0 1,21 @@
# AK84BT

![ak84bt](https://i.imgur.com/tQJ19vxh.jpg)

A customizable 80% keyboard.

- Keyboard Maintainer: [temp4gh](https://github.com/temp4gh)
- Hardware Supported: AK84BT PCB
- Hardware Availability: www.abko.co.kr

Make example for this keyboard (after setting up your build environment):

    make abko/ak84bt:default

Flashing example for this keyboard:

    make abko/ak84bt:default:flash

**Reset Key**: Hold down the key located at *K10*, commonly programmed as *Grave* while plugging in the keyboard.

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

A keyboards/abko/ak84bt/rules.mk => keyboards/abko/ak84bt/rules.mk +1 -0
@@ 0,0 1,1 @@
# This file intentionally left blank
\ No newline at end of file