From 634eac82e8b94cf3cf85e957ca54bb9e559409fd Mon Sep 17 00:00:00 2001
From: Taylore101 <Taylore101@users.noreply.github.com>
Date: Wed, 6 Jan 2021 12:40:33 -0500
Subject: [PATCH] [Keyboard] Adding "Bigmac" 5x17 handwired by Taylore101
 (#11204)

* Adding bigmac handwired by taylore101

* Adding bigmac handwired by taylore101

* Updated Big Mac pin layout

* Updated files from kbfirmware to newer qmk. Thanks drashna

* Updated config file to have product and manufacturer info. Thanks again drashna

* Update readme.md

added missing picture of board layout

* Update keyboards/handwired/bigmac/readme.md

Co-authored-by: Drashna Jaelre <drashna@live.com>

Co-authored-by: Taylor Graves <taylorgraves@BOS0005.local>
Co-authored-by: Taylor Graves <taylorgraves@BOS0005.lan>
Co-authored-by: Drashna Jaelre <drashna@live.com>
---
 keyboards/handwired/bigmac/bigmac.c           | 20 ++++
 keyboards/handwired/bigmac/bigmac.h           | 36 +++++++
 keyboards/handwired/bigmac/config.h           | 49 ++++++++++
 keyboards/handwired/bigmac/info.json          | 95 +++++++++++++++++++
 .../handwired/bigmac/keymaps/default/keymap.c | 28 ++++++
 keyboards/handwired/bigmac/readme.md          |  6 ++
 keyboards/handwired/bigmac/rules.mk           | 25 +++++
 7 files changed, 259 insertions(+)
 create mode 100644 keyboards/handwired/bigmac/bigmac.c
 create mode 100644 keyboards/handwired/bigmac/bigmac.h
 create mode 100644 keyboards/handwired/bigmac/config.h
 create mode 100644 keyboards/handwired/bigmac/info.json
 create mode 100644 keyboards/handwired/bigmac/keymaps/default/keymap.c
 create mode 100644 keyboards/handwired/bigmac/readme.md
 create mode 100644 keyboards/handwired/bigmac/rules.mk

diff --git a/keyboards/handwired/bigmac/bigmac.c b/keyboards/handwired/bigmac/bigmac.c
new file mode 100644
index 00000000000..b8815a1c4e9
--- /dev/null
+++ b/keyboards/handwired/bigmac/bigmac.c
@@ -0,0 +1,20 @@
+/* Copyright 2020 Taylore101
+ *
+ * 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 "bigmac.h"
+
+// generated by KBFirmware JSON to QMK Parser
+// https://noroadsleft.github.io/kbf_qmk_converter/
diff --git a/keyboards/handwired/bigmac/bigmac.h b/keyboards/handwired/bigmac/bigmac.h
new file mode 100644
index 00000000000..7e782e433de
--- /dev/null
+++ b/keyboards/handwired/bigmac/bigmac.h
@@ -0,0 +1,36 @@
+/* Copyright 2020 Taylore101
+ *
+ * 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( \
+    K00,   K01, K02, K03, K04, K05,    K06, K07, K08,   K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G,      \
+    K10,   K11, K12, K13, K14, K15,    K16, K17, K18,   K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G,      \
+    K20,   K21, K22, K23, K24, K25,    K26, K27, K28,   K29, K2A, K2B, K2C, K2D, K2E, K2F,    K2G,   \
+    K30,   K31, K32, K33, K34, K35,    K36, K37, K38,   K39, K3A, K3B, K3C, K3D, K3E,    K3F, K3G,   \
+    K40,   K41,    K43,   K45,         K46, K47, K48,   K49,      K4B,    K4D,      K4E, K4F, K4G    \
+) { \
+    { K00,   K01,   K02,   K03,   K04,   K05,   K06,   K07,   K08,   K09,   K0A,   K0B,   K0C,   K0D,   K0E,   K0F,   K0G   }, \
+    { K10,   K11,   K12,   K13,   K14,   K15,   K16,   K17,   K18,   K19,   K1A,   K1B,   K1C,   K1D,   K1E,   K1F,   K1G   }, \
+    { K20,   K21,   K22,   K23,   K24,   K25,   K26,   K27,   K28,   K29,   K2A,   K2B,   K2C,   K2D,   K2E,   K2F,   K2G   }, \
+    { K30,   K31,   K32,   K33,   K34,   K35,   K36,   K37,   K38,   K39,   K3A,   K3B,   K3C,   K3D,   K3E,   K3F,   K3G   }, \
+    { K40,   K41,   KC_NO, K43,   KC_NO, K45,   K46,   K47,   K48,   K49,   KC_NO, K4B,   KC_NO, K4D,   K4E,   K4F,   K4G   }, \
+}
+
+// generated by KBFirmware JSON to QMK Parser
+// https://noroadsleft.github.io/kbf_qmk_converter/
diff --git a/keyboards/handwired/bigmac/config.h b/keyboards/handwired/bigmac/config.h
new file mode 100644
index 00000000000..db2ec2a5b72
--- /dev/null
+++ b/keyboards/handwired/bigmac/config.h
@@ -0,0 +1,49 @@
+/* Copyright 2020 Taylore101
+ *
+ * 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       0xFEED
+#define PRODUCT_ID      0x1010
+#define DEVICE_VER      0x0001
+#define MANUFACTURER    Taylore101
+#define PRODUCT         BigMac
+
+/* key matrix size */
+#define MATRIX_ROWS 5
+#define MATRIX_COLS 17
+
+/*
+ * Keyboard Matrix Assignments
+ *
+ * Change this to how you wired your keyboard
+ * COLS: AVR pins used for columns, left to right
+ * ROWS: AVR pins used for rows, top to bottom
+ * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
+ *                  ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
+ *
+ */
+#define MATRIX_ROW_PINS { F0, F1, C7, D5, B7 }
+#define MATRIX_COL_PINS { B6, B2, B3, B1, F7, F6, F5, F4, D3, D2, D1, D0, D4, C6, D7, E6, B4 }
+
+#define DIODE_DIRECTION COL2ROW
+
+
+// generated by KBFirmware JSON to QMK Parser
+// https://noroadsleft.github.io/kbf_qmk_converter/
diff --git a/keyboards/handwired/bigmac/info.json b/keyboards/handwired/bigmac/info.json
new file mode 100644
index 00000000000..65501db119f
--- /dev/null
+++ b/keyboards/handwired/bigmac/info.json
@@ -0,0 +1,95 @@
+{
+    "keyboard_name": "BigMac",
+    "url": "",
+    "maintainer": "Taylore101",
+    "width": 19,
+    "height": 5,
+    "layouts": {
+        "LAYOUT": {
+            "layout": [
+                {"label":"K00 (F0,B6)", "x":0, "y":0, "w":1.5},
+                {"label":"K01 (F0,B2)", "x":1.5, "y":0},
+                {"label":"K02 (F0,B3)", "x":2.5, "y":0},
+                {"label":"K03 (F0,B1)", "x":3.5, "y":0},
+                {"label":"K04 (F0,F7)", "x":4.5, "y":0},
+                {"label":"K05 (F0,F6)", "x":5.5, "y":0},
+                {"label":"K06 (F0,F5)", "x":7, "y":0},
+                {"label":"K07 (F0,F4)", "x":8, "y":0},
+                {"label":"K08 (F0,D3)", "x":9, "y":0},
+                {"label":"K09 (F0,D2)", "x":10.5, "y":0},
+                {"label":"K0A (F0,D1)", "x":11.5, "y":0},
+                {"label":"K0B (F0,D0)", "x":12.5, "y":0},
+                {"label":"K0C (F0,D4)", "x":13.5, "y":0},
+                {"label":"K0D (F0,C6)", "x":14.5, "y":0},
+                {"label":"K0E (F0,D7)", "x":15.5, "y":0},
+                {"label":"K0F (F0,E6)", "x":16.5, "y":0},
+                {"label":"K0G (F0,B4)", "x":17.5, "y":0, "w":1.5},
+                {"label":"K10 (F1,B6)", "x":0, "y":1, "w":1.5},
+                {"label":"K11 (F1,B2)", "x":1.5, "y":1},
+                {"label":"K12 (F1,B3)", "x":2.5, "y":1},
+                {"label":"K13 (F1,B1)", "x":3.5, "y":1},
+                {"label":"K14 (F1,F7)", "x":4.5, "y":1},
+                {"label":"K15 (F1,F6)", "x":5.5, "y":1},
+                {"label":"K16 (F1,F5)", "x":7, "y":1},
+                {"label":"K17 (F1,F4)", "x":8, "y":1},
+                {"label":"K18 (F1,D3)", "x":9, "y":1},
+                {"label":"K19 (F1,D2)", "x":10.5, "y":1},
+                {"label":"K1A (F1,D1)", "x":11.5, "y":1},
+                {"label":"K1B (F1,D0)", "x":12.5, "y":1},
+                {"label":"K1C (F1,D4)", "x":13.5, "y":1},
+                {"label":"K1D (F1,C6)", "x":14.5, "y":1},
+                {"label":"K1E (F1,D7)", "x":15.5, "y":1},
+                {"label":"K1F (F1,E6)", "x":16.5, "y":1},
+                {"label":"K1G (F1,B4)", "x":17.5, "y":1, "w":1.5},
+                {"label":"K20 (C7,B6)", "x":0, "y":2, "w":1.5},
+                {"label":"K21 (C7,B2)", "x":1.5, "y":2},
+                {"label":"K22 (C7,B3)", "x":2.5, "y":2},
+                {"label":"K23 (C7,B1)", "x":3.5, "y":2},
+                {"label":"K24 (C7,F7)", "x":4.5, "y":2},
+                {"label":"K25 (C7,F6)", "x":5.5, "y":2},
+                {"label":"K26 (C7,F5)", "x":7, "y":2},
+                {"label":"K27 (C7,F4)", "x":8, "y":2},
+                {"label":"K28 (C7,D3)", "x":9, "y":2},
+                {"label":"K29 (C7,D2)", "x":10.5, "y":2},
+                {"label":"K2A (C7,D1)", "x":11.5, "y":2},
+                {"label":"K2B (C7,D0)", "x":12.5, "y":2},
+                {"label":"K2C (C7,D4)", "x":13.5, "y":2},
+                {"label":"K2D (C7,C6)", "x":14.5, "y":2},
+                {"label":"K2E (C7,D7)", "x":15.5, "y":2},
+                {"label":"K2F (C7,E6)", "x":16.5, "y":2, "w":1.5},
+                {"label":"K2G (C7,B4)", "x":18, "y":2},
+                {"label":"K30 (D5,B6)", "x":0, "y":3, "w":1.5},
+                {"label":"K31 (D5,B2)", "x":1.5, "y":3},
+                {"label":"K32 (D5,B3)", "x":2.5, "y":3},
+                {"label":"K33 (D5,B1)", "x":3.5, "y":3},
+                {"label":"K34 (D5,F7)", "x":4.5, "y":3},
+                {"label":"K35 (D5,F6)", "x":5.5, "y":3},
+                {"label":"K36 (D5,F5)", "x":7, "y":3},
+                {"label":"K37 (D5,F4)", "x":8, "y":3},
+                {"label":"K38 (D5,D3)", "x":9, "y":3},
+                {"label":"K39 (D5,D2)", "x":10.5, "y":3},
+                {"label":"K3A (D5,D1)", "x":11.5, "y":3},
+                {"label":"K3B (D5,D0)", "x":12.5, "y":3},
+                {"label":"K3C (D5,D4)", "x":13.5, "y":3},
+                {"label":"K3D (D5,C6)", "x":14.5, "y":3},
+                {"label":"K3E (D5,D7)", "x":15.5, "y":3, "w":1.5},
+                {"label":"K3F (D5,E6)", "x":17, "y":3},
+                {"label":"K3G (D5,B4)", "x":18, "y":3},
+                {"label":"K40 (B7,B6)", "x":0, "y":4, "w":1.5},
+                {"label":"K41 (B7,B2)", "x":1.5, "y":4, "w":1.5},
+                {"label":"K43 (B7,B1)", "x":3, "y":4, "w":1.5},
+                {"label":"K45 (B7,F6)", "x":4.5, "y":4, "w":2},
+                {"label":"K46 (B7,F5)", "x":7, "y":4},
+                {"label":"K47 (B7,F4)", "x":8, "y":4},
+                {"label":"K48 (B7,D3)", "x":9, "y":4},
+                {"label":"K49 (B7,D2)", "x":10.5, "y":4, "w":2},
+                {"label":"K4B (B7,D0)", "x":12.5, "y":4, "w":1.5},
+                {"label":"K4D (B7,C6)", "x":14, "y":4, "w":1.5},
+                {"label":"K4E (B7,D7)", "x":16, "y":4},
+                {"label":"K4F (B7,E6)", "x":17, "y":4},
+                {"label":"K4G (B7,B4)", "x":18, "y":4}
+            ]
+        }
+    }
+    ,"meta": "https://noroadsleft.github.io/kbf_qmk_converter/"
+}
diff --git a/keyboards/handwired/bigmac/keymaps/default/keymap.c b/keyboards/handwired/bigmac/keymaps/default/keymap.c
new file mode 100644
index 00000000000..f2eec1b5c41
--- /dev/null
+++ b/keyboards/handwired/bigmac/keymaps/default/keymap.c
@@ -0,0 +1,28 @@
+/* Copyright 2020 Taylore101
+ *
+ * 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 uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+    [0] = LAYOUT(
+        KC_ESC,      KC_1,    KC_2,    KC_3,    KC_4,    KC_5,         KC_NO, 	KC_NO,	 KC_NO,		  KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_MINS, KC_EQL,  KC_BSPC,
+        KC_TAB,      KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,         KC_7,    KC_8,    KC_9,        KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,    KC_LBRC, KC_RBRC, KC_BSLS,
+        KC_CAPS,     KC_A,    KC_S,    KC_D,    KC_F,    KC_G,         KC_4,    KC_5,    KC_6,        KC_H,    KC_J,    KC_K,    KC_L,    KC_QUOT, KC_QUOT, KC_ENT,       KC_PGUP,
+        KC_LSFT,     KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,         KC_1,    KC_2,    KC_3,        KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, KC_LSFT,      KC_UP,   KC_PGDN,
+        KC_LCTL,     KC_LALT,      KC_LGUI,     KC_SPC,                KC_NO, KC_0,    KC_NO,   	  KC_SPC,           KC_RGUI,      KC_LCTL,          KC_LEFT, KC_DOWN, KC_RGHT
+    ),
+
+};
diff --git a/keyboards/handwired/bigmac/readme.md b/keyboards/handwired/bigmac/readme.md
new file mode 100644
index 00000000000..1c5ff4efdff
--- /dev/null
+++ b/keyboards/handwired/bigmac/readme.md
@@ -0,0 +1,6 @@
+# BIGMAC
+
+![BIGMAC](https://i.imgur.com/Jm6P8Ovl.png)
+
+A hand wired 5x17 ortholinear with a macro/num pad in the center
+Made by Taylore101 on github / thetlj on reddit
diff --git a/keyboards/handwired/bigmac/rules.mk b/keyboards/handwired/bigmac/rules.mk
new file mode 100644
index 00000000000..14b22efbdb0
--- /dev/null
+++ b/keyboards/handwired/bigmac/rules.mk
@@ -0,0 +1,25 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+BOOTLOADER = atmel-dfu
+
+# Build Options
+#   change yes to no to disable
+#
+BOOTMAGIC_ENABLE = lite     # Virtual DIP switch configuration
+MOUSEKEY_ENABLE = yes       # Mouse keys
+EXTRAKEY_ENABLE = yes       # Audio control and System control
+CONSOLE_ENABLE = yes        # Console for debug
+COMMAND_ENABLE = yes        # Commands for debug and configuration
+# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
+SLEEP_LED_ENABLE = no       # Breathing sleep LED during USB suspend
+# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+NKRO_ENABLE = no            # USB Nkey Rollover
+BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no        # Enable keyboard RGB underglow
+BLUETOOTH_ENABLE = no       # Enable Bluetooth
+AUDIO_ENABLE = no           # Audio output
+
+# generated by KBFirmware JSON to QMK Parser
+# https://noroadsleft.github.io/kbf_qmk_converter/