~ruther/qmk_firmware

2f58eed8f9c41226333ce622a525c777c8472ac2 — SmollChungus 1 year, 5 months ago f2684dc
Add FS streampad (#22991)

Co-authored-by: jack <0x6a73@protonmail.com>
A keyboards/fs_streampad/config.h => keyboards/fs_streampad/config.h +7 -0
@@ 0,0 1,7 @@
// 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

A keyboards/fs_streampad/info.json => keyboards/fs_streampad/info.json +95 -0
@@ 0,0 1,95 @@
{
    "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
        },
        "default": {
            "animation": "cycle_left_right"
        },
        "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}
        ]
    }
}

A keyboards/fs_streampad/keymaps/default/keymap.c => keyboards/fs_streampad/keymaps/default/keymap.c +19 -0
@@ 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
	)
};

A keyboards/fs_streampad/keymaps/via/keymap.c => keyboards/fs_streampad/keymaps/via/keymap.c +19 -0
@@ 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
	)
};

A keyboards/fs_streampad/keymaps/via/rules.mk => keyboards/fs_streampad/keymaps/via/rules.mk +1 -0
@@ 0,0 1,1 @@
VIA_ENABLE = yes

A keyboards/fs_streampad/readme.md => keyboards/fs_streampad/readme.md +24 -0
@@ 0,0 1,24 @@
# FS streampad

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

A keyboards/fs_streampad/rules.mk => keyboards/fs_streampad/rules.mk +1 -0
@@ 0,0 1,1 @@
# This file intentionally left blank