Skip to content

Commit

Permalink
Squashed commit of the following:
Browse files Browse the repository at this point in the history
commit f2b75cbe06e49bf941c5b6dfa481b9caf255edde
Author: Alabastard-64 <snipac+github@gmail.com>
Date:   Tue Jan 17 07:30:05 2023 -0700

    rebase and cleanup

commit 3ce417eca4883c17016af529cc803bc04e7f7f00
Author: Alabastard-64 <snipac+github@gmail.com>
Date:   Tue Jan 17 07:18:10 2023 -0700

    finally fix hscroll fully and add maybe ability to change multiplier at runtime

commit a6a62b76719b577999bd4609b4c52b5117086adc
Author: Alabastard-64 <snipac+github@gmail.com>
Date:   Mon Jan 16 13:44:14 2023 -0700

    major update/revision most issues fixed

commit b7a90fb940d7c7fa2d952793f98c2984aed5f915
Author: Alabastard-64 <snipac+github@gmail.com>
Date:   Tue Jan 10 22:54:48 2023 -0700

    bugfix for disable function

commit 756275b4208e9c4710416d6fc9cb7e36492be551
Author: Alabastard-64 <snipac+github@gmail.com>
Date:   Tue Jan 10 21:32:56 2023 -0700

    Fix HID descriptor for Horizontal scroll, add disable function, and various bugfixes

commit 671c176a7aaa5812f9391b083bcfed86fc93239d
Author: Alabastard-64 <snipac+github@gmail.com>
Date:   Sat Jan 7 22:55:18 2023 -0700

    linting except on vusb and doc update

commit 83c477cff9e42389365c9aeb32c29d028b49c21e
Author: Alabastard-64 <snipac+github@gmail.com>
Date:   Sat Jan 7 21:49:47 2023 -0700

    all tested versions working and doc

commit d8590eee684f57f82e5e60fc5eff518524e460b4
Author: Alabastard-64 <snipac+github@gmail.com>
Date:   Fri Jan 6 11:53:00 2023 -0700

    real initial release everything working and tested on Atmel U4 chips

commit f23af60faa8ea2509ff0c03f83fac471e58ef9b6
Author: Alabastard-64 <snipac+github@gmail.com>
Date:   Wed Jan 4 12:15:44 2023 -0700

    update: not broken... but not working either

commit 4b58f08c206a1b29635890f4b36aeea9e4818e65
Author: Alabastard-64 <snipac+github@gmail.com>
Date:   Mon Jan 2 09:51:37 2023 -0700

    initial commit (currently broken...)

commit ebada5092192550303c1f2e7caa4d82cfcb70a53
Author: Alabastard-64 <snipac+github@gmail.com>
Date:   Fri Dec 23 14:58:39 2022 -0700

    doc update

commit 825eea16f51e19b781fca51a53b32b091431c55e
Author: Alabastard-64 <snipac+github@gmail.com>
Date:   Fri Dec 23 14:51:37 2022 -0700

    linting

commit b5d37d6153a483974c047d712a7e34ce1960bf34
Author: Alabastard-64 <snipac+github@gmail.com>
Date:   Thu Dec 22 19:13:24 2022 -0700

    fixes and doc improvements

commit c9ec67ed252cc8a310e4ce0dfa5b540978eae214
Author: Alabastard-64 <snipac+github@gmail.com>
Date:   Wed Dec 21 23:07:52 2022 -0700

    fix previous changes to precision mode now working as intended additional mode fixes

commit c6282586b07f2f17f891e6ef4b2ab980e3d23d63
Author: Alabastard-64 <snipac+github@gmail.com>
Date:   Wed Dec 21 20:29:11 2022 -0700

    doc update and precision changes

commit 414bff0f3a79637975a5c1926dc59cd652a3a8eb
Author: Alabastard-64 <snipac+github@gmail.com>
Date:   Tue Dec 13 00:53:47 2022 -0700

    more doc updates/code cleanup

commit 77444eda136ddf6e7c395221a263039763c7f3cd
Author: Alabastard-64 <snipac+github@gmail.com>
Date:   Tue Dec 13 00:20:15 2022 -0700

    code and doc fixup

commit d89945415449ba5a06f8892b1bf9771cf18ad9aa
Author: Alabastard-64 <snipac+github@gmail.com>
Date:   Mon Dec 12 23:10:19 2022 -0700

    update and linting

