summaryrefslogtreecommitdiff
path: root/keyboards/massdrop/ctrl/keymaps/foxx1337/rgb_matrix_user.inc
diff options
context:
space:
mode:
authorfoxx1337 <foxx1337@yahoo.com>2021-11-05 03:36:27 +0100
committerGitHub <noreply@github.com>2021-11-05 13:36:27 +1100
commit2ac2695cb5fac5402e9a9834c55dce9d34ed0da5 (patch)
tree18192954ade73f87b49fc553f336bf4e93d5b306 /keyboards/massdrop/ctrl/keymaps/foxx1337/rgb_matrix_user.inc
parent45b35e6ea13d8c184d9cbd23e4bd3868e66d2933 (diff)
[Keymap] foxx1337 for Massdrop CTRL with raw HID (#8692)
* [Keymap] foxx1337's personal keymap * Add keymap based on ctrl default * Add 5 minute rgb matrix timeout * Add foxx1337 layout defaults * Add raw HID communication protocol * Add rgbmatrix to the raw HID protocol * Add readme * Modernize ctrl, shift, alt mods detection * Add GPL like copyright headers
Diffstat (limited to 'keyboards/massdrop/ctrl/keymaps/foxx1337/rgb_matrix_user.inc')
-rw-r--r--keyboards/massdrop/ctrl/keymaps/foxx1337/rgb_matrix_user.inc44
1 files changed, 44 insertions, 0 deletions
diff --git a/keyboards/massdrop/ctrl/keymaps/foxx1337/rgb_matrix_user.inc b/keyboards/massdrop/ctrl/keymaps/foxx1337/rgb_matrix_user.inc
new file mode 100644
index 0000000000..cca598e3b2
--- /dev/null
+++ b/keyboards/massdrop/ctrl/keymaps/foxx1337/rgb_matrix_user.inc
@@ -0,0 +1,44 @@
+/*
+ * Copyright 2021 foxx1337 at yahoo dot com
+ *
+ * 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/>.
+ */
+
+// !!! DO NOT ADD #pragma once !!! //
+
+// Step 1.
+// Declare custom effects using the RGB_MATRIX_EFFECT macro
+// (note the lack of semicolon after the macro!)
+RGB_MATRIX_EFFECT(hid_effect)
+
+// Step 2.
+// Define effects inside the `RGB_MATRIX_CUSTOM_EFFECT_IMPLS` ifdef block
+#ifdef RGB_MATRIX_CUSTOM_EFFECT_IMPLS
+
+RGB rgb_matrix_led_state[DRIVER_LED_TOTAL];
+
+// e.g: A simple effect, self-contained within a single method
+static bool hid_effect(effect_params_t* params) {
+ RGB_MATRIX_USE_LIMITS(led_min, led_max);
+
+ for (uint8_t i = led_min; i < led_max; i++) {
+ rgb_matrix_set_color(i,
+ rgb_matrix_led_state[i].r,
+ rgb_matrix_led_state[i].g,
+ rgb_matrix_led_state[i].b);
+ }
+ return led_max < DRIVER_LED_TOTAL;
+}
+
+#endif // RGB_MATRIX_CUSTOM_EFFECT_IMPLS