From ca6921b1ba422e4276e45062a115bec854864a90 Mon Sep 17 00:00:00 2001
From: Joe Scotto <contact@joescotto.com>
Date: Tue, 13 Jun 2023 02:17:18 -0400
Subject: [PATCH] [Keyboard] Add ScottoNum macropad (#21208)

---
 .../handwired/scottokeebs/scottonum/info.json | 56 +++++++++++++++++++
 .../scottonum/keymaps/default/keymap.c        | 29 ++++++++++
 .../handwired/scottokeebs/scottonum/readme.md | 27 +++++++++
 .../handwired/scottokeebs/scottonum/rules.mk  |  1 +
 4 files changed, 113 insertions(+)
 create mode 100644 keyboards/handwired/scottokeebs/scottonum/info.json
 create mode 100644 keyboards/handwired/scottokeebs/scottonum/keymaps/default/keymap.c
 create mode 100644 keyboards/handwired/scottokeebs/scottonum/readme.md
 create mode 100644 keyboards/handwired/scottokeebs/scottonum/rules.mk

diff --git a/keyboards/handwired/scottokeebs/scottonum/info.json b/keyboards/handwired/scottokeebs/scottonum/info.json
new file mode 100644
index 000000000000..2907b47af86a
--- /dev/null
+++ b/keyboards/handwired/scottokeebs/scottonum/info.json
@@ -0,0 +1,56 @@
+{
+    "manufacturer": "ScottoKeebs",
+    "keyboard_name": "ScottoNum",
+    "maintainer": "joe-scotto",
+    "diode_direction": "COL2ROW",
+    "development_board": "promicro",
+    "features": {
+        "bootmagic": true,
+        "command": false,
+        "console": false,
+        "extrakey": true,
+        "mousekey": true,
+        "nkro": true
+    },
+    "build": {
+        "lto": true
+    },
+    "matrix_pins": {
+        "direct": [
+            ["D3", "D2", "D1", "D0"],
+            ["D4", "C6", "D7", "E6"],
+            ["B4", "B5", "F4"],
+            ["F5", "F6", "F7", "B1"],
+            ["B3", "B2"]
+        ]
+    },
+    "url": "https://scottokeebs.com",
+    "usb": {
+        "device_version": "1.0.0",
+        "pid": "0x0014",
+        "vid": "0x534B"
+    },
+    "layouts": {
+        "LAYOUT_numpad_4x5": {
+            "layout": [
+                { "matrix": [0, 0], "x": 0, "y": 0 },
+                { "matrix": [0, 1], "x": 1, "y": 0 },
+                { "matrix": [0, 2], "x": 2, "y": 0 },
+                { "matrix": [0, 3], "x": 3, "y": 0 },
+                { "matrix": [1, 0], "x": 0, "y": 1 },
+                { "matrix": [1, 1], "x": 1, "y": 1 },
+                { "matrix": [1, 2], "x": 2, "y": 1 },
+                { "matrix": [1, 3], "x": 3, "y": 1 },
+                { "matrix": [2, 0], "x": 0, "y": 2 },
+                { "matrix": [2, 1], "x": 1, "y": 2 },
+                { "matrix": [2, 2], "x": 2, "y": 2 },
+                { "matrix": [3, 0], "x": 0, "y": 3 },
+                { "matrix": [3, 1], "x": 1, "y": 3 },
+                { "matrix": [3, 2], "x": 2, "y": 3 },
+                { "matrix": [3, 3], "x": 3, "y": 3 },
+                { "matrix": [4, 0], "x": 0, "y": 4 },
+                { "matrix": [4, 1], "x": 1, "y": 3 }
+            ]
+        }
+    }
+}
diff --git a/keyboards/handwired/scottokeebs/scottonum/keymaps/default/keymap.c b/keyboards/handwired/scottokeebs/scottonum/keymaps/default/keymap.c
new file mode 100644
index 000000000000..a4b50f7769df
--- /dev/null
+++ b/keyboards/handwired/scottokeebs/scottonum/keymaps/default/keymap.c
@@ -0,0 +1,29 @@
+/*
+Copyright 2023 Joe Scotto
+
+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
+
+// Keymap
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+    [0] = LAYOUT_numpad_4x5(
+        KC_CIRCUMFLEX, KC_KP_SLASH, KC_KP_ASTERISK, KC_KP_MINUS,
+        KC_KP_7,       KC_KP_8,      KC_KP_9,        KC_KP_PLUS,
+        KC_KP_4,       KC_KP_5,      KC_KP_6,
+        KC_KP_1,       KC_KP_2,      KC_KP_3,        KC_KP_ENTER,
+        KC_KP_0,       KC_KP_DOT
+    )
+};
diff --git a/keyboards/handwired/scottokeebs/scottonum/readme.md b/keyboards/handwired/scottokeebs/scottonum/readme.md
new file mode 100644
index 000000000000..66cbff80608d
--- /dev/null
+++ b/keyboards/handwired/scottokeebs/scottonum/readme.md
@@ -0,0 +1,27 @@
+# ScottoNum
+
+![ScottoNum](https://i.imgur.com/VMiA19uh.jpg)
+
+A 17-key macropad. Case files available [here](https://github.com/joe-scotto/scottokeebs).
+
+-   Keyboard Maintainer: [Joe Scotto](https://github.com/joe-scotto)
+-   Hardware Supported: ATmega32U4
+-   Hardware Availability: [Amazon](https://amazon.com)
+
+Make example for this keyboard (after setting up your build environment):
+
+    make handwired/scottokeebs/scottonum:default
+
+Flashing example for this keyboard:
+
+    make handwired/scottokeebs/scottonum: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 in 3 ways:
+
+-   **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
+-   **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
+-   **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/handwired/scottokeebs/scottonum/rules.mk b/keyboards/handwired/scottokeebs/scottonum/rules.mk
new file mode 100644
index 000000000000..6e7633bfe015
--- /dev/null
+++ b/keyboards/handwired/scottokeebs/scottonum/rules.mk
@@ -0,0 +1 @@
+# This file intentionally left blank