commit c13accd651e4fd1bf2754aba00ecf82f350e6210
Author: Alabastard-64 <snipac+github@gmail.com>
Date:   Sun Dec 11 21:08:08 2022 -0700

    post rebase/squash cleanup

commit ce34c0aa810607cd347ad536c9eae2b7cfd6180e
Author: Alabastard-64 <96358682+Alabastard-64@users.noreply.github.com>
Date:   Tue Aug 30 01:23:41 2022 -0600

    parent c6ab70e
    author Alabastard-64 <96358682+Alabastard-64@users.noreply.github.com> 1661844221 -0600
    committer Alabastard-64 <snipac+github@gmail.com> 1670816485 -0700

    parent c6ab70e
    author Alabastard-64 <96358682+Alabastard-64@users.noreply.github.com> 1661844221 -0600
    committer Alabastard-64 <snipac+github@gmail.com> 1670813789 -0700

    parent c6ab70e
    author Alabastard-64 <96358682+Alabastard-64@users.noreply.github.com> 1661844221 -0600
    committer Alabastard-64 <snipac+github@gmail.com> 1670812067 -0700

    Squashed all previous Commits

commit d448ff4
Merge: 3b60a05 625e574
Author: QMK Bot <hello@qmk.fm>
Date:   Tue Jan 17 07:40:37 2023 +0000

    Merge remote-tracking branch 'origin/master' into develop

