diff options
| author | ThePurox <28731015+ThePurox@users.noreply.github.com> | 2023-07-04 19:21:10 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-07-04 11:21:10 -0600 |
| commit | 01920b234adb1e805d6b8d8fe88175338fe0a1cd (patch) | |
| tree | d3636c8c474dc8542d642d0f483dc2addcbca628 /keyboards/hackpad | |
| parent | e8acc8e63fea2bbe4d8872920772a5548c6a6350 (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.json | 78 | ||||
| -rw-r--r-- | keyboards/hackpad/keymaps/default/keymap.c | 30 | ||||
| -rw-r--r-- | keyboards/hackpad/readme.md | 31 | ||||
| -rw-r--r-- | keyboards/hackpad/rules.mk | 1 |
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 | |||
| 7 | const 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 |  | ||
| 4 | |||
| 5 | |||
| 6 | The `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). | ||
| 7 | It supports 16 MX-style switches, an EC-11 rotary encoder, and per key RGB LEDs based on SK6812. | ||
| 8 | |||
| 9 | In 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. | ||
| 10 | In 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 | |||
| 16 | Make example for this keyboard (after setting up your build environment): | ||
| 17 | |||
| 18 | make hackpad:default | ||
| 19 | |||
| 20 | Flashing example for this keyboard: | ||
| 21 | |||
| 22 | make hackpad:default:flash | ||
| 23 | |||
| 24 | 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). | ||
| 25 | |||
| 26 | ## Bootloader | ||
| 27 | |||
| 28 | Enter 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 | |||
