]> git.donarmstrong.com Git - qmk_firmware.git/commitdiff
[Keymap] Update to drashna keymaps: Conform to QMK Standards Edition (#5377)
authorDrashna Jaelre <drashna@live.com>
Fri, 15 Mar 2019 15:57:44 +0000 (08:57 -0700)
committerMechMerlin <30334081+mechmerlin@users.noreply.github.com>
Fri, 15 Mar 2019 15:57:44 +0000 (08:57 -0700)
* Use correct functions for dip switch code

* Some planck cleanup

* Hopefully fix RGB Sleeping with RGB Matrix

* Add rgbmatrix extern

* Add numpad 5x6 layout

* RGB Tweaks

* Add RGB startup animation

* Minor RGB Fixes

* Turn off RBG on planck

* Enable separate storage of EEPROM

* Update Macro pad

* Add BJohnson Keymap and minor darshna tweaks

* Clean up rgb and other code for new numpad

* Remove clicky hachy thing

* Update my code to use built in MOD_MASK defines

* Fix up modifier calls

* Tweak to KC_MAKE

* Tweak to KC_MAKE

* Add Semi-colon to numpad

* Preprocess out rgb matrix stuff if not enabled

* Formatting of KC_MAKE

* Add stuff for matrix and light rgb coexistance

* Fix bad spelling

* Change where layer indication shows based on rgblight status

* Force set mods in KC_MAKE

* Optimize CRKBD

22 files changed:
keyboards/crkbd/keymaps/drashna/keymap.c
keyboards/crkbd/keymaps/drashna/rules.mk
layouts/community/ergodox/drashna/keymap.c
layouts/community/ergodox/drashna_glow/config.h
layouts/community/ergodox/drashna_glow/keymap.c
layouts/community/numpad_5x6/bjohnson/config.h [new file with mode: 0644]
layouts/community/numpad_5x6/bjohnson/keymap.c [new file with mode: 0644]
layouts/community/numpad_5x6/bjohnson/rules.mk [new file with mode: 0644]
layouts/community/numpad_5x6/drashna/config.h [new file with mode: 0644]
layouts/community/numpad_5x6/drashna/keymap.c [new file with mode: 0644]
layouts/community/numpad_5x6/drashna/rules.mk [new file with mode: 0644]
layouts/community/numpad_5x6/layout.json [new file with mode: 0644]
layouts/community/numpad_5x6/readme.md [new file with mode: 0644]
layouts/community/ortho_4x12/drashna/config.h
layouts/community/ortho_4x12/drashna/keymap.c
layouts/community/ortho_4x12/drashna/rules.mk
users/drashna/config.h
users/drashna/drashna.c
users/drashna/drashna.h
users/drashna/process_records.c
users/drashna/rgb_stuff.c
users/drashna/rules.mk

index 0a9ff24ff8bec2eb3a10e8a66b90306a9c71d55e..91f0ebfa2700e290470ee95ad259f62d4b23af07 100644 (file)
@@ -187,10 +187,10 @@ const char* read_modifier_state(void) {
   uint8_t one_shot = get_oneshot_mods();
 
   snprintf(modifier_state_str, sizeof(modifier_state_str), "Mods:%s %s %s %s",
-    (modifiers & MODS_CTRL_MASK || one_shot & MODS_CTRL_MASK) ? "CTL" : "   ",
-    (modifiers & MODS_GUI_MASK || one_shot & MODS_GUI_MASK) ? "GUI" : "   ",
-    (modifiers & MODS_ALT_MASK || one_shot & MODS_ALT_MASK) ? "ALT" : "   ",
-    (modifiers & MODS_SHIFT_MASK || one_shot & MODS_SHIFT_MASK) ? "SFT" : "   "
+    (modifiers & MOD_MASK_CTRL || one_shot & MOD_MASK_CTRL) ? "CTL" : "   ",
+    (modifiers & MOD_MASK_GUI || one_shot & MOD_MASK_GUI) ? "GUI" : "   ",
+    (modifiers & MOD_MASK_ALT || one_shot & MOD_MASK_ALT) ? "ALT" : "   ",
+    (modifiers & MOD_MASK_SHIFT || one_shot & MOD_MASK_SHIFT) ? "SFT" : "   "
   );
 
   return modifier_state_str;
@@ -252,7 +252,7 @@ void matrix_render_user(struct CharacterMatrix *matrix) {
     // matrix_write_ln(matrix, read_keylog());
     matrix_write_ln(matrix, read_keylogs());
     // matrix_write_ln(matrix, read_mode_icon(keymap_config.swap_lalt_lgui));
-    matrix_write(matrix, read_host_led_state());
+    // matrix_write(matrix, read_host_led_state());
     //matrix_write_ln(matrix, read_timelog());
   } else {
     matrix_write(matrix, read_logo());
index 4b70f66f7bb226f485c1f15a533a2902de7929cb..540534978c9176764c694681fef9196b7aade205 100644 (file)
@@ -24,8 +24,8 @@ BOOTLOADER = qmk-dfu
 
 # If you want to change the display of OLED, you need to change here
 SRC +=  ./lib/glcdfont.c \
-        ./lib/rgb_state_reader.c \
         ./lib/logo_reader.c \
+        # ./lib/rgb_state_reader.c \
         # ./lib/keylogger.c \
         # ./lib/host_led_state_reader.c \
         # ./lib/mode_icon_reader.c \
index e0100de8f126b3b17141244c0637f59f1c30733a..428706e2d58c438a362cdb1cb3322e862ba7d3fb 100644 (file)
@@ -360,15 +360,15 @@ void matrix_scan_keymap(void) {  // runs frequently to update info
     // Since we're not using the LEDs here for layer indication anymore,
     // then lets use them for modifier indicators.  Shame we don't have 4...
     // Also, no "else", since we want to know each, independently.
-    if (modifiers & MODS_SHIFT_MASK || led_usb_state & (1<<USB_LED_CAPS_LOCK) || one_shot & MODS_SHIFT_MASK) {
+    if ( ( modifiers | one_shot ) & MOD_MASK_SHIFT || led_usb_state & (1<<USB_LED_CAPS_LOCK) ) {
       ergodox_right_led_2_on();
       ergodox_right_led_2_set( 50 );
     }
-    if (modifiers & MODS_CTRL_MASK || one_shot & MODS_CTRL_MASK) {
+    if ( ( modifiers | one_shot ) & MOD_MASK_CTRL) {
       ergodox_right_led_1_on();
       ergodox_right_led_1_set( 10 );
     }
-    if (modifiers & MODS_ALT_MASK || one_shot & MODS_ALT_MASK) {
+    if ( ( modifiers | one_shot ) & MOD_MASK_ALT) {
       ergodox_right_led_3_on();
       ergodox_right_led_3_set( 10 );
     }
@@ -414,7 +414,7 @@ void rgb_matrix_layer_helper (uint8_t red, uint8_t green, uint8_t blue) {
 }
 
 void rgb_matrix_indicators_user(void) {
-  if (g_suspend_state || !rgb_matrix_config.enable || !userspace_config.rgb_layer_change) return;
+  if (g_suspend_state || !rgb_matrix_config.enable || !userspace_config.rgb_layer_change) { return; }
 
   switch (biton32(layer_state)) {
     case _MODS:
@@ -464,20 +464,20 @@ void rgb_matrix_indicators_user(void) {
       }
   }
 #if 0
-  if (this_mod & MODS_SHIFT_MASK || this_led & (1<<USB_LED_CAPS_LOCK) || this_osm & MODS_SHIFT_MASK) {
+  if (this_mod & MOD_MASK_SHIFT || this_led & (1<<USB_LED_CAPS_LOCK) || this_osm & MOD_MASK_SHIFT) {
     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) {
+  if (this_mod & MOD_MASK_CTRL || this_osm & MOD_MASK_CTRL) {
     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) {
+  if (this_mod & MOD_MASK_GUI || this_osm & MOD_MASK_GUI) {
     rgb_matrix_set_color(39, 0xFF, 0xD9, 0x00);
   }
-  if (this_mod & MODS_ALT_MASK || this_osm & MODS_ALT_MASK) {
+  if (this_mod & MOD_MASK_ALT || this_osm & MOD_MASK_ALT) {
     rgb_matrix_set_color(38, 0x00, 0x00, 0xFF);
   }
 #endif
index 197acbc4a03704fb357369a91759c88df2826e94..cdca5ba4b528c807966ad16c3473e2ac27a38673 100644 (file)
@@ -8,4 +8,15 @@
 #undef DEBOUNCE
 #define DEBOUNCE 5
 
+#ifdef RGB_MATRIX_ENABLE
 // #define RGB_MATRIX_KEYPRESSES // reacts to keypresses (will slow down matrix scan by a lot)
+// #define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (not recommened)
+// #define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
+#define RGB_DISABLE_WHEN_USB_SUSPENDED  true// turn off effects when suspended
+// #define RGB_MATRIX_SKIP_FRAMES 1 // number of frames to skip when displaying animations (0 is full effect) if not defined defaults to 1
+// #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200 // limits maximum brightness of LEDs to 200 out of 255. If not defined maximum brightness is set to 255
+// #define EECONFIG_RGB_MATRIX (uint32_t *)16
+#endif
+
+#undef DEBOUNCE
+#define DEBOUNCE 1
index f2fb66545349e3368d217e5b11f97b9e8c97bffe..85455556791a19c6c8d6510740384a43d05051f3 100644 (file)
@@ -1,6 +1,7 @@
 /* placeholder file */
 #include QMK_KEYBOARD_H
 
+#ifdef RGB_MATRIX_ENABLE
 const rgb_led g_rgb_leds[DRIVER_LED_TOTAL] = {
 
     /*{row | col << 4}
@@ -65,3 +66,5 @@ const rgb_led g_rgb_leds[DRIVER_LED_TOTAL] = {
     {{4|(8<<4)},   {24.9*1, 16*2}, 1}, // LED 23
     {{4|(9<<4)},   {24.9*0, 16*2}, 1}, // LED 24
 };
+
+#endif
diff --git a/layouts/community/numpad_5x6/bjohnson/config.h b/layouts/community/numpad_5x6/bjohnson/config.h
new file mode 100644 (file)
index 0000000..fe2cffe
--- /dev/null
@@ -0,0 +1,25 @@
+#pragma once
+
+// #define B6_AUDIO
+
+#if defined(RGBLIGHT_ENABLE) && !defined(RGBLED_NUM)
+#define RGB_DI_PIN B7
+#define RGBLED_NUM 16     // Number of LEDs
+#define RGBLIGHT_ANIMATIONS
+
+#define RGBLIGHT_HUE_STEP 12
+#define RGBLIGHT_SAT_STEP 12
+#define RGBLIGHT_VAL_STEP 12
+#define RGBLIGHT_EFFECT_KNIGHT_LENGTH 2
+#define RGBLIGHT_EFFECT_SNAKE_LENGTH 2
+#define RGBLIGHT_EFFECT_BREATHE_CENTER 1
+
+#define RGBLIGHT_SLEEP
+#endif // RGBLIGHT_ENABLE
+
+#ifdef AUDIO_ENABLE
+#ifdef RGBLIGHT_ENABLE
+#define NO_MUSIC_MODE
+#endif // RGBLIGHT_ENABLE
+#endif // AUDIO_ENABLE
+#define TAP_CODE_DELAY 10
diff --git a/layouts/community/numpad_5x6/bjohnson/keymap.c b/layouts/community/numpad_5x6/bjohnson/keymap.c
new file mode 100644 (file)
index 0000000..79e87e6
--- /dev/null
@@ -0,0 +1,51 @@
+#include QMK_KEYBOARD_H
+
+extern rgblight_config_t rgblight_config;
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+       [0] = LAYOUT_numpad_5x6(
+               KC_F1,   LT(1,KC_F2),    KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS,
+               KC_F3,   KC_F4,    KC_P7,   KC_P8,   KC_P9,
+               KC_F5,   KC_F6,    KC_P4,   KC_P5,   KC_P6,   KC_PPLS,
+               KC_F7,   KC_F8,    KC_P1,   KC_P2,   KC_P3,
+               KC_F9,   KC_F10,        KC_P0,       KC_PDOT, KC_PENT
+  ),
+       [1] = LAYOUT_numpad_5x6(
+               RGB_TOG, _______,  _______, _______, _______, RESET,
+               RGB_MOD, RGB_RMOD, _______, _______, _______,
+               RGB_HUI, RGB_HUD,  _______, _______, _______, _______,
+               RGB_SAI, RGB_SAD,  _______, _______, _______,
+               RGB_VAI, RGB_VAD,       _______,     _______, _______
+  ),
+};
+
+
+void keyboard_post_init_user(void) {
+#ifdef RGBLIGHT_ENABLE
+  uint8_t temp_mode = rgblight_config.mode;
+       rgblight_enable_noeeprom();
+       rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT);
+       for (uint16_t i = 360; i > 0; i--) {
+               rgblight_sethsv_noeeprom( ( i + 180) % 360, 255, 255);
+    wait_ms(8);
+       }
+       led_set_user(host_keyboard_leds());
+  rgblight_mode_noeeprom(temp_mode);
+#endif
+}
+
+void led_set_user(uint8_t usb_led) {
+  if (IS_LED_ON(usb_led, USB_LED_NUM_LOCK)) {
+    rgblight_sethsv_noeeprom_cyan();
+  } else {
+    rgblight_sethsv_noeeprom_magenta();
+  }
+}
+
+void shutdown_user (void) {
+  #ifdef RGBLIGHT_ENABLE
+    rgblight_enable_noeeprom();
+    rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT);
+    rgblight_setrgb_red();
+  #endif // RGBLIGHT_ENABLE
+}
diff --git a/layouts/community/numpad_5x6/bjohnson/rules.mk b/layouts/community/numpad_5x6/bjohnson/rules.mk
new file mode 100644 (file)
index 0000000..d370da7
--- /dev/null
@@ -0,0 +1,5 @@
+AUDIO_ENABLE = no
+RGBLIGHT_ENABLE = yes
+BACKLIGHT_ENABLE = no
+NO_SECRETS = yes
+BOOTMAGIC_ENABLE = lite
diff --git a/layouts/community/numpad_5x6/drashna/config.h b/layouts/community/numpad_5x6/drashna/config.h
new file mode 100644 (file)
index 0000000..ec66940
--- /dev/null
@@ -0,0 +1,18 @@
+#pragma once
+
+// #define B6_AUDIO
+
+#if defined(RGBLIGHT_ENABLE) && !defined(RGBLED_NUM)
+#define RGB_DI_PIN B1
+#define RGBLED_NUM 16     // Number of LEDs
+
+#define RGBLIGHT_HUE_STEP 12
+#define RGBLIGHT_SAT_STEP 12
+#define RGBLIGHT_VAL_STEP 12
+#define RGBLIGHT_EFFECT_KNIGHT_LENGTH 2
+#define RGBLIGHT_EFFECT_SNAKE_LENGTH 2
+#define RGBLIGHT_EFFECT_BREATHE_CENTER 1
+#endif // RGBLIGHT_ENABLE
+
+
+#define TAP_CODE_DELAY 10
diff --git a/layouts/community/numpad_5x6/drashna/keymap.c b/layouts/community/numpad_5x6/drashna/keymap.c
new file mode 100644 (file)
index 0000000..646f4db
--- /dev/null
@@ -0,0 +1,22 @@
+#include QMK_KEYBOARD_H
+#include "drashna.h"
+
+#define F2_MCRO LT(_GAMEPAD, KC_F2)
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+       [_NUMLOCK] = LAYOUT_numpad_5x6(
+               KC_F1,   F2_MCRO,  KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS,
+               KC_F3,   KC_F4,    KC_P7,   KC_P8,   KC_P9,
+               KC_F5,   KC_F6,    KC_P4,   KC_P5,   KC_P6,   KC_PPLS,
+               KC_F7,   KC_F8,    KC_P1,   KC_P2,   KC_P3,
+               KC_F9,   KC_COLN,       KC_P0,       KC_PDOT, KC_PENT
+  ),
+
+  [_GAMEPAD] = LAYOUT_numpad_5x6(
+               RGB_TOG, _______,  _______, EEP_RST, KC_MAKE, RESET,
+               RGB_MOD, RGB_RMOD, _______, _______, _______,
+               RGB_HUI, RGB_HUD,  _______, _______, _______, _______,
+               RGB_SAI, RGB_SAD,  _______, _______, _______,
+               RGB_VAI, RGB_VAD,       _______,     _______, _______
+  ),
+};
diff --git a/layouts/community/numpad_5x6/drashna/rules.mk b/layouts/community/numpad_5x6/drashna/rules.mk
new file mode 100644 (file)
index 0000000..ed6fa8c
--- /dev/null
@@ -0,0 +1,9 @@
+AUDIO_ENABLE      = no
+RGBLIGHT_ENABLE   = yes
+BACKLIGHT_ENABLE  = no
+NO_SECRETS        = yes
+BOOTMAGIC_ENABLE  = lite
+INDICATOR_LIGHTS  = no
+RGBLIGHT_TWINKLE  = yes
+MACROS_ENABLED    = no
+MAKE_BOOTLOADER   = yes
diff --git a/layouts/community/numpad_5x6/layout.json b/layouts/community/numpad_5x6/layout.json
new file mode 100644 (file)
index 0000000..7264cd5
--- /dev/null
@@ -0,0 +1,6 @@
+["","","",""],
+[{y:0.5},"","","",""],
+["","","",{h:2},""],
+["","",""],
+["","","",{h:2},""],
+[{w:2},"",""]
diff --git a/layouts/community/numpad_5x6/readme.md b/layouts/community/numpad_5x6/readme.md
new file mode 100644 (file)
index 0000000..147097c
--- /dev/null
@@ -0,0 +1,3 @@
+# numpad_5x6
+
+    LAYOUT_numpad_5x6
index 55862aec36e1eb6741f9d5aebc13a976f0a8adea..f648d112790612f79ad08776237bfcf10f525272 100644 (file)
@@ -2,9 +2,9 @@
 
 
 #if defined(RGBLIGHT_ENABLE) && !defined(RGBLED_NUM)
-#define RGB_DI_PIN D3
-#define RGBLED_NUM 16     // Number of LEDs
-
+#define RGB_DI_PIN B3
+#define RGBLED_NUM 13     // Number of LEDs
+#define RGBLIGHT_ANIMATIONS
 #define RGBLIGHT_HUE_STEP 12
 #define RGBLIGHT_SAT_STEP 12
 #define RGBLIGHT_VAL_STEP 12
 #define RGB_MATRIX_KEYPRESSES // reacts to keypresses (will slow down matrix scan by a lot)
 // #define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (not recommened)
 // #define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
-// #define RGB_DISABLE_WHEN_USB_SUSPENDED false // turn off effects when suspended
+#define RGB_DISABLE_WHEN_USB_SUSPENDED true// turn off effects when suspended
 // #define RGB_MATRIX_SKIP_FRAMES 1 // number of frames to skip when displaying animations (0 is full effect) if not defined defaults to 1
 // #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200 // limits maximum brightness of LEDs to 200 out of 255. If not defined maximum brightness is set to 255
-// #define EECONFIG_RGB_MATRIX (uint32_t *)16
+#define EECONFIG_RGB_MATRIX (uint32_t *)15
 #endif
 
 #if defined(KEYBOARD_lets_split_rev2)
index f5ead81da2ad167856efa609a34b74232c77ee2f..28da1b204279f1cc3807e994266ef09965e6b3ca 100644 (file)
 
 #ifdef RGB_MATRIX_ENABLE
 extern bool g_suspend_state;
+extern rgb_config_t rgb_matrix_config;
 #endif
+#ifdef RGBLIGHT_ENABLE
+extern rgblight_config_t rgblight_config;
+#endif
+
 
 #ifdef BACKLIGHT_ENABLE
 enum planck_keycodes {
@@ -162,13 +167,13 @@ bool music_mask_user(uint16_t keycode) {
 
 #ifdef RGB_MATRIX_ENABLE
 
-void suspend_power_down_keymap(void)
-{
+void suspend_power_down_keymap(void) {
     rgb_matrix_set_suspend_state(true);
+    rgb_matrix_config.enable = false;
 }
 
-void suspend_wakeup_init_keymap(void)
-{
+void suspend_wakeup_init_keymap(void) {
+    rgb_matrix_config.enable = true;
     rgb_matrix_set_suspend_state(false);
 }
 
@@ -188,7 +193,14 @@ void rgb_matrix_indicators_user(void) {
   uint8_t this_mod = get_mods();
   uint8_t this_led = host_keyboard_leds();
   uint8_t this_osm = get_oneshot_mods();
-  if (!g_suspend_state) {
+
+  if (!g_suspend_state && userspace_config.rgb_layer_change &&
+#if defined(RGBLIGHT_ENABLE) && defined(RGB_MATRIX_ENABLE)
+    (!rgblight_config.enable && rgb_matrix_config.enable)
+#else
+    rgb_matrix_config.enable
+#endif
+    ) {
     switch (biton32(layer_state)) {
       case _RAISE:
         rgb_matrix_layer_helper(0xFF, 0xFF, 0x00, false); break;
@@ -228,27 +240,26 @@ void rgb_matrix_indicators_user(void) {
     case _WORKMAN:
       rgb_matrix_set_color(42, 0xD9, 0xA5, 0x21); break;
   }
-
-  if (this_mod & MODS_SHIFT_MASK || this_led & (1<<USB_LED_CAPS_LOCK) || this_osm & MODS_SHIFT_MASK) {
+  if ( (this_mod | this_osm) & MOD_MASK_SHIFT || this_led & (1<<USB_LED_CAPS_LOCK)) {
     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) {
+  if ( (this_mod | this_osm) & MOD_MASK_CTRL) {
     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) {
+  if ( (this_mod | this_osm) & MOD_MASK_GUI) {
     rgb_matrix_set_color(39, 0xFF, 0xD9, 0x00);
   }
-  if (this_mod & MODS_ALT_MASK || this_osm & MODS_ALT_MASK) {
+  if ( (this_mod | this_osm) & MOD_MASK_ALT) {
     rgb_matrix_set_color(38, 0x00, 0x00, 0xFF);
   }
 }
 
 void matrix_init_keymap(void) {
-  rgblight_mode(RGB_MATRIX_MULTISPLASH);
+  // rgblight_mode(RGB_MATRIX_MULTISPLASH);
 }
 #else //RGB_MATRIX_INIT
 
@@ -290,15 +301,13 @@ void encoder_update(bool clockwise) {
 #endif // ENCODER_ENABLE
 
 #ifdef KEYBOARD_planck_rev6
-extern audio_config_t audio_config;
-
 void dip_update(uint8_t index, bool active) {
   switch (index) {
     case 0:
-      audio_config.enable = active;
+      if(active) { audio_on(); } else { audio_off(); }
       break;
     case 1:
-      audio_config.clicky_enable = active;
+      if(active) { clicky_on(); } else { clicky_off(); }
       break;
     case 2:
       keymap_config.swap_lalt_lgui = keymap_config.swap_ralt_rgui = active;
index a5429b8ffbab2733b4af13fb635012007383ec0a..f8804326745e13aa3515c3b852eb9294a677e462 100644 (file)
@@ -12,7 +12,7 @@ ifeq (,$(findstring planck/rev6,$(KEYBOARD))) # Make sure it's NOT the Planck Re
 endif
 ifneq (,$(findstring planck/light,$(KEYBOARD))) # Make sure it IS the Planck Light
   RGB_MATRIX_ENABLE   = yes
-  RGBLIGHT_ENABLE     = no
+  RGBLIGHT_ENABLE     = yes
 endif
 
 ifeq ($(strip $(PROTOCOL)), VUSB)
index 2e125d1e4ef042639e94b393201a1a504fdd8bc2..2abd326dac94aeba36a104fd8cb60e1a9990b287 100644 (file)
   // #ifdef RGBLIGHT_ENABLE
   // #define NO_MUSIC_MODE
   // #endif //RGBLIGHT_ENABLE/
-  #ifndef __arm__
-    #undef  NOTE_REST
-    #define NOTE_REST         1.00f
-  #endif // !__arm__
+  // #ifndef __arm__
+  //   #undef  NOTE_REST
+  //   #define NOTE_REST         1.00f
+  // #endif // !__arm__
 
 #define UNICODE_SONG_OSX SONG(RICK_ROLL)
 #define UNICODE_SONG_LNX SONG(RICK_ROLL)
index 8019f26676f2ade937eac21800ace54a962999a1..6968a4b9285866db4939a841d6c1f0e030f7355a 100644 (file)
@@ -144,9 +144,9 @@ void shutdown_user (void) {
     rgblight_setrgb_red();
   #endif // RGBLIGHT_ENABLE
   #ifdef RGB_MATRIX_ENABLE
-    uint16_t timer_start = timer_read();
-    rgb_matrix_set_color_all( 0xFF, 0x00, 0x00 );
-    while(timer_elapsed(timer_start) < 250) { wait_ms(1); }
+    // uint16_t timer_start = timer_read();
+    // rgb_matrix_set_color_all( 0xFF, 0x00, 0x00 );
+    // while(timer_elapsed(timer_start) < 250) { wait_ms(1); }
   #endif //RGB_MATRIX_ENABLE
   shutdown_keymap();
 }
index ca55198e3eb185c3202288f64655edd828fb0a48..c19b189434694352fab9b81dff6bd50f09b6b85c 100644 (file)
@@ -53,11 +53,6 @@ enum userspace_layers {
 /*
 define modifiers here, since MOD_* doesn't seem to work for these
  */
-#define MODS_SHIFT_MASK  (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT))
-#define MODS_CTRL_MASK  (MOD_BIT(KC_LCTL)|MOD_BIT(KC_RCTRL))
-#define MODS_ALT_MASK  (MOD_BIT(KC_LALT)|MOD_BIT(KC_RALT))
-#define MODS_GUI_MASK  (MOD_BIT(KC_LGUI)|MOD_BIT(KC_RGUI))
-
 
 
 bool mod_key_press_timer (uint16_t code, uint16_t mod_code, bool pressed);
index 73cad92f60e7ff71edfeeb828e31d2559f851753..2d9025b375b78ccb6d7f1631dc071a2b6d6e51bf 100644 (file)
@@ -12,7 +12,6 @@ bool process_record_secrets(uint16_t keycode, keyrecord_t *record) {
   return true;
 }
 
-
 // Defines actions tor my global custom keycodes. Defined in drashna.h file
 // Then runs the _keymap's record handier if not processed here
 bool process_record_user(uint16_t keycode, keyrecord_t *record) {
@@ -35,30 +34,28 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
 
   case KC_MAKE:  // Compiles the firmware, and adds the flash command based on keyboard bootloader
     if (!record->event.pressed) {
-      #if !defined(KEYBOARD_viterbi)
-        uint8_t temp_mod = get_mods();
-        uint8_t temp_osm = get_oneshot_mods();
-        clear_mods(); clear_oneshot_mods();
-      #endif
+      uint8_t temp_mod = get_mods();
+      uint8_t temp_osm = get_oneshot_mods();
+      clear_mods(); clear_oneshot_mods();
       send_string_with_delay_P(PSTR("make " QMK_KEYBOARD ":" QMK_KEYMAP), MACRO_TIMER);
-      #if defined(KEYBOARD_viterbi)
-        send_string_with_delay_P(PSTR(":dfu" SS_TAP(X_ENTER)), MACRO_TIMER);
-      #else
-        if (temp_mod & MODS_SHIFT_MASK || temp_osm & MODS_SHIFT_MASK) {
-          #if defined(__arm__)
-            send_string_with_delay_P(PSTR(":dfu-util"), MACRO_TIMER);
-          #elif defined(BOOTLOADER_DFU)
-            send_string_with_delay_P(PSTR(":dfu"), MACRO_TIMER);
-          #elif defined(BOOTLOADER_HALFKAY)
-            send_string_with_delay_P(PSTR(":teensy"), MACRO_TIMER);
-          #elif defined(BOOTLOADER_CATERINA)
-            send_string_with_delay_P(PSTR(":avrdude"), MACRO_TIMER);
-          #endif // bootloader options
-        }
-        if (temp_mod & MODS_CTRL_MASK || temp_osm & MODS_CTRL_MASK) { send_string_with_delay_P(PSTR(" -j8 --output-sync"), MACRO_TIMER); }
-        send_string_with_delay_P(PSTR(SS_TAP(X_ENTER)), MACRO_TIMER);
-        set_mods(temp_mod);
-      #endif
+#ifndef MAKE_BOOTLOADER
+      if ( ( temp_mod | temp_osm ) & MOD_MASK_SHIFT )
+#endif
+      {
+        #if defined(__arm__)
+          send_string_with_delay_P(PSTR(":dfu-util"), MACRO_TIMER);
+        #elif defined(BOOTLOADER_DFU)
+          send_string_with_delay_P(PSTR(":dfu"), MACRO_TIMER);
+        #elif defined(BOOTLOADER_HALFKAY)
+          send_string_with_delay_P(PSTR(":teensy"), MACRO_TIMER);
+        #elif defined(BOOTLOADER_CATERINA)
+          send_string_with_delay_P(PSTR(":avrdude"), MACRO_TIMER);
+        #endif // bootloader options
+       }
+      if ( ( temp_mod | temp_osm ) & MOD_MASK_CTRL) { send_string_with_delay_P(PSTR(" -j8 --output-sync"), MACRO_TIMER); }
+      send_string_with_delay_P(PSTR(SS_TAP(X_ENTER)), MACRO_TIMER);
+      set_mods(temp_mod);
+      set_oneshot_mods(temp_osm);
     }
     break;
 
index 7eaa7e94918b6b846f3f3432f6106a365da87a94..a98ad590cc73ec27f1d6c57aa38d4f81b8974d22 100644 (file)
@@ -4,6 +4,7 @@
 
 #if defined(RGBLIGHT_ENABLE)
 extern rgblight_config_t rgblight_config;
+bool has_initialized;
 #elif defined(RGB_MATRIX_ENABLE)
 extern rgb_config_t rgb_matrix_config;
 #endif
@@ -17,7 +18,7 @@ void rgblight_sethsv_default_helper(uint8_t index) {
 #ifdef INDICATOR_LIGHTS
 void set_rgb_indicators(uint8_t this_mod, uint8_t this_led, uint8_t this_osm) {
   if (userspace_config.rgb_layer_change && biton32(layer_state) == 0) {
-    if (this_mod & MODS_SHIFT_MASK || this_led & (1<<USB_LED_CAPS_LOCK) || this_osm & MODS_SHIFT_MASK) {
+    if ( (this_mod | this_osm) & MOD_MASK_SHIFT || this_led & (1<<USB_LED_CAPS_LOCK) ) {
       #ifdef SHFT_LED1
         rgblight_sethsv_at(120, 255, 255, SHFT_LED1);
       #endif // SHFT_LED1
@@ -32,7 +33,7 @@ void set_rgb_indicators(uint8_t this_mod, uint8_t this_led, uint8_t this_osm) {
         rgblight_sethsv_default_helper(SHFT_LED2);
       #endif // SHFT_LED2
     }
-    if (this_mod & MODS_CTRL_MASK || this_osm & MODS_CTRL_MASK) {
+    if ( (this_mod | this_osm) & MOD_MASK_CTRL) {
       #ifdef CTRL_LED1
         rgblight_sethsv_at(0, 255, 255, CTRL_LED1);
       #endif // CTRL_LED1
@@ -47,7 +48,7 @@ void set_rgb_indicators(uint8_t this_mod, uint8_t this_led, uint8_t this_osm) {
         rgblight_sethsv_default_helper(CTRL_LED2);
       #endif // CTRL_LED2
     }
-    if (this_mod & MODS_GUI_MASK || this_osm & MODS_GUI_MASK) {
+    if ( (this_mod | this_osm) & MOD_MASK_GUI) {
       #ifdef GUI_LED1
         rgblight_sethsv_at(51, 255, 255, GUI_LED1);
       #endif // GUI_LED1
@@ -62,7 +63,7 @@ void set_rgb_indicators(uint8_t this_mod, uint8_t this_led, uint8_t this_osm) {
         rgblight_sethsv_default_helper(GUI_LED2);
       #endif // GUI_LED2
     }
-    if (this_mod & MODS_ALT_MASK || this_osm & MODS_ALT_MASK) {
+    if ( (this_mod | this_osm) & MOD_MASK_ALT) {
       #ifdef ALT_LED1
         rgblight_sethsv_at(240, 255, 255, ALT_LED1);
       #endif // ALT_LED1
@@ -81,7 +82,9 @@ void set_rgb_indicators(uint8_t this_mod, uint8_t this_led, uint8_t this_osm) {
 }
 
 void matrix_scan_indicator(void) {
-  set_rgb_indicators(get_mods(), host_keyboard_leds(), get_oneshot_mods());
+  if (has_initialized) {
+    set_rgb_indicators(get_mods(), host_keyboard_leds(), get_oneshot_mods());
+  }
 }
 #endif //INDICATOR_LIGHTS
 
@@ -244,22 +247,16 @@ bool process_record_user_rgb(uint16_t keycode, keyrecord_t *record) {
 
 
 void keyboard_post_init_rgb(void) {
-
 #ifdef RGBLIGHT_ENABLE
-  if (userspace_config.rgb_layer_change) {
-    rgblight_enable_noeeprom();
-    switch (biton32(eeconfig_read_default_layer())) {
-      case _COLEMAK:
-        rgblight_sethsv_noeeprom_magenta(); break;
-      case _DVORAK:
-        rgblight_sethsv_noeeprom_springgreen(); break;
-      case _WORKMAN:
-        rgblight_sethsv_noeeprom_goldenrod(); break;
-      default:
-        rgblight_sethsv_noeeprom_cyan(); break;
-    }
-    rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT);
-  }
+       rgblight_enable_noeeprom();
+       layer_state_set_user(layer_state);
+  uint16_t old_hue = rgblight_config.hue;
+       rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT);
+       for (uint16_t i = 360; i > 0; i--) {
+               rgblight_sethsv_noeeprom( ( i + old_hue) % 360, 255, 255);
+    wait_ms(10);
+       }
+       layer_state_set_user(layer_state);
 #endif
 }
 
index 6d8612e71ae8b572154abbede89cfd7e378dd8eb..5050704a53b3571464774cbcdc467ff23535da63 100644 (file)
@@ -42,3 +42,7 @@ ifdef CONSOLE_ENABLE
     OPT_DEFS += -DKEYLOGGER_ENABLE
   endif
 endif
+
+ifeq ($(strip $(MAKE_BOOTLOADER)), yes)
+    OPT_DEFS += -DMAKE_BOOTLOADER
+endif