From 8b0f74b63d589362cc1ac64a1b69963014f8b602 Mon Sep 17 00:00:00 2001
From: "b. avianto" <430395+avianto@users.noreply.github.com>
Date: Thu, 9 Dec 2021 19:37:42 -0500
Subject: [PATCH] Add support for Eye Oh Designs' BabyV keyboard (#92)
* Add support for BabyV
* Add support for BabyV
---
.../eyeohdesigns/babyv/keymaps/vial/config.h | 25 +++++++++++
.../eyeohdesigns/babyv/keymaps/vial/keymap.c | 44 +++++++++++++++++++
.../eyeohdesigns/babyv/keymaps/vial/rules.mk | 5 +++
.../eyeohdesigns/babyv/keymaps/vial/vial.json | 41 +++++++++++++++++
4 files changed, 115 insertions(+)
create mode 100644 keyboards/eyeohdesigns/babyv/keymaps/vial/config.h
create mode 100644 keyboards/eyeohdesigns/babyv/keymaps/vial/keymap.c
create mode 100644 keyboards/eyeohdesigns/babyv/keymaps/vial/rules.mk
create mode 100644 keyboards/eyeohdesigns/babyv/keymaps/vial/vial.json
diff --git a/keyboards/eyeohdesigns/babyv/keymaps/vial/config.h b/keyboards/eyeohdesigns/babyv/keymaps/vial/config.h
new file mode 100644
index 0000000000..02b26f7491
--- /dev/null
+++ b/keyboards/eyeohdesigns/babyv/keymaps/vial/config.h
@@ -0,0 +1,25 @@
+/*
+Copyright 2020 Eye Oh! Designs
+Copyright 2021 avianto
+
+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 .
+*/
+
+#pragma once
+
+#define VIAL_KEYBOARD_UID {0xFC, 0x59, 0x13, 0x81, 0x4D, 0x51, 0x6B, 0x12}
+
+
+#define VIAL_UNLOCK_COMBO_ROWS { 3, 3 }
+#define VIAL_UNLOCK_COMBO_COLS { 0, 11 }
diff --git a/keyboards/eyeohdesigns/babyv/keymaps/vial/keymap.c b/keyboards/eyeohdesigns/babyv/keymaps/vial/keymap.c
new file mode 100644
index 0000000000..004a47678d
--- /dev/null
+++ b/keyboards/eyeohdesigns/babyv/keymaps/vial/keymap.c
@@ -0,0 +1,44 @@
+/* Copyright 2020 Eye Oh! Designs
+ *
+ * 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 .
+ */
+#include QMK_KEYBOARD_H
+
+// Defines names for use in layer keycodes and the keymap
+enum layer_names {
+ _QWERTY,
+ _FUNCTN,
+ _NUMBRS,
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [_QWERTY] = LAYOUT_2u(
+ KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
+ KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT,
+ 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_LCTL, KC_LALT, MO(_NUMBRS), KC_SPC, MO(_FUNCTN), KC_LGUI
+ ),
+ [_FUNCTN] = LAYOUT_2u(
+ KC_VOLU, KC_Q, KC_PGUP, RGB_TOG, BL_STEP, KC_T, KC_Y, KC_U, KC_UP, RGB_MOD, RGB_RMOD, KC_DEL,
+ KC_VOLD, KC_HOME, KC_PGDN, KC_D, KC_U, KC_MINS, KC_EQL, KC_LEFT, KC_DOWN, KC_RIGHT, KC_QUOT, RESET,
+ KC_LSFT, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, KC_LBRC, KC_RBRC, RGB_VAI, RGB_VAD, KC_DOT, KC_BSLS, KC_RSFT,
+ KC_LCTL, KC_TRNS, KC_TRNS, KC_SPC, KC_TRNS, RESET
+ ),
+ [_NUMBRS] = LAYOUT_2u(
+ 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_MUTE, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_ENT,
+ KC_CAPS, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_RSFT,
+ KC_LCTL, KC_TRNS, KC_TRNS, KC_SPC, KC_TRNS, KC_LGUI
+ ),
+};
\ No newline at end of file
diff --git a/keyboards/eyeohdesigns/babyv/keymaps/vial/rules.mk b/keyboards/eyeohdesigns/babyv/keymaps/vial/rules.mk
new file mode 100644
index 0000000000..0597afbce8
--- /dev/null
+++ b/keyboards/eyeohdesigns/babyv/keymaps/vial/rules.mk
@@ -0,0 +1,5 @@
+BOOTMAGIC_ENABLE = lite
+
+VIA_ENABLE = yes
+VIAL_ENABLE = yes
+LTO_ENABLE = yes
diff --git a/keyboards/eyeohdesigns/babyv/keymaps/vial/vial.json b/keyboards/eyeohdesigns/babyv/keymaps/vial/vial.json
new file mode 100644
index 0000000000..a042fb9d1c
--- /dev/null
+++ b/keyboards/eyeohdesigns/babyv/keymaps/vial/vial.json
@@ -0,0 +1,41 @@
+{
+ "name": "BabyV",
+ "vendorId": "0xFEED",
+ "productId": "0x0000",
+ "lighting": "qmk_rgblight",
+ "matrix": {
+ "rows": 4,
+ "cols": 12
+ },
+ "layouts": {
+ "labels": [
+ "1u Left",
+ "1u Right"
+ ],
+ "keymap": [
+ ["0,0"],
+ ["1,0"],
+ ["2,0"],
+ ["3,0",{"x":11.25},"3,11"],
+ [{"rx":12,"x":0.25},"0,11"],
+ [{"x":0.25},"1,11"],
+ [{"x":0.25},"2,11"],
+ [{"r":4,"rx":1.25},"0,1"],
+ ["1,1"],
+ ["2,1"],
+ [{"r":8,"rx":2,"x":0.5},"0,2","0,3","0,4","0,5"],
+ [{"x":0.5},"1,2","1,3","1,4","1,5"],
+ [{"x":0.5},"2,2","2,3","2,4","2,5"],
+ [{"x":1.5},"3,3",{"p":"SPACE","w":2},"3,5\n\n\n0,0"],
+ [{"y":0.25,"x":2.5},"3,4\n\n\n0,1","3,5\n\n\n0,1"],
+ [{"r":-8,"rx":11.25,"x":-4.5},"0,6","0,7","0,8","0,9"],
+ [{"x":-4.5},"1,6","1,7","1,8","1,9"],
+ [{"x":-4.5},"2,6","2,7","2,8","2,9"],
+ [{"x":-4.5,"w":2},"3,6\n\n\n1,0","3,8"],
+ [{"y":0.25,"x":-4.5},"3,6\n\n\n1,1","3,7\n\n\n1,1"],
+ [{"r":-4,"rx":12,"x":-1},"0,10"],
+ [{"x":-1},"1,10"],
+ [{"x":-1},"2,10"]
+ ]
+ }
+}