From 2b33d2c098e3bda50fde67fb49f856e2bb3ab1b5 Mon Sep 17 00:00:00 2001 From: Markus Knutsson Date: Sat, 1 Oct 2022 01:33:09 +0200 Subject: [PATCH] [Keyboard] Add Little Big Scroll 4 macropad (#18516) Co-authored-by: Drashna Jaelre --- keyboards/tweetydabird/lbs4/config.h | 10 +++ keyboards/tweetydabird/lbs4/info.json | 78 +++++++++++++++++++ .../lbs4/keymaps/default/keymap.c | 35 +++++++++ .../lbs4/keymaps/default/readme.md | 5 ++ keyboards/tweetydabird/lbs4/readme.md | 26 +++++++ keyboards/tweetydabird/lbs4/rules.mk | 1 + 6 files changed, 155 insertions(+) create mode 100644 keyboards/tweetydabird/lbs4/config.h create mode 100644 keyboards/tweetydabird/lbs4/info.json create mode 100644 keyboards/tweetydabird/lbs4/keymaps/default/keymap.c create mode 100644 keyboards/tweetydabird/lbs4/keymaps/default/readme.md create mode 100644 keyboards/tweetydabird/lbs4/readme.md create mode 100644 keyboards/tweetydabird/lbs4/rules.mk diff --git a/keyboards/tweetydabird/lbs4/config.h b/keyboards/tweetydabird/lbs4/config.h new file mode 100644 index 0000000000..91df795bae --- /dev/null +++ b/keyboards/tweetydabird/lbs4/config.h @@ -0,0 +1,10 @@ +// Copyright 2022 Markus Knutsson (@TweetyDaBird) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once +#include "config_common.h" + +// Bootmagic Lite key configuration +// Not yet supported in info.json ? +#define BOOTMAGIC_LITE_ROW 0 +#define BOOTMAGIC_LITE_COLUMN 0 \ No newline at end of file diff --git a/keyboards/tweetydabird/lbs4/info.json b/keyboards/tweetydabird/lbs4/info.json new file mode 100644 index 0000000000..4d495e8b22 --- /dev/null +++ b/keyboards/tweetydabird/lbs4/info.json @@ -0,0 +1,78 @@ +{ + "keyboard_name": "Little Big Scroll 4", + "manufacturer": "Tweetys Wild Thinking", + "url": "https://lectronz.com/stores/tweetys-wild-thinking", + "maintainer": "TweetyDaBird", + + "development_board": "promicro", + "bootloader_instructions": "Short marked pads on PCB, or hold top left key when plugging in.", + + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": false, + "nkro": false, + "rgblight": true, + "encoder": true + }, + + "build": { + "lto": true + }, + + "debounce": 5, + + "usb": { + "vid": "0xFEED", + "pid": "0x23B0", + "device_version": "1.1.0" + }, + + "matrix_pins": { + "direct": [ + ["E6", "D7", "F4"], + ["B5", "B4", null] + ] + }, + + "encoder": { + "rotary": [ + { + "pin_a": "B1", + "pin_b": "F7", + "resolution": 2 + } + ] + }, + + "rgblight": { + "led_count": 6, + "pin": "D2", + "hue_steps": 8, + "saturation_steps": 17, + "brightness_steps": 17, + "max_brightness": 175, + "animations": { + "alternating": true + "breathing": true, + "rainbow_mood": true, + "static_gradient": true, + } + }, + + "layouts": { + "LAYOUT": { + "layout": [ + { "label": "Play", "matrix": [0, 2], "x": 2, "y": 0, "w": 2, "h": 2 }, + + { "label": "F1", "matrix": [0, 0], "x": 0, "y": 0, "w": 1, "h": 1 }, + { "label": "F2", "matrix": [0, 1], "x": 1, "y": 0, "w": 1, "h": 1 }, + + { "label": "F3", "matrix": [1, 0], "x": 0, "y": 1, "w": 1, "h": 1 }, + { "label": "F4", "matrix": [1, 1], "x": 1, "y": 1, "w": 1, "h": 1 }, + ] + } + } +} \ No newline at end of file diff --git a/keyboards/tweetydabird/lbs4/keymaps/default/keymap.c b/keyboards/tweetydabird/lbs4/keymaps/default/keymap.c new file mode 100644 index 0000000000..3817b0f884 --- /dev/null +++ b/keyboards/tweetydabird/lbs4/keymaps/default/keymap.c @@ -0,0 +1,35 @@ +// Copyright 2022 Markus Knutsson (@TweetyDaBird) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +// Defines names for use in layer keycodes and the keymap +enum layer_names { + _BASE, + _RGB +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* Base */ + [_BASE] = LAYOUT( + KC_MPLY, + TO(_RGB), KC_MSEL, + KC_MPRV, KC_MNXT + ), + [_RGB] = LAYOUT( + KC_MPLY, + TO(_BASE), RGB_VAI, + RGB_TOG, RGB_VAD + ) +}; + +bool encoder_update_user(uint8_t index, bool clockwise) { + if (index == 0) { + if (clockwise) { + tap_code(KC_VOLU); + } else { + tap_code(KC_VOLD); + } + } + return true; +}; diff --git a/keyboards/tweetydabird/lbs4/keymaps/default/readme.md b/keyboards/tweetydabird/lbs4/keymaps/default/readme.md new file mode 100644 index 0000000000..09501d9231 --- /dev/null +++ b/keyboards/tweetydabird/lbs4/keymaps/default/readme.md @@ -0,0 +1,5 @@ +# The default keymap for lbs4 + +This is a very basic layout using LSB4 as media playback buttons. + +![lsb4](https://imgur.com/hCDdQIc) \ No newline at end of file diff --git a/keyboards/tweetydabird/lbs4/readme.md b/keyboards/tweetydabird/lbs4/readme.md new file mode 100644 index 0000000000..e17a850c5e --- /dev/null +++ b/keyboards/tweetydabird/lbs4/readme.md @@ -0,0 +1,26 @@ +# Little Big Scroll 4 + +![lsb4](https://i.imgur.com/MMGSDz2h.jpeg) + +* A simple 4-key or 2-key plus OLED macropad with a clickable scrollwheel, for media controls and whatever else you can imagine.* + +* Keyboard Maintainer: [Markus Knutsson](https://github.com/TweetyDaBird/) +* Hardware Supported: LBS4 PCB plus Pro Micro or pin compatible +* Hardware Availability: https://lectronz.com/stores/tweetys-wild-thinking +* Hardware Design: https://github.com/TweetyDaBird/Little-Big-Scroll + + +Make example for this keyboard (after setting up your build environment): + + make tweetydabird/lbs4:default + +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 top left key and plug in the keyboard +* **Physical reset**: Briefly short the marked pads on PCB +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if mapped (not in default keymap) \ No newline at end of file diff --git a/keyboards/tweetydabird/lbs4/rules.mk b/keyboards/tweetydabird/lbs4/rules.mk new file mode 100644 index 0000000000..7ff128fa69 --- /dev/null +++ b/keyboards/tweetydabird/lbs4/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank \ No newline at end of file