aboutsummaryrefslogtreecommitdiffstats
path: root/layouts/community
diff options
context:
space:
mode:
Diffstat (limited to 'layouts/community')
-rw-r--r--layouts/community/ergodox/drashna/keymap.c120
-rw-r--r--layouts/community/ergodox/drashna_glow/README.md1
-rw-r--r--layouts/community/ergodox/drashna_glow/config.h11
-rw-r--r--layouts/community/ergodox/drashna_glow/keymap.c67
-rw-r--r--layouts/community/ergodox/drashna_glow/rules.mk9
-rw-r--r--layouts/community/ortho_4x12/drashna/keymap.c2
6 files changed, 201 insertions, 9 deletions
diff --git a/layouts/community/ergodox/drashna/keymap.c b/layouts/community/ergodox/drashna/keymap.c
index 360a2d9c6..df9be62b7 100644
--- a/layouts/community/ergodox/drashna/keymap.c
+++ b/layouts/community/ergodox/drashna/keymap.c
@@ -20,8 +20,13 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#ifdef UNICODEMAP_ENABLE
#include "drashna_unicode.h"
#endif // UNICODEMAP_ENABLE
+extern uint8_t input_mode;
-
+#ifdef RGB_MATRIX_ENABLE
+extern bool g_suspend_state;
+extern rgb_config_t rgb_matrix_config;
+#endif
+extern userspace_config_t userspace_config;
//enum more_custom_keycodes {
// KC_P00 = NEW_SAFE_RANGE
@@ -40,7 +45,7 @@ bool skip_leds = false;
KC_TAB, K01, K02, K03, K04, K05, TG(_DIABLO), TG(_DIABLO), K06, K07, K08, K09, K0A, KC_BSLS, \
KC_C1R3, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, KC_QUOT, \
KC_MLSF, CTL_T(K21), K22, K23, K24, K25, TG(_GAMEPAD), TG(_GAMEPAD), K26, K27, K28, K29, CTL_T(K2A), KC_MRSF, \
- KC_GRV, OSM(MOD_MEH),OSM(MOD_LGUI),KC_LBRC, KC_RBRC, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, UC_SHRG, \
+ KC_GRV, OS_MEH, OS_HYPR, KC_LBRC, KC_RBRC, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, UC(0x2E2E), \
OS_LALT, OS_LGUI, OS_RGUI, CTL_T(KC_ESCAPE), \
KC_HOME, KC_PGUP, \
LT(_LOWER, KC_SPACE),KC_BSPC, KC_END, KC_PGDN, KC_DEL, LT(_RAISE, KC_ENTER) \
@@ -198,7 +203,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_GAMEPAD] = LAYOUT_ergodox_pretty_wrapper(
KC_ESC, KC_NO, KC_1, KC_2, KC_3, HYPR(KC_Q), HYPR(KC_GRV), KC_TRNS, KC_F9, KC_F10, KC_F11, KC_F12, KC_NO, KC_NO,
- KC_F1, KC_K, KC_Q, KC_W, KC_E, KC_R, KC_T, UC_SHRG, UC_DISA, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
+ KC_F1, KC_K, KC_Q, KC_W, KC_E, KC_R, KC_T, UC_SHRG, UC_DISA, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
KC_TAB, KC_G, KC_A, KC_S, KC_D, KC_F, KC_I, KC_O, KC_NO, KC_NO, KC_NO, KC_NO,
KC_LCTL, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_TRNS, TG(_GAMEPAD), KC_N, KC_M, KC_NO, KC_NO, KC_NO, KC_NO,
KC_GRV, KC_U, KC_I, KC_Y, KC_T, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_NO,
@@ -263,7 +268,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_ADJUST] = LAYOUT_ergodox_pretty_wrapper(
KC_MAKE, _______, _______, _______, _______, _______, _______, KC_NUKE, _________________ADJUST_R1_________________, KC_RST,
- VRSN, _________________ADJUST_L1_________________, _______, _______, _______, _______, _______, _______, _______, EPRM,
+ VRSN, _________________ADJUST_L1_________________, _______, _______, _______, _______, _______, _______, _______, EEP_RST,
_______, _________________ADJUST_L2_________________, _________________ADJUST_R2_________________, TG(_MODS),
_______, _________________ADJUST_L3_________________, _______, _______, _________________ADJUST_R3_________________, KC_MPLY,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
@@ -290,10 +295,6 @@ bool process_record_keymap(uint16_t keycode, keyrecord_t *record) {
return true;
}
-void matrix_init_keymap(void) { // Runs boot tasks for keyboard
-};
-
-
void matrix_scan_keymap(void) { // runs frequently to update info
uint8_t modifiers = get_mods();
uint8_t led_usb_state = host_keyboard_leds();
@@ -335,3 +336,106 @@ bool indicator_is_this_led_used_keyboard(uint8_t index) {
return false;
}
}
+
+
+#ifdef RGB_MATRIX_ENABLE
+
+void suspend_power_down_keymap(void) {
+ rgb_matrix_set_suspend_state(true);
+ rgb_matrix_config.enable = false;
+}
+
+void suspend_wakeup_init_keymap(void) {
+ rgb_matrix_config.enable = true;
+ rgb_matrix_set_suspend_state(false);
+}
+
+void rgb_matrix_layer_helper (uint8_t red, uint8_t green, uint8_t blue) {
+ rgb_led led;
+ for (int i = 0; i < DRIVER_LED_TOTAL; i++) {
+ led = g_rgb_leds[i];
+ if (led.matrix_co.raw < 0xFF) {
+ if (led.modifier) {
+ rgb_matrix_set_color( i, red, green, blue );
+ }
+ }
+ }
+}
+
+void rgb_matrix_indicators_user(void) {
+ if (g_suspend_state || !rgb_matrix_config.enable || !userspace_config.rgb_layer_change) return;
+
+ switch (biton32(layer_state)) {
+ case _MODS:
+ rgb_matrix_layer_helper(0xFF, 0xFF, 0x00); break;
+ case _GAMEPAD:
+ rgb_matrix_layer_helper(0xFF, 0x80, 0x00);
+ rgb_matrix_set_color(32, 0x00, 0xFF, 0x00); // Q
+ rgb_matrix_set_color(31, 0x00, 0xFF, 0xFF); // W
+ rgb_matrix_set_color(30, 0xFF, 0x00, 0x00); // E
+ rgb_matrix_set_color(29, 0xFF, 0x80, 0x00); // R
+ rgb_matrix_set_color(37, 0x00, 0xFF, 0xFF); // A
+ rgb_matrix_set_color(36, 0x00, 0xFF, 0xFF); // S
+ rgb_matrix_set_color(35, 0x00, 0xFF, 0xFF); // D
+ rgb_matrix_set_color(34, 0x7A, 0x00, 0xFF); // F
+
+ rgb_matrix_set_color(27, 0xFF, 0xFF, 0xFF); // 1
+ rgb_matrix_set_color(26, 0x00, 0xFF, 0x00); // 2
+ rgb_matrix_set_color(25, 0x7A, 0x00, 0xFF); // 3
+
+ break;
+ case _DIABLO:
+ rgb_matrix_layer_helper(0xFF, 0x00, 0x00); break;
+ case _RAISE:
+ rgb_matrix_layer_helper(0xFF, 0xFF, 0x00); break;
+ case _LOWER:
+ rgb_matrix_layer_helper(0x00, 0xFF, 0x00); break;
+ case _ADJUST:
+ rgb_matrix_layer_helper(0xFF, 0x00, 0x00); break;
+ default:
+ switch (biton32(default_layer_state)) {
+ case _QWERTY:
+ rgb_matrix_layer_helper(0x00, 0xFF, 0xFF); break;
+ case _COLEMAK:
+ rgb_matrix_layer_helper(0xFF, 0x00, 0xFF); break;
+ case _DVORAK:
+ rgb_matrix_layer_helper(0x00, 0xFF, 0x00); break;
+ case _WORKMAN:
+ rgb_matrix_layer_helper(0xD9, 0xA5, 0x21); break;
+ }
+ }
+#if 0
+ if (this_mod & MODS_SHIFT_MASK || this_led & (1<<USB_LED_CAPS_LOCK) || this_osm & MODS_SHIFT_MASK) {
+ rgb_matrix_set_color(24, 0x00, 0xFF, 0x00);
+ rgb_matrix_set_color(36, 0x00, 0xFF, 0x00);
+ }
+ if (this_mod & MODS_CTRL_MASK || this_osm & MODS_CTRL_MASK) {
+ rgb_matrix_set_color(25, 0xFF, 0x00, 0x00);
+ rgb_matrix_set_color(34, 0xFF, 0x00, 0x00);
+ rgb_matrix_set_color(37, 0xFF, 0x00, 0x00);
+
+ }
+ if (this_mod & MODS_GUI_MASK || this_osm & MODS_GUI_MASK) {
+ rgb_matrix_set_color(39, 0xFF, 0xD9, 0x00);
+ }
+ if (this_mod & MODS_ALT_MASK || this_osm & MODS_ALT_MASK) {
+ rgb_matrix_set_color(38, 0x00, 0x00, 0xFF);
+ }
+#endif
+}
+
+void matrix_init_keymap(void) {
+ #ifdef RGB_MATRIX_KEYPRESSES
+ rgblight_mode(RGB_MATRIX_MULTISPLASH);
+ #else
+ rgblight_mode(RGB_MATRIX_RAINBOW_MOVING_CHEVRON);
+ #endif
+
+ input_mode = 2;
+}
+
+#else
+void matrix_init_keymap(void) {
+ input_mode = 2;
+}
+#endif //RGB_MATRIX_INIT
diff --git a/layouts/community/ergodox/drashna_glow/README.md b/layouts/community/ergodox/drashna_glow/README.md
new file mode 100644
index 000000000..7d625a258
--- /dev/null
+++ b/layouts/community/ergodox/drashna_glow/README.md
@@ -0,0 +1 @@
+Note: This board will not flash if the "g_rgb_leds" const is not set to weak in the ergodox_ez.c file
diff --git a/layouts/community/ergodox/drashna_glow/config.h b/layouts/community/ergodox/drashna_glow/config.h
new file mode 100644
index 000000000..197acbc4a
--- /dev/null
+++ b/layouts/community/ergodox/drashna_glow/config.h
@@ -0,0 +1,11 @@
+#pragma once
+
+#include "../drashna/config.h"
+
+#undef PRODUCT
+#define PRODUCT DrashnaDox - Hacked ErgoDox EZ Glow
+
+#undef DEBOUNCE
+#define DEBOUNCE 5
+
+// #define RGB_MATRIX_KEYPRESSES // reacts to keypresses (will slow down matrix scan by a lot)
diff --git a/layouts/community/ergodox/drashna_glow/keymap.c b/layouts/community/ergodox/drashna_glow/keymap.c
new file mode 100644
index 000000000..f2fb66545
--- /dev/null
+++ b/layouts/community/ergodox/drashna_glow/keymap.c
@@ -0,0 +1,67 @@
+/* placeholder file */
+#include QMK_KEYBOARD_H
+
+const rgb_led g_rgb_leds[DRIVER_LED_TOTAL] = {
+
+ /*{row | col << 4}
+ | {x=0..224, y=0..64}
+ | | modifier
+ | | | */
+ {{0|(0<<4)}, {24.9*5, 16*0}, 0}, // LED 1 on right
+ {{0|(1<<4)}, {24.9*6, 16*0}, 0}, // LED 2
+ {{0|(2<<4)}, {24.9*7, 16*0}, 0}, // LED 3
+ {{0|(3<<4)}, {24.9*8, 16*0}, 0}, // LED 4
+ {{0|(4<<4)}, {24.9*9, 16*0}, 0}, // LED 5
+
+ {{1|(5<<4)}, {24.9*5, 16*1}, 0}, // LED 6
+ {{1|(6<<4)}, {24.9*6, 16*1}, 0}, // LED 7
+ {{1|(7<<4)}, {24.9*7, 16*1}, 0}, // LED 8
+ {{1|(8<<4)}, {24.9*8, 16*1}, 0}, // LED 9
+ {{1|(9<<4)}, {24.9*9, 16*1}, 0}, // LED 10
+
+ {{2|(5<<4)}, {24.9*5, 16*2}, 0}, // LED 11
+ {{2|(6<<4)}, {24.9*6, 16*2}, 0}, // LED 12
+ {{2|(7<<4)}, {24.9*7, 16*2}, 0}, // LED 13
+ {{2|(8<<4)}, {24.9*8, 16*2}, 0}, // LED 14
+ {{2|(9<<4)}, {24.9*9, 16*2}, 0}, // LED 15
+
+ {{3|(5<<4)}, {24.9*5, 16*2}, 0}, // LED 16
+ {{3|(6<<4)}, {24.9*6, 16*2}, 0}, // LED 17
+ {{3|(7<<4)}, {24.9*7, 16*2}, 0}, // LED 18
+ {{3|(8<<4)}, {24.9*8, 16*2}, 0}, // LED 19
+ {{3|(9<<4)}, {24.9*9, 16*2}, 0}, // LED 20
+
+ {{4|(6<<4)}, {24.9*6, 16*2}, 1}, // LED 21
+ {{4|(7<<4)}, {24.9*7, 16*2}, 1}, // LED 22
+ {{4|(8<<4)}, {24.9*8, 16*2}, 1}, // LED 23
+ {{4|(9<<4)}, {24.9*9, 16*2}, 1}, // LED 24
+
+ {{0|(0<<4)}, {24.9*4, 16*0}, 0}, // LED 1 on left
+ {{0|(1<<4)}, {24.9*3, 16*0}, 0}, // LED 2
+ {{0|(2<<4)}, {24.9*2, 16*0}, 0}, // LED 3
+ {{0|(3<<4)}, {24.9*1, 16*0}, 0}, // LED 4
+ {{0|(4<<4)}, {24.9*0, 16*0}, 0}, // LED 5
+
+ {{1|(5<<4)}, {24.9*4, 16*1}, 0}, // LED 6
+ {{1|(6<<4)}, {24.9*3, 16*1}, 0}, // LED 7
+ {{1|(7<<4)}, {24.9*2, 16*1}, 0}, // LED 8
+ {{1|(8<<4)}, {24.9*1, 16*1}, 0}, // LED 9
+ {{1|(9<<4)}, {24.9*0, 16*1}, 0}, // LED 10
+
+ {{2|(5<<4)}, {24.9*4, 16*2}, 0}, // LED 11
+ {{2|(6<<4)}, {24.9*3, 16*2}, 0}, // LED 12
+ {{2|(7<<4)}, {24.9*2, 16*2}, 0}, // LED 13
+ {{2|(8<<4)}, {24.9*1, 16*2}, 0}, // LED 14
+ {{2|(9<<4)}, {24.9*0, 16*2}, 0}, // LED 15
+
+ {{3|(5<<4)}, {24.9*4, 16*2}, 0}, // LED 16
+ {{3|(6<<4)}, {24.9*3, 16*2}, 0}, // LED 17
+ {{3|(7<<4)}, {24.9*2, 16*2}, 0}, // LED 18
+ {{3|(8<<4)}, {24.9*1, 16*2}, 0}, // LED 19
+ {{3|(9<<4)}, {24.9*0, 16*2}, 0}, // LED 20
+
+ {{4|(6<<4)}, {24.9*3, 16*2}, 1}, // LED 21
+ {{4|(7<<4)}, {24.9*2, 16*2}, 1}, // LED 22
+ {{4|(8<<4)}, {24.9*1, 16*2}, 1}, // LED 23
+ {{4|(9<<4)}, {24.9*0, 16*2}, 1}, // LED 24
+};
diff --git a/layouts/community/ergodox/drashna_glow/rules.mk b/layouts/community/ergodox/drashna_glow/rules.mk
new file mode 100644
index 000000000..3b317224a
--- /dev/null
+++ b/layouts/community/ergodox/drashna_glow/rules.mk
@@ -0,0 +1,9 @@
+USER_NAME := drashna
+SRC += ../drashna/keymap.c
+
+-include $$(LAYOUT_KEYMAP_PATH)/../drashna/rules.mk
+
+ifneq (,$(findstring ergodox_ez,$(KEYBOARD)))
+ RGBLIGHT_ENABLE = no
+ RGB_MATRIX_ENABLE = yes
+endif
diff --git a/layouts/community/ortho_4x12/drashna/keymap.c b/layouts/community/ortho_4x12/drashna/keymap.c
index 2a9e32cc8..205d12d8c 100644
--- a/layouts/community/ortho_4x12/drashna/keymap.c
+++ b/layouts/community/ortho_4x12/drashna/keymap.c
@@ -92,7 +92,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_ADJUST] = LAYOUT_ortho_4x12_wrapper(
KC_MAKE, _________________ADJUST_L1_________________, _________________ADJUST_R1_________________, KC_RST,
- VRSN, _________________ADJUST_L2_________________, _________________ADJUST_R2_________________, EPRM,
+ VRSN, _________________ADJUST_L2_________________, _________________ADJUST_R2_________________, EEP_RST,
_______, _________________ADJUST_L3_________________, _________________ADJUST_R3_________________, TG_MODS,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
)