qmk_sweep_skeletyl/users/vitoni/vitoni.h
Victor Toni 6209122213
[Keymap] Add vitoni keymap for GMMK Pro (ISO) (#15006)
* [Keymap] Add vitoni layout for GMMK Pro (ISO)

Keymap has layered cursor keys similar to laptop keyboards.

* Configure RGB defaults for startup

* Configure encoder to change value/brightness on FN layer

* Remove FN layer and add dedicated RGB layer

* Make RGB layer sticky (using TG) to avoid holding FN while configuring RGB

* Add RGB indicators for active layers

* Add RGB indicator for active RESET mode

Signed-off-by: Victor Toni <victor.toni@gmail.com>

* Configure idle / USB suspend settings

* Add RGB fade in when resuming after suspend

* Add RGB fade out before suspend

* Add fade out before idle

* Add breathe effect when idle
2021-12-27 21:13:12 +11:00

30 lines
1,000 B
C

// Copyright 2021 Victor Toni (@vitoni)
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
#include <stdint.h>
#include <stdbool.h>
#include <quantum/action.h>
#include "rgb_matrix_effects.h"
/**
* @brief Executes periodic tasks, eg. fading or checking for upcoming supend.
* @details Function declaration as weak as the implementation might "disappear" depending on the RGB settings used.
* The weak declaration avoids having to change `keymap.c`.
*/
__attribute__((weak))
void matrix_scan_user_rgb(void);
/**
* @brief Executes tasks based on user activity, eg. fading in.
* @details Function declaration as weak as the implementation might "disappear" depending on the RGB settings used.
* The weak declaration avoids having to change `keymap.c`.
* @param[in] keycode
* @param[in] record
* @return `false` if further processing should be stopped, `true` otherwise
*/
__attribute__((weak))
bool process_record_user_rgb(const uint16_t keycode, const keyrecord_t *record);