Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add FS streampad #22991

Merged
merged 6 commits into from
Jan 31, 2024
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 12 additions & 0 deletions keyboards/fs_streampad/config.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
// Copyright 2023 Matthijs Muller
// SPDX-License-Identifier: GPL-2.0-or-later

#pragma once

#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 500U

// RGB Matrix
#define WS2812_PIO_USE_PIO1
#define RGB_MATRIX_LED_COUNT 9
#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_LEFT_RIGHT
SmollChungus marked this conversation as resolved.
Show resolved Hide resolved
92 changes: 92 additions & 0 deletions keyboards/fs_streampad/info.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
{
"manufacturer": "Forward Slash",
"keyboard_name": "FS streampad",
"maintainer": "Matthijs Muller",
"url": "https://github.com/smollchungus",
"usb": {
"vid": "0x5363",
"pid": "0x3333",
"device_version": "0.0.1"
},
"processor": "RP2040",
"bootloader": "rp2040",
"diode_direction": "COL2ROW",
"matrix_pins": {
"rows": ["GP10", "GP9", "GP23"],
"cols": ["GP25", "GP26", "GP24"]
},
"features": {
"bootmagic": true,
"command": false,
"console": false,
"extrakey": true,
"mousekey": true,
"nkro": true,
"rgb_matrix": true
},
"layouts": {
"LAYOUT": {
"layout": [
{ "matrix": [0, 0], "x": 0, "y": 0 },
{ "matrix": [0, 1], "x": 1, "y": 0 },
{ "matrix": [0, 2], "x": 2, "y": 0 },
{ "matrix": [1, 0], "x": 0, "y": 1 },
{ "matrix": [1, 1], "x": 1, "y": 1 },
{ "matrix": [1, 2], "x": 2, "y": 1 },
{ "matrix": [2, 0], "x": 0, "y": 2 },
{ "matrix": [2, 1], "x": 1, "y": 2 },
{ "matrix": [2, 2], "x": 2, "y": 2 }
]
}
},
"ws2812": {
"pin": "GP8",
"driver": "vendor"
},
"rgb_matrix": {
"driver": "ws2812",
"animations": {
"alphas_mods": true,
"gradient_up_down": true,
"gradient_left_right": true,
"breathing": true,
"band_sat": true,
"band_val": true,
"band_pinwheel_sat": true,
"band_pinwheel_val": true,
"band_spiral_sat": true,
"band_spiral_val": true,
"cycle_all": true,
"cycle_left_right": true,
"cycle_up_down": true,
"cycle_out_in": true,
"cycle_out_in_dual": true,
"rainbow_moving_chevron": true,
"cycle_pinwheel": true,
"cycle_spiral": true,
"dual_beacon": true,
"rainbow_beacon": true,
"rainbow_pinwheels": true,
"raindrops": true,
"jellybean_raindrops": true,
"hue_breathing": true,
"hue_pendulum": true,
"hue_wave": true,
"pixel_fractal": true,
"pixel_flow": true,
"pixel_rain": true
},
SmollChungus marked this conversation as resolved.
Show resolved Hide resolved
"sleep": true,
"layout": [
{"matrix": [0, 0], "flags": 4, "x": 0, "y": 0 },
{"matrix": [0, 1], "flags": 4, "x": 112, "y": 0 },
{"matrix": [0, 2], "flags": 4, "x": 224, "y": 0 },
{"matrix": [1, 2], "flags": 4, "x": 224, "y": 32},
{"matrix": [1, 1], "flags": 4, "x": 112, "y": 32},
{"matrix": [1, 0], "flags": 4, "x": 0, "y": 32},
{"matrix": [2, 0], "flags": 4, "x": 0, "y": 64},
{"matrix": [2, 1], "flags": 4, "x": 112, "y": 64},
{"matrix": [2, 2], "flags": 4, "x": 224, "y": 64}
]
}
}
19 changes: 19 additions & 0 deletions keyboards/fs_streampad/keymaps/default/keymap.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
// Copyright 2023 Matthijs Muller
// SPDX-License-Identifier: GPL-2.0-or-later

#include QMK_KEYBOARD_H

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {

[0] = LAYOUT(
KC_1, KC_2, KC_3,
KC_4, KC_5, KC_6,
KC_7, KC_8, MO(1)
),

[1] = LAYOUT(
RGB_TOG, RGB_MOD, RGB_RMOD,
KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS
)
};
19 changes: 19 additions & 0 deletions keyboards/fs_streampad/keymaps/via/keymap.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
// Copyright 2023 Matthijs Muller
// SPDX-License-Identifier: GPL-2.0-or-later

#include QMK_KEYBOARD_H

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {

[0] = LAYOUT(
KC_1, KC_2, KC_3,
KC_4, KC_5, KC_6,
KC_7, KC_8, MO(1)
),

[1] = LAYOUT(
RGB_TOG, RGB_MOD, RGB_RMOD,
KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS
)
};
1 change: 1 addition & 0 deletions keyboards/fs_streampad/keymaps/via/rules.mk
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
VIA_ENABLE = yes
25 changes: 25 additions & 0 deletions keyboards/fs_streampad/readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
FS streampad
========
SmollChungus marked this conversation as resolved.
Show resolved Hide resolved

A 3x3 hotswap macropad.

* Keyboard Maintainer: [Matthijs Muller](https://github.com/Smollchungus)
* Hardware Supported: FS streampad

Make example for this keyboard (after setting up your build environment):

make fs_streampad:default

Flashing example for this keyboard:

make fs_streampad: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
1 change: 1 addition & 0 deletions keyboards/fs_streampad/rules.mk
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# This file intentionally left blank
Loading