summaryrefslogtreecommitdiff
path: root/keyboards/hackpad
diff options
context:
space:
mode:
authorThePurox <28731015+ThePurox@users.noreply.github.com>2023-07-04 19:21:10 +0200
committerGitHub <noreply@github.com>2023-07-04 11:21:10 -0600
commit01920b234adb1e805d6b8d8fe88175338fe0a1cd (patch)
treed3636c8c474dc8542d642d0f483dc2addcbca628 /keyboards/hackpad
parente8acc8e63fea2bbe4d8872920772a5548c6a6350 (diff)
[Keyboard] Add hackpad (#20402)
Co-authored-by: Sergey Vlasov <sigprof@gmail.com> Co-authored-by: Joel Challis <git@zvecr.com> Co-authored-by: Ryan <fauxpark@gmail.com> Co-authored-by: Nico Stuhlmueller <n+git@ncxst.de> Co-authored-by: jack <0x6a73@protonmail.com>
Diffstat (limited to 'keyboards/hackpad')
-rw-r--r--keyboards/hackpad/info.json78
-rw-r--r--keyboards/hackpad/keymaps/default/keymap.c30
-rw-r--r--keyboards/hackpad/readme.md31
-rw-r--r--keyboards/hackpad/rules.mk1
4 files changed, 140 insertions, 0 deletions
diff --git a/keyboards/hackpad/info.json b/keyboards/hackpad/info.json
new file mode 100644
index 0000000000..0a77c9320c
--- /dev/null
+++ b/keyboards/hackpad/info.json
@@ -0,0 +1,78 @@
1{
2 "manufacturer": "Nico Stuhlmueller",
3 "keyboard_name": "hackpad",
4 "maintainer": "ThePurox",
5 "development_board": "promicro",
6 "diode_direction": "COL2ROW",
7 "features": {
8 "bootmagic": true,
9 "command": false,
10 "console": false,
11 "extrakey": true,
12 "mousekey": true,
13 "nkro": true,
14 "rgblight": true,
15 "encoder": true
16 },
17 "matrix_pins": {
18 "cols": ["B1", "B3", "B2", "B6"],
19 "rows": ["C6", "D7", "E6", "B4", "B5"]
20 },
21 "encoder": {
22 "rotary": [
23 {"pin_a": "F5", "pin_b": "F4"}
24 ]
25 },
26 "url": "https://git.imaginaerraum.de/Purox/Hackpad",
27 "usb": {
28 "device_version": "1.0.0",
29 "pid": "0x0000",
30 "vid": "0xFEED"
31 },
32 "ws2812": {
33 "pin": "D4"
34 },
35 "rgblight": {
36 "led_count": 16,
37 "sleep": true,
38 "animations": {
39 "breathing": true,
40 "rainbow_mood": true,
41 "rainbow_swirl": true,
42 "snake": true,
43 "knight": true,
44 "christmas": true,
45 "static_gradient": true,
46 "rgb_test": true,
47 "alternating": true,
48 "twinkle": true
49 }
50 },
51 "layouts": {
52 "LAYOUT": {
53 "layout": [
54 {"matrix": [0, 3], "x": 3, "y": 0},
55
56 {"matrix": [1, 0], "x": 0, "y": 1},
57 {"matrix": [1, 1], "x": 1, "y": 1},
58 {"matrix": [1, 2], "x": 2, "y": 1},
59 {"matrix": [1, 3], "x": 3, "y": 1},
60
61 {"matrix": [2, 0], "x": 0, "y": 2},
62 {"matrix": [2, 1], "x": 1, "y": 2},
63 {"matrix": [2, 2], "x": 2, "y": 2},
64 {"matrix": [2, 3], "x": 3, "y": 2},
65
66 {"matrix": [3, 0], "x": 0, "y": 3},
67 {"matrix": [3, 1], "x": 1, "y": 3},
68 {"matrix": [3, 2], "x": 2, "y": 3},
69 {"matrix": [3, 3], "x": 3, "y": 3},
70
71 {"matrix": [4, 0], "x": 0, "y": 4},
72 {"matrix": [4, 1], "x": 1, "y": 4},
73 {"matrix": [4, 2], "x": 2, "y": 4},
74 {"matrix": [4, 3], "x": 3, "y": 4}
75 ]
76 }
77 }
78}
diff --git a/keyboards/hackpad/keymaps/default/keymap.c b/keyboards/hackpad/keymaps/default/keymap.c
new file mode 100644
index 0000000000..43489484ae
--- /dev/null
+++ b/keyboards/hackpad/keymaps/default/keymap.c
@@ -0,0 +1,30 @@
1// Copyright 2023 Nico Stuhlmueller (@ThePurox)
2// SPDX-License-Identifier: GPL-2.0-or-later
3
4#include QMK_KEYBOARD_H
5#include "keymap_german.h"
6
7const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
8 /* ┌───┐
9 * │MUT│
10 * ┌───┬───┬───┼───┤
11 * │ 7 │ 8 │ 9 │ + │
12 * ├───┼───┼───┼───┤
13 * │ 4 │ 5 │ 6 │ - │
14 * ├───┼───┼───┼───┤
15 * │ 1 │ 2 │ 3 │ * │
16 * ├───┼───┼───┼───┤
17 * │ 0 │ . │Ent│ / │
18 * └───┴───┴───┴───┘
19 */
20 [0] = LAYOUT( LT(1, KC_MUTE),
21 KC_7, KC_8, KC_9, DE_PLUS,
22 KC_4, KC_5, KC_6, DE_MINS,
23 KC_1, KC_2, KC_3, DE_ASTR,
24 KC_0, KC_DOT, KC_ENT, DE_SLSH),
25
26 [1] = LAYOUT( _______,
27 RGB_M_P, RGB_M_B, RGB_M_R, RGB_HUI,
28 RGB_M_SW, RGB_M_SN, RGB_M_K, RGB_HUD,
29 RGB_M_X, RGB_M_G, RGB_M_TW, RGB_VAI,
30 RGB_TOG, RGB_SAI, RGB_SAD, RGB_VAD)};
diff --git a/keyboards/hackpad/readme.md b/keyboards/hackpad/readme.md
new file mode 100644
index 0000000000..f992e55b39
--- /dev/null
+++ b/keyboards/hackpad/readme.md
@@ -0,0 +1,31 @@
1# hackpad
2
3![hackpad](https://git.imaginaerraum.de/Purox/Hackpad/raw/branch/main/assets/pic.jpg)
4
5
6The `Hackpad` is a 4x4 numpad/macropad designed for the Arduino Day 2023 in Bayreuth in cooperation with the hackspace [Imaginärraum e.V.](imaginaerraum.de) and [Fablab-Bayreuth e.V.](fablab-bayreuth.de).
7It supports 16 MX-style switches, an EC-11 rotary encoder, and per key RGB LEDs based on SK6812.
8
9In v0.2 all necessary components are through hole components (except for an optional reset switch and RGB-LEDs), but the ProMicro protrudes out of the case.
10In v0.3 this is fixed by moving some diodes to the bottom side. The bottom diodes however are SMD only.
11
12* Keyboard Maintainer: [Nico Stuhlmueller](https://github.com/ThePurox)
13* Hardware Supported: ProMicro is supported in v0.2 and v0.3 of the PCBs
14* Hardware Availability: PCBs can be found [here](https://git.imaginaerraum.de/Purox/Hackpad)
15
16Make example for this keyboard (after setting up your build environment):
17
18 make hackpad:default
19
20Flashing example for this keyboard:
21
22 make hackpad:default:flash
23
24See 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).
25
26## Bootloader
27
28Enter the bootloader in 2 ways:
29
30* **Physical reset button**: Briefly press the button on the top of the PCB - some may have pads you must short instead
31* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/hackpad/rules.mk b/keyboards/hackpad/rules.mk
new file mode 100644
index 0000000000..7114cc3295
--- /dev/null
+++ b/keyboards/hackpad/rules.mk
@@ -0,0 +1 @@
# this file is intentionally left blank