You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

30 lines
1000 B

  1. // Copyright 2021 Victor Toni (@vitoni)
  2. // SPDX-License-Identifier: GPL-2.0-or-later
  3. #pragma once
  4. #include <stdint.h>
  5. #include <stdbool.h>
  6. #include <quantum/action.h>
  7. #include "rgb_matrix_effects.h"
  8. /**
  9. * @brief Executes periodic tasks, eg. fading or checking for upcoming supend.
  10. * @details Function declaration as weak as the implementation might "disappear" depending on the RGB settings used.
  11. * The weak declaration avoids having to change `keymap.c`.
  12. */
  13. __attribute__((weak))
  14. void matrix_scan_user_rgb(void);
  15. /**
  16. * @brief Executes tasks based on user activity, eg. fading in.
  17. * @details Function declaration as weak as the implementation might "disappear" depending on the RGB settings used.
  18. * The weak declaration avoids having to change `keymap.c`.
  19. * @param[in] keycode
  20. * @param[in] record
  21. * @return `false` if further processing should be stopped, `true` otherwise
  22. */
  23. __attribute__((weak))
  24. bool process_record_user_rgb(const uint16_t keycode, const keyrecord_t *record);