From 999200c05a376638b0c9e6f383c9e0e0aef69a34 Mon Sep 17 00:00:00 2001
From: Keith Wade <keawade@protonmail.com>
Date: Tue, 14 Feb 2023 02:13:27 -0500
Subject: Add keaboard keyboard (#19816)

Co-authored-by: Ryan <fauxpark@gmail.com>
---
 keyboards/keaboard/info.json                | 88 +++++++++++++++++++++++++++++
 keyboards/keaboard/keymaps/default/keymap.c | 67 ++++++++++++++++++++++
 keyboards/keaboard/readme.md                | 21 +++++++
 keyboards/keaboard/rev1/config.h            |  4 ++
 keyboards/keaboard/rev1/rules.mk            |  1 +
 5 files changed, 181 insertions(+)
 create mode 100644 keyboards/keaboard/info.json
 create mode 100644 keyboards/keaboard/keymaps/default/keymap.c
 create mode 100644 keyboards/keaboard/readme.md
 create mode 100644 keyboards/keaboard/rev1/config.h
 create mode 100644 keyboards/keaboard/rev1/rules.mk

(limited to 'keyboards')

diff --git a/keyboards/keaboard/info.json b/keyboards/keaboard/info.json
new file mode 100644
index 0000000000..74e8ce3e93
--- /dev/null
+++ b/keyboards/keaboard/info.json
@@ -0,0 +1,88 @@
+{
+    "keyboard_name": "keaboard",
+    "manufacturer": "keawade",
+    "url": "https://github.com/keawade/keaboard",
+    "maintainer": "keawade",
+
+    "usb": {
+        "vid": "0xFEED",
+        "pid": "0x9090",
+        "device_version": "1.0.0"
+    },
+
+    "diode_direction": "COL2ROW",
+    "matrix_pins": {
+        "rows": ["D7", "E6", "B4", "B5"],
+        "cols": ["F5", "F6", "F7", "B1", "B3", "B2", "B6"]
+    },
+    "bootloader": "caterina",
+    "processor": "atmega32u4",
+
+    "split": {
+        "enabled": true,
+        "soft_serial_pin": "D0"
+    },
+    "features": {
+        "extrakey": true,
+        "mousekey": true,
+        "unicode": true,
+        "command": true
+    },
+
+    "layouts": {
+        "LAYOUT": {
+            "layout": [
+                { "matrix": [0, 0], "x": 0, "y": 0.375 },
+                { "matrix": [0, 1], "x": 1, "y": 0.25 },
+                { "matrix": [0, 2], "x": 2, "y": 0.125 },
+                { "matrix": [0, 3], "x": 3, "y": 0 },
+                { "matrix": [0, 4], "x": 4, "y": 0.125 },
+                { "matrix": [0, 5], "x": 5, "y": 0.25 },
+                { "matrix": [4, 5], "x": 10, "y": 0.25 },
+                { "matrix": [4, 4], "x": 11, "y": 0.125 },
+                { "matrix": [4, 3], "x": 12, "y": 0 },
+                { "matrix": [4, 2], "x": 13, "y": 0.125 },
+                { "matrix": [4, 1], "x": 14, "y": 0.25 },
+                { "matrix": [4, 0], "x": 15, "y": 0.375 },
+                { "matrix": [1, 0], "x": 0, "y": 1.375 },
+                { "matrix": [1, 1], "x": 1, "y": 1.25 },
+                { "matrix": [1, 2], "x": 2, "y": 1.125 },
+                { "matrix": [1, 3], "x": 3, "y": 1 },
+                { "matrix": [1, 4], "x": 4, "y": 1.125 },
+                { "matrix": [1, 5], "x": 5, "y": 1.25 },
+                { "matrix": [5, 5], "x": 10, "y": 1.25 },
+                { "matrix": [5, 4], "x": 11, "y": 1.125 },
+                { "matrix": [5, 3], "x": 12, "y": 1 },
+                { "matrix": [5, 2], "x": 13, "y": 1.125 },
+                { "matrix": [5, 1], "x": 14, "y": 1.25 },
+                { "matrix": [5, 0], "x": 15, "y": 1.375 },
+                { "matrix": [2, 0], "x": 0, "y": 2.375 },
+                { "matrix": [2, 1], "x": 1, "y": 2.25 },
+                { "matrix": [2, 2], "x": 2, "y": 2.125 },
+                { "matrix": [2, 3], "x": 3, "y": 2 },
+                { "matrix": [2, 4], "x": 4, "y": 2.125 },
+                { "matrix": [2, 5], "x": 5, "y": 2.25 },
+                { "matrix": [2, 6], "x": 6.5, "y": 3 },
+                { "matrix": [6, 6], "x": 8.5, "y": 3 },
+                { "matrix": [6, 5], "x": 10, "y": 2.25 },
+                { "matrix": [6, 4], "x": 11, "y": 2.125 },
+                { "matrix": [6, 3], "x": 12, "y": 2 },
+                { "matrix": [6, 2], "x": 13, "y": 2.125 },
+                { "matrix": [6, 1], "x": 14, "y": 2.25 },
+                { "matrix": [6, 0], "x": 15, "y": 2.375 },
+                { "matrix": [3, 0], "x": 0, "y": 3.375 },
+                { "matrix": [3, 1], "x": 1, "y": 3.25 },
+                { "matrix": [3, 2], "x": 2, "y": 3.125 },
+                { "matrix": [3, 3], "x": 3, "y": 3 },
+                { "matrix": [3, 4], "x": 5.5, "y": 4 },
+                { "matrix": [3, 6], "x": 6.5, "y": 4 },
+                { "matrix": [7, 6], "x": 8.5, "y": 4 },
+                { "matrix": [7, 4], "x": 9.5, "y": 4 },
+                { "matrix": [7, 3], "x": 12, "y": 3 },
+                { "matrix": [7, 2], "x": 13, "y": 3.125 },
+                { "matrix": [7, 1], "x": 14, "y": 3.25 },
+                { "matrix": [7, 0], "x": 15, "y": 3.375 }
+            ]
+        }
+    }
+}
diff --git a/keyboards/keaboard/keymaps/default/keymap.c b/keyboards/keaboard/keymaps/default/keymap.c
new file mode 100644
index 0000000000..b7b7fd7a02
--- /dev/null
+++ b/keyboards/keaboard/keymaps/default/keymap.c
@@ -0,0 +1,67 @@
+/*
+Copyright 2023 Keith Wade <https://github.com/keawade>
+
+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] = LAYOUT(
+  //,--------+--------+--------+--------+--------+--------+--------.        ,--------+--------+--------+--------+--------+--------+--------.
+     KC_TAB,  KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,                               KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,    KC_BSPC,
+  //|--------+--------+--------+--------+--------+--------+--------|        |--------+--------+--------+--------+--------+--------+--------|
+     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_F2,            KC_F12,  KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, KC_BSLS,
+  //|--------+--------+--------+--------+--------+--------+--------|        |--------+--------+--------+--------+--------+--------+--------|
+     KC_DEL,  KC_LALT, KC_LCTL, KC_LGUI,          LOWER,   KC_ENT,           KC_SPC,  RAISE,            KC_LEFT, KC_DOWN, KC_UP,   KC_RGHT
+  //`--------+--------+--------+--------+--------+--------+--------/        \--------+--------+--------+--------+--------+--------+--------'
+  ),
+
+  [_RAISE] = LAYOUT(
+  //,--------+--------+--------+--------+--------+--------+--------.        ,--------+--------+--------+--------+--------+--------+--------.
+     KC_GRV,  KC_1,    KC_2,    KC_3,    KC_4,    KC_5,                               KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_TRNS,
+  //|--------+--------+--------+--------+--------+--------+--------|        |--------+--------+--------+--------+--------+--------+--------|
+     KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,                            KC_TRNS, KC_MINS, KC_EQL,  KC_LBRC, KC_RBRC, KC_TRNS,
+  //|--------+--------+--------+--------+--------+--------+--------|        |--------+--------+--------+--------+--------+--------+--------|
+     KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,          KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+  //|--------+--------+--------+--------+--------+--------+--------|        |--------+--------+--------+--------+--------+--------+--------|
+     KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,          KC_TRNS, KC_TRNS,          KC_TRNS, KC_TRNS,          KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
+  //`--------+--------+--------+--------+--------+--------+--------/        \--------+--------+--------+--------+--------+--------+--------'
+  ),
+
+  [_LOWER] = LAYOUT(
+  //,--------+--------+--------+--------+--------+--------+--------.        ,--------+--------+--------+--------+--------+--------+--------.
+    KC_TILD, KC_EXLM,  KC_AT,   KC_HASH, KC_DLR,  KC_PERC,                            KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_TRNS,
+  //|--------+--------+--------+--------+--------+--------+--------|        |--------+--------+--------+--------+--------+--------+--------|
+    KC_TRNS, KC_F1,    KC_F2,   KC_F3,   KC_F4,   KC_F5,                              KC_F6,   KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_DQUO,
+  //|--------+--------+--------+--------+--------+--------+--------|        |--------+--------+--------+--------+--------+--------+--------|
+    KC_TRNS, KC_F7,    KC_F8,   KC_F9,   KC_F10,  KC_F11,  KC_TRNS,          KC_TRNS, KC_F12,  KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PIPE,
+  //|--------+--------+--------+--------+--------+--------+--------|        |--------+--------+--------+--------+--------+--------+--------|
+    KC_TRNS, KC_TRNS,  KC_TRNS, KC_TRNS,          KC_TRNS, KC_TRNS,          KC_TRNS, KC_TRNS,          KC_HOME, KC_PGDN, KC_PGUP, KC_END
+  //`--------+--------+--------+--------+--------+--------+--------/        \--------+--------+--------+--------+--------+--------+--------'
+  )
+
+};
diff --git a/keyboards/keaboard/readme.md b/keyboards/keaboard/readme.md
new file mode 100644
index 0000000000..71473211ed
--- /dev/null
+++ b/keyboards/keaboard/readme.md
@@ -0,0 +1,21 @@
+# keaboard
+
+A split columnular stagger 4x6 keyboard with 3 thumb keys designed by [Keith Wade](https://github.com/keawade). [More info on the GitHub Repo](https://github.com/keawade/keaboard).
+
+* Keyboard Maintainer: [Keith Wade](https://github.com/keawade)
+* Hardware Supported: Pro Micro and clones
+* Hardware Availability: Open source. You can order your own from a PCB manufacturer.
+
+Make example for this keyboard (after setting up your build environment):
+
+    make keaboard/rev1:default
+
+Flashing example for this keyboard:
+
+    make keaboard/rev1:default:flash
+
+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).
+
+## Bootloader
+
+Enter the bootloader by holding tapping reset button on the top edge of the board.
\ No newline at end of file
diff --git a/keyboards/keaboard/rev1/config.h b/keyboards/keaboard/rev1/config.h
new file mode 100644
index 0000000000..941b25a2d7
--- /dev/null
+++ b/keyboards/keaboard/rev1/config.h
@@ -0,0 +1,4 @@
+// Copyright 2023 Keith Wade <https://github.com/keawade>
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
diff --git a/keyboards/keaboard/rev1/rules.mk b/keyboards/keaboard/rev1/rules.mk
new file mode 100644
index 0000000000..6e7633bfe0
--- /dev/null
+++ b/keyboards/keaboard/rev1/rules.mk
@@ -0,0 +1 @@
+# This file intentionally left blank
-- 
cgit v1.2.3