e592a7da0017a57a476debee2355f8dbb5d81349

Author
Nibell <Nibell91@gmail.com>
Committer
GitHub <noreply@github.com>
Date

Message

 [Keyboard] Added nibell micropad4x4 (#24662)

* feat: added nibell micropad4x4

* chore: updated readme

* chore: updated keymap

* feat: added layers

* chore: added bootloader doc

* Added layers

* changed RSHIFT and RCTRL

* Update keyboards/nibell/micropad4x4/keyboard.json

Co-authored-by: Duncan Sutherland <dunk2k_2000@hotmail.com>

* Update keyboards/nibell/micropad4x4/readme.md

---------

Co-authored-by: Duncan Sutherland <dunk2k_2000@hotmail.com>
Co-authored-by: jack <jack@pngu.org>

Diff

This diff is truncated to protect this page.

  1diff --git a/keyboards/nibell/micropad4x4/keyboard.json b/keyboards/nibell/micropad4x4/keyboard.json
  2new file mode 100644
  3index 0000000000000000000000000000000000000000..b992f501cf559ccf7c9363de863f0ef2e75d8202
  4--- /dev/null
  5+++ b/keyboards/nibell/micropad4x4/keyboard.json
  6@@ -0,0 +1,50 @@
  7+{
  8+    "manufacturer": "nibell",
  9+    "keyboard_name": "nibell/micropad4x4",
 10+    "maintainer": "Linus Nibell",
 11+    "bootloader": "rp2040",
 12+    "diode_direction": "COL2ROW",
 13+    "features": {
 14+        "bootmagic": true,
 15+        "extrakey": true,
 16+        "mousekey": true,
 17+        "nkro": true
 18+    },
 19+    "matrix_pins": {
 20+        "cols": ["GP2", "GP3", "GP4", "GP5"],
 21+        "rows": ["GP10", "GP11", "GP12", "GP13"]
 22+    },
 23+    "processor": "RP2040",
 24+    "url": "",
 25+    "usb": {
 26+        "device_version": "1.0.0",
 27+        "pid": "0xFEED",
 28+        "vid": "0x4C4E"
 29+    },
 30+    "community_layouts": ["ortho_4x4"],
 31+    "layouts": {
 32+        "LAYOUT_ortho_4x4": {
 33+            "layout": [
 34+                {"matrix": [0, 0], "x": 0, "y": 0},
 35+                {"matrix": [0, 1], "x": 1, "y": 0},
 36+                {"matrix": [0, 2], "x": 2, "y": 0},
 37+                {"matrix": [0, 3], "x": 3, "y": 0},
 38+
 39+                {"matrix": [1, 0], "x": 0, "y": 1},
 40+                {"matrix": [1, 1], "x": 1, "y": 1},
 41+                {"matrix": [1, 2], "x": 2, "y": 1},
 42+                {"matrix": [1, 3], "x": 3, "y": 1},
 43+
 44+                {"matrix": [2, 0], "x": 0, "y": 2},
 45+                {"matrix": [2, 1], "x": 1, "y": 2},
 46+                {"matrix": [2, 2], "x": 2, "y": 2},
 47+                {"matrix": [2, 3], "x": 3, "y": 2},
 48+
 49+                {"matrix": [3, 0], "x": 0, "y": 3},
 50+                {"matrix": [3, 1], "x": 1, "y": 3},
 51+                {"matrix": [3, 2], "x": 2, "y": 3},
 52+                {"matrix": [3, 3], "x": 3, "y": 3}
 53+            ]
 54+        }
 55+    }
 56+}
 57diff --git a/keyboards/nibell/micropad4x4/keymaps/default/keymap.c b/keyboards/nibell/micropad4x4/keymaps/default/keymap.c
 58new file mode 100644
 59index 0000000000000000000000000000000000000000..1da79514edc15538cc88e53512c8f906c87df546
 60--- /dev/null
 61+++ b/keyboards/nibell/micropad4x4/keymaps/default/keymap.c
 62@@ -0,0 +1,90 @@
 63+/*
 64+ * This program is free software: you can redistribute it and/or modify
 65+ * it under the terms of the GNU General Public License as published by
 66+ * the Free Software Foundation, either version 2 of the License, or
 67+ * (at your option) any later version.
 68+ *
 69+ * This program is distributed in the hope that it will be useful,
 70+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
 71+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 72+ * GNU General Public License for more details.
 73+ *
 74+ * You should have received a copy of the GNU General Public License
 75+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 76+ */
 77+
 78+#include QMK_KEYBOARD_H
 79+
 80+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 81+    /* Base
 82+    * ┌──────┬─────┬──────┬───────┐
 83+    * │NUMLK │     │      │QK_BOOT│
 84+    * ├──────┼─────├──────┼───────┤
 85+    * │NUMPAD│MINI │  FN  │       │
 86+    * ├──────┼─────┼──────┼───────┤
 87+    * │   1  │  2  │  3   │   4   │
 88+    * ├──────┼─────┼──────┼───────┤
 89+    * │      │     │RSHIFT│ RCTRL │
 90+    * └──────┴─────┴──────┴───────┘
 91+     */
 92+    [0] = LAYOUT_ortho_4x4(
 93+        KC_NUM, KC_NO,  KC_NO,      QK_BOOT,
 94+        TO(1),  TO(2),  TO(3),      KC_NO,
 95+        KC_1,   KC_2,   KC_3,       KC_4,
 96+        KC_NO,  KC_NO,  KC_RSFT,    KC_RCTL
 97+    ),
 98+
 99+    /* Numpad
100+    * ┌─────┬─────┬─────┬─────┐
101+    * │  7  │  8  │  9  │  *  │
102+    * ├─────┼─────├─────┼─────┤
103+    * │  4  │  5  │  6  │  -  │
104+    * ├─────┼─────┼─────┼─────┤
105+    * │  1  │  2  │  3  │  +  │
106+    * ├─────┼─────┼─────┼─────┤
107+    * │  0  │  .  │  /  │  =  │
108+    * └─────┴─────┴─────┴─────┘
109+     */
110+    [1] = LAYOUT_ortho_4x4(
111+        KC_P7, KC_P8,   KC_P9,   KC_PAST,
112+        KC_P4, KC_P5,   KC_P6,   KC_PMNS,
113+        KC_P1, KC_P2,   KC_P3,   KC_PPLS,
114+        KC_P0, KC_PDOT, KC_PSLS, LT(3, KC_PENT)
115+    ),
116+
117+    /* Mini KeyBoard
118+    * ┌─────┬─────┬─────┬─────┐
119+    * │ ESC │  1  │  2  │  3  │
120+    * ├─────┼─────┼─────┼─────┤
121+    * │ TAB │  Q  │  W  │  E  │
122+    * ├─────┼─────┼─────┼─────┤
123+    * │SHIFT│  A  │  S  │  D  │
124+    * ├─────┼─────┼─────┼─────┤
125+    * │CTRL │  C  │  R  │SPACE│
126+    * └─────┴─────┴─────┴─────┘
127+     */
128+    [2] = LAYOUT_ortho_4x4(
129+        LT(3, KC_ESC), KC_1, KC_2, KC_3,
130+        KC_TAB,        KC_Q, KC_W, KC_E,
131+        KC_LSFT,       KC_A, KC_S, KC_D,
132+        KC_LCTL,       KC_C, KC_R, KC_SPC
133+    ),
134+
135+    /* FN Keyboard
136+    * ┌─────┬─────┬─────┬─────┐
137+    * │ F1  │ F2  │ F3  │ F4  │
138+    * ├─────┼─────┼─────┼─────┤
139+    * │ F5  │ F6  │ F7  │ F8  │
140+    * ├─────┼─────┼─────┼─────┤
141+    * │ F9  │ F10 │ F11 │ F12 │
142+    * ├─────┼─────┼─────┼─────┤
143+    * │BASE │     │     │     │
144+    * └─────┴─────┴─────┴─────┘
145+     */
146+    [3] = LAYOUT_ortho_4x4(
147+        KC_F1,  KC_F2,  KC_F3,  KC_F4,
148+        KC_F5,  KC_F6,  KC_F7,  KC_F8,
149+        KC_F9,  KC_F10, KC_F11, KC_F12,
150+        TO(0),  KC_NO,  KC_NO, KC_NO
151+    ),
152+};
153diff --git a/keyboards/nibell/micropad4x4/readme.md b/keyboards/nibell/micropad4x4/readme.md
154new file mode 100644
155index 0000000000000000000000000000000000000000..6fec293b6507155802fcfb0b3e4ef5bd7675d0af
156--- /dev/null
157+++ b/keyboards/nibell/micropad4x4/readme.md
158@@ -0,0 +1,26 @@
159+# Micropad 4x4
160+
161+![Micropad 4x4](https://imgur.com/ugfJLXJ.jpg)
162+
163+A budget-friendly 4x4 Macropad
164+
165+* Keyboard Maintainer: [nibell](https://github.com/Nibell)
166+* Hardware Supported: Raspberry Pi Pico 
167+* Hardware Availability: [GitHub](https://github.com/Nibell/Keyboards/tree/main/micropad4x4)
168+
169+## Bootloader
170+
171+Enter the bootloader in 2 ways:
172+
173+* **Physical reset button**: Hold the button down on the raspberry pi pico while plugging it in. There is no reset button on the pcb.
174+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
175+
176+Make example for this keyboard (after setting up your build environment):
177+
178+    make nibell/micropad4x4:default
179+
180+Flashing example for this keyboard:
181+
182+    make nibell/macropad4x4:default
183+