commit 625e574
Author: QMK Bot <hello@qmk.fm>
Date:   Mon Jan 16 23:39:09 2023 -0800

    Format code according to conventions (qmk#19615)

commit 3b60a05
Merge: 275673c 9f84b9a
Author: QMK Bot <hello@qmk.fm>
Date:   Tue Jan 17 05:57:55 2023 +0000

    Merge remote-tracking branch 'origin/master' into develop

commit 9f84b9a
Author: Ivan Gromov <38141348+key10iq@users.noreply.github.com>
Date:   Tue Jan 17 09:57:18 2023 +0400

    [Keyboard] Add kt3700 (qmk#19432)

    Co-authored-by: Sergey Vlasov <sigprof@gmail.com>
    Co-authored-by: Joel Challis <git@zvecr.com>
    Co-authored-by: Ryan <fauxpark@gmail.com>

commit 275673c
Merge: 69397d4 c6cc104
Author: QMK Bot <hello@qmk.fm>
Date:   Tue Jan 17 05:57:09 2023 +0000

    Merge remote-tracking branch 'origin/master' into develop

commit c6cc104
Author: JW2586 <70282382+JW2586@users.noreply.github.com>
Date:   Tue Jan 17 05:56:37 2023 +0000

    [Keyboard] Waterfowl - Updated default keymap (qmk#19438)

    Co-authored-by: jack <0x6a73@protonmail.com>

commit 69397d4
Merge: db7ca07 7b795b2
Author: QMK Bot <hello@qmk.fm>
Date:   Tue Jan 17 05:49:24 2023 +0000

    Merge remote-tracking branch 'origin/master' into develop

commit 7b795b2
Author: Alabahuy <rezzaadio@gmail.com>
Date:   Tue Jan 17 12:48:44 2023 +0700

    [Keyboard] add kamigakushi (qmk#19514)

commit db7ca07
Author: Jouke Witteveen <j.witteveen@gmail.com>
Date:   Tue Jan 17 06:23:57 2023 +0100

    Process Tap Dances before WPM/Velocikey (qmk#19599)

commit a52b3aa
Merge: 2cf904b 49f3ffa
Author: QMK Bot <hello@qmk.fm>
Date:   Tue Jan 17 04:34:24 2023 +0000

    Merge remote-tracking branch 'origin/master' into develop

commit 49f3ffa
Author: d-floe <31980883+d-floe@users.noreply.github.com>
Date:   Mon Jan 16 22:33:49 2023 -0600

    [Keyboard] Add Bubble 75 (qmk#18863)

    Co-authored-by: Drashna Jaelre <drashna@live.com>
    Co-authored-by: Ryan <fauxpark@gmail.com>

commit 2cf904b
Merge: 0ff5292 4098ff5
Author: QMK Bot <hello@qmk.fm>
Date:   Tue Jan 17 01:55:46 2023 +0000

    Merge remote-tracking branch 'origin/master' into develop

commit 4098ff5
Author: era <73109780+eerraa@users.noreply.github.com>
Date:   Tue Jan 17 10:55:13 2023 +0900

    [Keyboard] Add ERA65 (qmk#19591)

    Co-authored-by: Ryan <fauxpark@gmail.com>

commit 0ff5292
Author: Albert Y <76888457+filterpaper@users.noreply.github.com>
Date:   Tue Jan 17 09:54:51 2023 +0800

    Refactor pixel rain animation (qmk#19606)

commit 7acc3f4
Author: Ryan <fauxpark@gmail.com>
Date:   Tue Jan 17 12:54:26 2023 +1100

    ChibiOS: Consolidate report sending code (qmk#19607)

commit 6fd4d8c
Merge: 4c7f67f 465b6a1
Author: QMK Bot <hello@qmk.fm>
Date:   Mon Jan 16 22:42:25 2023 +0000

    Merge remote-tracking branch 'origin/master' into develop

commit 465b6a1
Author: Tom Barnes <tom@mechboards.co.uk>
Date:   Mon Jan 16 22:41:52 2023 +0000

    Docs/space b cleanup (qmk#19612)

    * Clean up remaining mentions of the deprecated Space B reset method

    * cleanup auto_tag.yml that got sucked in

commit 4c7f67f
Merge: b6e42db 2bff00e
Author: QMK Bot <hello@qmk.fm>
Date:   Mon Jan 16 09:33:19 2023 +0000

    Merge remote-tracking branch 'origin/master' into develop

commit 2bff00e
Author: Pablo Martínez <58857054+elpekenin@users.noreply.github.com>
Date:   Mon Jan 16 10:32:43 2023 +0100

    Small doc changes (qmk#19601)

commit b6e42db
Merge: b077e63 917d93e
Author: QMK Bot <hello@qmk.fm>
Date:   Mon Jan 16 08:52:56 2023 +0000

    Merge remote-tracking branch 'origin/master' into develop

commit 917d93e
Author: Sergey Vlasov <sigprof@gmail.com>
Date:   Mon Jan 16 11:52:18 2023 +0300

    [Docs] Fix `JOYSTICK_AXIS_COUNT` name in docs (qmk#19605)

commit b077e63
Merge: 401b475 4f83b67
Author: QMK Bot <hello@qmk.fm>
Date:   Mon Jan 16 08:49:16 2023 +0000

    Merge remote-tracking branch 'origin/master' into develop

commit 4f83b67
Author: adiabatic <adiabatic@users.noreply.github.com>
Date:   Mon Jan 16 00:48:41 2023 -0800

    [Keymap] Improve Zweihander layout for the Ergodox EZ (qmk#18737)

commit 401b475
Merge: 955829b fe27e46
Author: QMK Bot <hello@qmk.fm>
Date:   Mon Jan 16 00:56:04 2023 +0000

    Merge remote-tracking branch 'origin/master' into develop

commit fe27e46
Author: Ryan Baker <76887060+ryanbaekr@users.noreply.github.com>
Date:   Sun Jan 15 19:55:30 2023 -0500

    [Keyboard] Add rb87 (qmk#19546)

commit 955829b
Author: Sergey Vlasov <sigprof@gmail.com>
Date:   Mon Jan 16 02:29:29 2023 +0300

    Fix joystick build for ChibiOS (qmk#19602)

    `joystick_report_t` was renamed to `report_joystick_t`, but apparently
    one place in the code was missed.

commit 0730740
Author: Joel Challis <git@zvecr.com>
Date:   Sun Jan 15 15:04:32 2023 +0000

    Add mmoskal/uf2-stm32f103 bootloader support (qmk#19594)

commit a920714
Author: Ryan <fauxpark@gmail.com>
Date:   Sun Jan 15 19:40:52 2023 +1100

    usb_main.c: remove `CH_KERNEL_MAJOR` check (qmk#19597)

commit 8046467
Merge: d40516c 44bcde1
Author: QMK Bot <hello@qmk.fm>
Date:   Sun Jan 15 08:03:56 2023 +0000

    Merge remote-tracking branch 'origin/master' into develop

commit 44bcde1
Author: Christian Brauner <brauner@kernel.org>
Date:   Sun Jan 15 09:03:27 2023 +0100

    [Keymap] Update brauner preonic layout (qmk#19595)

commit 2c98e79
Author: jack <0x6A73@pm.me>
Date:   Sun Jan 15 01:03:16 2023 -0700

    [Keyboard] Fixup gingko65 matrix pins (qmk#19589)

commit d40516c
Merge: 5f46e29 e7d1b21
Author: QMK Bot <hello@qmk.fm>
Date:   Sun Jan 15 03:58:42 2023 +0000

    Merge remote-tracking branch 'origin/master' into develop

commit e7d1b21
Author: jurassic73 <50930136+jurassic73@users.noreply.github.com>
Date:   Sat Jan 14 19:58:09 2023 -0800

    [Keyboard] Update handwired/split89 to new standard. (qmk#19540)

    Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>

commit 5f46e29
Merge: 45851a1 4a53d9c
Author: QMK Bot <hello@qmk.fm>
Date:   Sun Jan 15 03:47:13 2023 +0000

    Merge remote-tracking branch 'origin/master' into develop

commit 4a53d9c
Author: Bastien BALOUP <35816948+Bastien-Baloup@users.noreply.github.com>
Date:   Sun Jan 15 04:46:13 2023 +0100

    [Keymap] Add Bastian-Baloup sofle keymap (qmk#18836)

    Co-authored-by: Ryan <fauxpark@gmail.com>
  • Loading branch information
freznel10 committed Jan 18, 2023
1 parent b46e358 commit 2770e58
Show file tree
Hide file tree
Showing 114 changed files with 2,800 additions and 659 deletions.
6 changes: 5 additions & 1 deletion builddefs/mcu_selection.mk
Original file line number Diff line number Diff line change
Expand Up @@ -275,7 +275,11 @@ ifneq ($(findstring STM32F103, $(MCU)),)
# Linker script to use
# - it should exist either in <chibios>/os/common/startup/ARMCMx/compilers/GCC/ld/
# or <keyboard_dir>/ld/
MCU_LDSCRIPT ?= STM32F103x8
ifeq ($(strip $(BOOTLOADER)), uf2boot)
MCU_LDSCRIPT ?= STM32F103xB_uf2boot
else
MCU_LDSCRIPT ?= STM32F103x8
endif

# Startup code to use
# - it should exist in <chibios>/os/common/startup/ARMCMx/compilers/GCC/mk/
Expand Down
1 change: 1 addition & 0 deletions data/schemas/keyboard.jsonschema
Original file line number Diff line number Diff line change
Expand Up @@ -171,6 +171,7 @@
"stm32-dfu",
"stm32duino",
"tinyuf2",
"uf2boot",
"unknown",
"usbasploader",
"wb32-dfu"
Expand Down
4 changes: 2 additions & 2 deletions docs/feature_joystick.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ When defining axes for your joystick, you must provide a definition array typica
For instance, the below example configures two axes. The X axis is read from the `A4` pin. With the default axis resolution of 8 bits, the range of values between 900 and 575 are scaled to -127 through 0, and values 575 to 285 are scaled to 0 through 127. The Y axis is configured as a virtual axis, and its value is not read from any pin. Instead, the user must update the axis value programmatically.
```c
joystick_config_t joystick_axes[JOYSTICK_AXES_COUNT] = {
joystick_config_t joystick_axes[JOYSTICK_AXIS_COUNT] = {
JOYSTICK_AXIS_IN(A4, 900, 575, 285),
JOYSTICK_AXIS_VIRTUAL
};
Expand All @@ -64,7 +64,7 @@ The `low` and `high` values can be swapped to effectively invert the axis.
The following example adjusts two virtual axes (X and Y) based on keypad presses, with `KC_P0` as a precision modifier:

```c
joystick_config_t joystick_axes[JOYSTICK_AXES_COUNT] = {
joystick_config_t joystick_axes[JOYSTICK_AXIS_COUNT] = {
JOYSTICK_AXIS_VIRTUAL, // x
JOYSTICK_AXIS_VIRTUAL // y
};
Expand Down
4 changes: 2 additions & 2 deletions docs/feature_layers.md
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ There are a number of functions (and variables) related to how you can use or ma

|Function |Description |
|----------------------------------------------|---------------------------------------------------------------------------------------------------------|
| `layer_state_set(layer_mask)` | Directly sets the layer state (recommended, do not use unless you know what you are doing). |
| `layer_state_set(layer_mask)` | Directly sets the layer state (avoid unless you know what you are doing). |
| `layer_clear()` | Clears all layers (turns them all off). |
| `layer_move(layer)` | Turns specified layer on, and all other layers off. |
| `layer_on(layer)` | Turns specified layer on, leaves all other layers in existing state. |
Expand All @@ -63,7 +63,7 @@ There are a number of functions (and variables) related to how you can use or ma
| `layer_and(layer_mask)` | Turns on layers based on matching enabled bits between specifed layer and existing layer state. |
| `layer_xor(layer_mask)` | Turns on layers based on non-matching bits between specifed layer and existing layer state. |
| `layer_debug(layer_mask)` | Prints out the current bit mask and highest active layer to debugger console. |
| `default_layer_set(layer_mask)` | Directly sets the default layer state (recommended, do not use unless you know what you are doing). |
| `default_layer_set(layer_mask)` | Directly sets the default layer state (avoid unless you know what you are doing). |
| `default_layer_or(layer_mask)` | Turns on layers based on matching bits between specifed layer and existing default layer state. |
| `default_layer_and(layer_mask)` | Turns on layers based on matching enabled bits between specifed layer and existing default layer state. |
| `default_layer_xor(layer_mask)` | Turns on layers based on non-matching bits between specifed layer and existing default layer state. |
Expand Down
4 changes: 2 additions & 2 deletions docs/feature_pointing_device.md
Original file line number Diff line number Diff line change
Expand Up @@ -654,7 +654,7 @@ layer_state_t layer_state_set_user(layer_state_t state) {
#### Set different target layer when a particular layer is active:
The below code will change the auto mouse layer target to `_MOUSE_LAYER_2` when `_DEFAULT_LAYER_2` is highest default layer state.
*NOTE: that `auto_mouse_layer_off` is used here instead of `remove_auto_mouse_layer` as `default_layer_state_set_*` stack is separate from the `layer_state_set_*` stack* if something similar was to be done in `layer_state_set_user`, `state = remove_auto_mouse_layer(state, false)` should be used instead
*NOTE: that `auto_mouse_layer_off` is used here instead of `remove_auto_mouse_layer` as `default_layer_state_set_*` stack is separate from the `layer_state_set_*` stack* if something similar was to be done in `layer_state_set_user_state = remove_auto_mouse_layer(state, false)` should be used instead
*ADDITIONAL NOTE: `AUTO_MOUSE_TARGET_LAYER` is checked if already set to avoid deactivating the target layer unless needed*
```c
Expand Down Expand Up @@ -757,7 +757,7 @@ On a keyboard that has a pointing device (_i.e._ `POINTING_DEVICE_ENABLED` _is d

```c
// in config.h:
#define POINTING_DEVICE_MODES_ENABLE
#define POINTING_DEVICE_MODES_ENABLED
```

### Activating Pointing Device Modes
Expand Down
2 changes: 1 addition & 1 deletion docs/feature_rgb_matrix.md
Original file line number Diff line number Diff line change
Expand Up @@ -576,7 +576,7 @@ enum rgb_matrix_effects {
RGB_MATRIX_PIXEL_FRACTAL, // Single hue fractal filled keys pulsing horizontally out to edges
RGB_MATRIX_PIXEL_FLOW, // Pulsing RGB flow along LED wiring with random hues
RGB_MATRIX_PIXEL_RAIN, // Randomly light keys with random hues
#if define(RGB_MATRIX_FRAMEBUFFER_EFFECTS)
#if defined(RGB_MATRIX_FRAMEBUFFER_EFFECTS)
RGB_MATRIX_TYPING_HEATMAP, // How hot is your WPM!
RGB_MATRIX_DIGITAL_RAIN, // That famous computer simulation
#endif
Expand Down
41 changes: 41 additions & 0 deletions docs/flashing.md
Original file line number Diff line number Diff line change
Expand Up @@ -363,6 +363,47 @@ CLI Flashing sequence:

* `:uf2-split-left` and `:uf2-split-right`: Flashes the firmware but also sets the handedness setting in EEPROM by generating a side specific firmware.

## uf2boot

Keyboards may opt into supporting the uf2boot bootloader. This is currently only supported on the F103 bluepill.

The `rules.mk` setting for this bootloader is `uf2boot`, and can be specified at the keymap or user level.

To ensure compatibility with the uf2boot bootloader, make sure this block is present in your `rules.mk`:

```make
# Bootloader selection
BOOTLOADER = uf2boot
```

Compatible flashers:

* Any application able to copy a file from one place to another, such as _macOS Finder_ or _Windows Explorer_.

Flashing sequence:

1. Enter the bootloader using any of the following methods:
* Tap the `QK_BOOT` keycode
* Double-tap the `nRST` button on the PCB.
2. Wait for the OS to detect the device
3. Copy the .uf2 file to the new USB disk
4. Wait for the keyboard to become available

or

CLI Flashing sequence:

1. Enter the bootloader using any of the following methods:
* Tap the `QK_BOOT` keycode
* Double-tap the `nRST` button on the PCB.
2. Wait for the OS to detect the device
3. Flash via QMK CLI eg. `qmk flash --keyboard handwired/onekey/bluepill_uf2boot --keymap default`
4. Wait for the keyboard to become available

### `make` Targets

* `:uf2-split-left` and `:uf2-split-right`: Flashes the firmware but also sets the handedness setting in EEPROM by generating a side specific firmware.

## Raspberry Pi RP2040 UF2

The `rules.mk` setting for this bootloader is `rp2040`, and can be specified at the keymap or user level.
Expand Down
2 changes: 1 addition & 1 deletion keyboards/alf/x2/readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,6 @@ Flashing example for this keyboard:

make alf/x2:default:flash

To reset the board into bootloader mode, hold Space+B while plugging it in.
To reset the board into bootloader mode, the key at top left (usually escape) while plugging it in.

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).
114 changes: 114 additions & 0 deletions keyboards/bubble75/hotswap/config.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,114 @@
/* Copyright 2022 Velocifire
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/

#pragma once

#include "config_common.h"

/* key matrix pins */
#define MATRIX_ROW_PINS { F4, F5, F6, F7, C7, F1 }
#define MATRIX_COL_PINS { B0, B1, B2, B3, E6, F0, D0, D1, D4, D6, D7, B4, B5, B6, C6 }
#define DIODE_DIRECTION COL2ROW

/* Set 0 if debouncing isn't needed */
#define DEBOUNCE 5

/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
#define LOCKING_SUPPORT_ENABLE

/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE

#define FORCE_NKRO

/* WS2812 RGB */
#ifdef RGB_MATRIX_ENABLE
#define RGB_DI_PIN B7
#define RGBLED_NUM 81
#define RGB_MATRIX_LED_COUNT 81
#define RGBLIGHT_HUE_STEP 8
#define RGBLIGHT_SAT_STEP 8
#define RGBLIGHT_VAL_STEP 8
#define RGBLIGHT_LAYERS
//#define RGBLIGHT_LAYER_BLINK
#define RGBLIGHT_LAYERS_OVERRIDE_RGB_OFF

#define RGB_MATRIX_KEYPRESSES

#define RGB_MATRIX_LED_PROCESS_LIMIT (RGB_MATRIX_LED_COUNT + 4) / 5
#define RGB_MATRIX_LED_FLUSH_LIMIT 16
#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 180
//#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_LEFT_RIGHT
#define RGB_MATRIX_DEFAULT_HUE 0
#define RGB_MATRIX_DEFAULT_SAT 255
#define RGB_MATRIX_DEFAULT_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS
#define RGB_MATRIX_DEFAULT_SPD 127




// RGB Matrix Animation modes. Explicitly enabled
// For full list of effects, see:
// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
// #define ENABLE_RGB_MATRIX_ALPHAS_MODS
// #define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
// #define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
#define ENABLE_RGB_MATRIX_BREATHING
// #define ENABLE_RGB_MATRIX_BAND_SAT
// #define ENABLE_RGB_MATRIX_BAND_VAL
// #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
// #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
// #define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
// #define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
#define ENABLE_RGB_MATRIX_CYCLE_ALL
#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
#define ENABLE_RGB_MATRIX_DUAL_BEACON
#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
// #define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
#define ENABLE_RGB_MATRIX_RAINDROPS
// #define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
// #define ENABLE_RGB_MATRIX_HUE_BREATHING
// #define ENABLE_RGB_MATRIX_HUE_PENDULUM
// #define ENABLE_RGB_MATRIX_HUE_WAVE
// #define ENABLE_RGB_MATRIX_PIXEL_RAIN
// #define ENABLE_RGB_MATRIX_PIXEL_FLOW
// #define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
#define ENABLE_RGB_MATRIX_DIGITAL_RAIN
// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
#define ENABLE_RGB_MATRIX_SPLASH
#define ENABLE_RGB_MATRIX_MULTISPLASH
#define ENABLE_RGB_MATRIX_SOLID_SPLASH
#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH

#define RGB_MATRIX_KEYPRESSES
#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
#endif
58 changes: 58 additions & 0 deletions keyboards/bubble75/hotswap/hotswap.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
/* Copyright 2022 Velocifire
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/

#include "hotswap.h"
#ifdef RGB_MATRIX_ENABLE
led_config_t g_led_config = {
{
/* Key Matrix to LED Index */
{ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, NO_LED, 13 },
{ 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14 },
{ 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43 },
{ 57, 56, 55, 54, 53, 52, 51, 50, 49, 48, 47, 46, 45, NO_LED, 44 },
{ 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, NO_LED, 70, 71 },
{ 80, 79, 78, NO_LED, NO_LED, 77, NO_LED, NO_LED, 76, 75, NO_LED, 74, NO_LED, 73, 72 }
}, {
/* LED Index to Physical Position */
// Switch LEDs
{0,0}, {23,0}, {38,0}, {54,0}, {69,0}, {75,0}, {90,0}, {105,0}, {120,0}, {143,0}, {158,0}, {173,0}, {188,0}, {225,0},
{225,18}, {203,18}, {180,18}, {165,18}, {150,18}, {135,18}, {120,18}, {105,18}, {90,18}, {75,18}, {60,18}, {45,18}, {30,18}, {15,18}, {0,18},
{4,30}, {19,30}, {34,30}, {49,30}, {64,30}, {79,30}, {84,30}, {99,30}, {114,30}, {129,30}, {144,30}, {159,30}, {174,30}, {219,30}, {225,30},
{225,41}, {201,41}, {191,41}, {161,41}, {146,41}, {131,41}, {116,41}, {101,41}, {86,41}, {71,41}, {56,41}, {41,41}, {26,41}, {6,41},
{13,52}, {34,52}, {49,52}, {64,52}, {79,52}, {94,52}, {109,52}, {124,52}, {139,52}, {154,52}, {169,52}, {189,52}, {210,52}, {225,52},
{225,64}, {210,64}, {195,64}, {186,64}, {167,64}, {94,64}, {39,64}, {21,64}, {2,64},
}, {
4,4,4,4,4,4,4,4,4,4,4,4, 4,4,
4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
4,4,4,4,4,4,4,4,4,4,4,4,4, 4,
4,4,4,4,4,4,4,4,4,4,4,4, 4,4,
4,4,4, 4, 4,4, 4, 4,4,
}
};

bool rgb_matrix_indicators_kb(void) {
if (!rgb_matrix_indicators_user()) {
return false;
}
if (host_keyboard_led_state().caps_lock) { // Capslock = WHITE
rgb_matrix_set_color(57, 255, 255, 255);
}
return true;
}


#endif
35 changes: 35 additions & 0 deletions keyboards/bubble75/hotswap/hotswap.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
/* Copyright 2022 Velocifire
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/

#pragma once

#include "quantum.h"

#define LAYOUT( \
K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K014, \
K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, \
K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, \
K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K314, \
K400, K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K413, K414, \
K500, K501, K502, K505, K508, K509, K511, K513, K514 \
) { \
{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, KC_NO, K014 }, \
{ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114 }, \
{ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214 }, \
{ K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, KC_NO, K314 }, \
{ K400, K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, KC_NO, K413, K414 }, \
{ K500, K501, K502, KC_NO, KC_NO, K505, KC_NO, KC_NO, K508, K509, KC_NO, K511, KC_NO, K513, K514 } \
}
Loading

0 comments on commit 2770e58

Please sign in to comment.