summaryrefslogtreecommitdiff
path: root/keyboards/id67/rgb/keymaps/thewerther
diff options
context:
space:
mode:
authorwerther <werther@mailbox.org>2022-01-09 21:08:18 +0100
committerGitHub <noreply@github.com>2022-01-09 12:08:18 -0800
commit1ed5c48d939ce711977e345bd127ec10415ae6af (patch)
tree97652713446ec994871f1511fbbc2a23e2cc4742 /keyboards/id67/rgb/keymaps/thewerther
parentec78acae690ae8b6122132b810ce663604cd8b9b (diff)
[Keyboard] Add RGB Matrix support to id67 and add thewerther keymap (#15558)
Co-authored-by: Drashna Jaelre <drashna@live.com> Co-authored-by: sigprof and fauxpark Co-authored-by: Ryan <fauxpark@gmail.com>
Diffstat (limited to 'keyboards/id67/rgb/keymaps/thewerther')
-rw-r--r--keyboards/id67/rgb/keymaps/thewerther/config.h95
-rw-r--r--keyboards/id67/rgb/keymaps/thewerther/keymap.c57
-rw-r--r--keyboards/id67/rgb/keymaps/thewerther/rules.mk2
3 files changed, 154 insertions, 0 deletions
diff --git a/keyboards/id67/rgb/keymaps/thewerther/config.h b/keyboards/id67/rgb/keymaps/thewerther/config.h
new file mode 100644
index 0000000000..539e3bbb41
--- /dev/null
+++ b/keyboards/id67/rgb/keymaps/thewerther/config.h
@@ -0,0 +1,95 @@
+/* Copyright 2021 thewerther
+ *
+ * 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
+
+#define DRIVER_LED_UNDERGLOW 10
+#define TAPPING_TERM 500
+
+#if defined(RGB_MATRIX_ENABLE)
+ #define RGB_DISABLE_WHEN_USB_SUSPENDED true // turn off effects when suspended
+ #undef RGB_MATRIX_MAXIMUM_BRIGHTNESS
+ #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 255 // limits maximum brightness of LEDs to 200 out of 255. If not defined maximum brightness is set to 255
+
+ // change saturation and hue step size
+ #undef RGBLIGHT_HUE_STEP
+ #undef RGBLIGHT_SAT_STEP
+ #define RGBLIGHT_SAT_STEP 5
+ #define RGBLIGHT_HUE_STEP 5
+
+ #define RGB_MATRIX_KEYPRESSES
+
+ // disable effects from keyboard level config.h
+ #undef ENABLE_RGB_MATRIX_ALPHAS_MODS
+ #undef ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
+ #undef ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
+ #undef ENABLE_RGB_MATRIX_BREATHING
+ #undef ENABLE_RGB_MATRIX_BAND_SAT
+ #undef ENABLE_RGB_MATRIX_BAND_VAL
+ #undef ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
+ #undef ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
+ #undef ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
+ #undef ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
+ #undef ENABLE_RGB_MATRIX_CYCLE_ALL
+ #undef ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
+ #undef ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
+ #undef ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
+ #undef ENABLE_RGB_MATRIX_CYCLE_OUT_IN
+ #undef ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
+ #undef ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
+ #undef ENABLE_RGB_MATRIX_CYCLE_SPIRAL
+ #undef ENABLE_RGB_MATRIX_DUAL_BEACON
+ #undef ENABLE_RGB_MATRIX_RAINBOW_BEACON
+ #undef ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
+ #undef ENABLE_RGB_MATRIX_RAINDROPS
+ #undef ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
+ #undef ENABLE_RGB_MATRIX_HUE_BREATHING
+ #undef ENABLE_RGB_MATRIX_HUE_PENDULUM
+ #undef ENABLE_RGB_MATRIX_HUE_WAVE
+ #undef ENABLE_RGB_MATRIX_PIXEL_FRACTAL
+ #undef ENABLE_RGB_MATRIX_PIXEL_RAIN
+ #undef ENABLE_RGB_MATRIX_TYPING_HEATMAP
+ #undef ENABLE_RGB_MATRIX_DIGITAL_RAIN
+ #undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
+ #undef ENABLE_RGB_MATRIX_SOLID_REACTIVE
+ #undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
+ #undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
+ #undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
+ #undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
+ #undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
+ #undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
+ #undef ENABLE_RGB_MATRIX_SPLASH
+ #undef ENABLE_RGB_MATRIX_MULTISPLASH
+ #undef ENABLE_RGB_MATRIX_SOLID_SPLASH
+ #undef ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
+
+ // only enable a few
+ #define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
+ #define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
+ #define ENABLE_RGB_MATRIX_DUAL_BEACON
+ #define ENABLE_RGB_MATRIX_RAINBOW_BEACON
+ #define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
+ #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
+ #define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
+
+#if defined(RGB_MATRIX_KEYPRESSES) || defined(RGB_MATRIX_KEYRELEASES)
+ #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE// Pulses keys hit to hue & value then fades value out
+ #define ENABLE_RGB_MATRIX_SOLID_REACTIVE // Static single hue, pulses keys hit to shifted hue then fades to current hue
+ #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE // Hue & value pulse near a single key hit then fades value out
+ #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH // Hue & value pulse away from multiple key hits then fades value out
+#endif // # if defined(RGB_MATRIX_KEYPRESSES) || defined(RGB_MATRIX_KEYRELEASES)
+#endif // # if defined(RGB_MATRIX_ENABLE)
+
diff --git a/keyboards/id67/rgb/keymaps/thewerther/keymap.c b/keyboards/id67/rgb/keymaps/thewerther/keymap.c
new file mode 100644
index 0000000000..8af720755f
--- /dev/null
+++ b/keyboards/id67/rgb/keymaps/thewerther/keymap.c
@@ -0,0 +1,57 @@
+/* Copyright 2021 Tybera
+ * Copyright 2021 thewerther
+ *
+ * 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 QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [0] = LAYOUT_65_ansi_blocker(
+ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_GRV,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,
+ KC_RALT, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN,
+ KC_LCTL, KC_LGUI, KC_LALT, LT(1, KC_SPC), MO(2), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+ [1] = LAYOUT_65_ansi_blocker(
+ _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, KC_PGUP, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, KC_PGDN, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+ [2] = LAYOUT_65_ansi_blocker(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, RGB_TOG, _______, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_MPLY, KC_MPRV, KC_MNXT, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME,
+ _______, RESET, RGB_SPI, RGB_SPD, _______, KC_VOLD, KC_MUTE, KC_VOLU, _______, _______, _______, _______, _______, KC_END,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______
+ )
+
+};
+
+void matrix_scan_user(void) {
+# if defined(RGB_MATRIX_ENABLE)
+ int current_effect = rgb_matrix_get_mode();
+ if (current_effect >= RGB_MATRIX_SOLID_REACTIVE_SIMPLE && current_effect <= RGB_MATRIX_SOLID_MULTISPLASH) {
+ // set all underglow leds to current color
+ RGB current_color = hsv_to_rgb(rgb_matrix_get_hsv());
+ for (int i = DRIVER_LED_TOTAL - DRIVER_LED_UNDERGLOW; i < DRIVER_LED_TOTAL; i++) {
+ rgb_matrix_set_color(i, current_color.r, current_color.g, current_color.b);
+ }
+ }
+# endif
+}
+
diff --git a/keyboards/id67/rgb/keymaps/thewerther/rules.mk b/keyboards/id67/rgb/keymaps/thewerther/rules.mk
new file mode 100644
index 0000000000..acd3adaa9a
--- /dev/null
+++ b/keyboards/id67/rgb/keymaps/thewerther/rules.mk
@@ -0,0 +1,2 @@
+CONSOLE_ENABLE = no # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration