]> git.donarmstrong.com Git - qmk_firmware.git/commitdiff
[Keymap] RGB Changes for Drashna Keyboards (#5803)
authorDrashna Jaelre <drashna@live.com>
Tue, 7 May 2019 05:34:09 +0000 (22:34 -0700)
committerMechMerlin <30334081+mechmerlin@users.noreply.github.com>
Tue, 7 May 2019 05:34:09 +0000 (22:34 -0700)
* Disable a bunch of reactive modes

* Enable rgb matrix for Corne Keyboard

* Convert CRKBD to rgb matrix

* Add Gergo keyboard layout

* Make Diablo 3 tap dance better

* Add basic support for Planck EZ

* Fix RGB Matrix stuff

* Fix keycodes for Planck EZ

* Update CRKBD OLED stuff

* Fix typo for sleep on ergodox glow

* Improve my gergo layout

* Scrolling OLED key logger!

* Change gergo layout

* Hnadle unicode keycodes if unicode is disabled

* Disable COMMAND/CONSOLE for gergo

* Fix right side control

* Re-enable LTO for all platforms

Since I got updated arm gcc binaries that no longer error out on lto

* Update formatting to match newer community standards

Poor 2 space

* Re-alight startup animation to use new HUE range

* Streamline gitlab ci scripts

* Disabled Space Cadet

* Add support for breathing table

* Enable new LTO Option

And clean up defines that will now be repeatitive

* Remove vscode settings

* Additional formatting cleanup of config.h files

38 files changed:
keyboards/crkbd/keymaps/drashna/config.h
keyboards/crkbd/keymaps/drashna/keymap.c
keyboards/crkbd/keymaps/drashna/rules.mk
keyboards/gergo/keymaps/drashna/keymap.c
keyboards/gergo/keymaps/drashna/rules.mk
keyboards/keebio/iris/keymaps/drashna/config.h
keyboards/keebio/iris/keymaps/drashna/keymap.c
keyboards/keebio/iris/keymaps/drashna/rules.mk
keyboards/keebio/iris/keymaps/drashna_lp/config.h
keyboards/keebio/iris/keymaps/drashna_old/config.h
keyboards/keebio/viterbi/keymaps/drashna/config.h
keyboards/keebio/viterbi/keymaps/drashna/rules.mk
keyboards/keebio/viterbi/keymaps/drashna_old/config.h
keyboards/orthodox/keymaps/drashna/config.h
keyboards/orthodox/keymaps/drashna/keymap.c
keyboards/orthodox/keymaps/drashna/rules.mk
layouts/community/ergodox/drashna/config.h
layouts/community/ergodox/drashna/keymap.c
layouts/community/ergodox/drashna/rules.mk
layouts/community/ergodox/drashna_glow/config.h
layouts/community/numpad_5x6/drashna/config.h
layouts/community/ortho_4x12/drashna/config.h
layouts/community/ortho_4x12/drashna/keymap.c
layouts/community/ortho_4x12/drashna/rules.mk
layouts/community/ortho_5x12/drashna/config.h
users/drashna/.gitlab-ci.yml
users/drashna/config.h
users/drashna/drashna.c
users/drashna/drashna.h
users/drashna/process_records.c
users/drashna/process_records.h
users/drashna/rgb_stuff.c
users/drashna/rgblight_breathe_table.h [new file with mode: 0644]
users/drashna/rules.mk
users/drashna/send_unicode.h
users/drashna/tap_dances.c
users/drashna/tap_dances.h
users/drashna/wrappers.h

index 6f2665f3acb0127bd77f60ce33c4bcafdaf58465..0b035ba3c36425be76387dc139184c129a0e0181 100644 (file)
@@ -27,7 +27,8 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 // #define MASTER_RIGHT
 #define EE_HANDS
 
-// #define SSD1306OLED
+#undef USE_I2C
+#undef SSD1306OLED
 
 #define USE_SERIAL_PD2
 
@@ -35,17 +36,42 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 // #define TAPPING_TERM 100
 
 #ifdef RGBLIGHT_ENABLE
-#undef RGBLED_NUM
-#define RGBLED_NUM 27
+#   undef RGBLED_NUM
+#   define RGBLED_NUM 27
 
-#define RGBLIGHT_HUE_STEP 8
-#define RGBLIGHT_SAT_STEP 8
-#define RGBLIGHT_VAL_STEP 8
-#define RGBLIGHT_LIMIT_VAL 100
+#   define RGBLIGHT_HUE_STEP 8
+#   define RGBLIGHT_SAT_STEP 8
+#   define RGBLIGHT_VAL_STEP 8
+#   define RGBLIGHT_LIMIT_VAL 100
 #endif
 
+#ifdef RGB_MATRIX_ENABLE
+#   define RGB_MATRIX_KEYPRESSES // reacts to keypresses
+#   define RGB_DISABLE_WHEN_USB_SUSPENDED true // turn off effects when suspended
+
+#   define DISABLE_RGB_MATRIX_GRADIENT_UP_DOWN
+#   define DISABLE_RGB_MATRIX_CYCLE_ALL
+#   define DISABLE_RGB_MATRIX_CYCLE_UP_DOWN
+#   define DISABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
+#   define DISABLE_RGB_MATRIX_DUAL_BEACON
+#   define DISABLE_RGB_MATRIX_RAINBOW_BEACON
+#   define DISABLE_RGB_MATRIX_RAINBOW_PINWHEELS
+// #define DISABLE_RGB_MATRIX_RAINDROPS
+// #define DISABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
+#   define DISABLE_RGB_MATRIX_DIGITAL_RAIN
+#   define DISABLE_RGB_MATRIX_SOLID_REACTIVE
+#   define DISABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
+#   define DISABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
+#   define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
+#   define DISABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
+#   define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
+#   define DISABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
+#   define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
+#   define DISABLE_RGB_MATRIX_SOLID_SPLASH
+#   define DISABLE_RGB_MATRIX_SOLID_MULTISPLASH
+
 #ifdef AUDIO_ENABLE
-#define B6_AUDIO
+#   define B6_AUDIO
 // #define NO_MUSIC_MODE
 #endif
 
index aaace9483aa853ae4f5787de1469042a55c0ea76..3eea7af9f979332daa10b43fe3cf56e5dac37304 100644 (file)
@@ -1,15 +1,5 @@
 #include QMK_KEYBOARD_H
 #include "drashna.h"
-#ifdef PROTOCOL_LUFA
-  #include "lufa.h"
-  #include "split_util.h"
-#endif
-#ifdef SSD1306OLED
-  #include "ssd1306.h"
-#endif
-#ifdef OLED_DRIVER_ENABLE
-  #include "oled_driver.h"
-#endif
 
 extern keymap_config_t keymap_config;
 extern uint8_t is_master;
@@ -20,7 +10,7 @@ extern rgblight_config_t rgblight_config;
 #endif
 
 enum crkbd_keycodes {
-  RGBRST = NEW_SAFE_RANGE
+    RGBRST = NEW_SAFE_RANGE
 };
 
 #define LAYOUT_crkbd_base( \
@@ -31,7 +21,7 @@ enum crkbd_keycodes {
   LAYOUT_wrapper( \
     KC_ESC,  K01,    K02,     K03,      K04,     K05,                        K06,     K07,     K08,     K09,     K0A,     KC_MINS, \
     KC_TAB, ALT_T(K11),  K12, K13,      K14,     K15,                        K16,     K17,     K18,     K19,     K1A, RGUI_T(KC_QUOT), \
-    OS_LSFT, CTL_T(K21), K22, K23,      K24,     K25,                        K26,     K27,     K28,     K29,  CTL_T(K2A), OS_RSFT, \
+    OS_LSFT, CTL_T(K21), K22, K23,      K24,     K25,                        K26,     K27,     K28,     K29, RCTL_T(K2A), OS_RSFT, \
                            LT(_LOWER,KC_GRV), KC_SPC,  KC_BSPC,     KC_DEL,  KC_ENT,  RAISE                                        \
   )
 #define LAYOUT_crkbd_base_wrapper(...)       LAYOUT_crkbd_base(__VA_ARGS__)
@@ -115,35 +105,38 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 };
 
 void matrix_init_keymap(void) {
-  //SSD1306 OLED init, make sure to add #define SSD1306OLED in config.h
-  #ifdef SSD1306OLED
-    iota_gfx_init(!has_usb());   // turns on the display
-  #endif
-
-  #ifndef CONVERT_TO_PROTON_C
+#ifndef CONVERT_TO_PROTON_C
     setPinOutput(D5);
     writePinHigh(D5);
 
     setPinOutput(B0);
     writePinHigh(B0);
-  #endif
+#endif
 }
 
-//SSD1306 OLED update loop, make sure to add #define SSD1306OLED in config.h
-#ifdef SSD1306OLED
 
-// When add source files to SRC in rules.mk, you can use functions.
-const char *read_logo(void);
-char layer_state_str[24];
-char modifier_state_str[24];
-char host_led_state_str[24];
-char keylog_str[24] = {};
-char keylogs_str[21] = {};
-int keylogs_str_idx = 0;
+#ifdef OLED_DRIVER_ENABLE
+oled_rotation_t oled_init_user(oled_rotation_t rotation) {
+    if (is_master) {
+        return OLED_ROTATION_270;
+    } else {
+        return rotation;
+    }
+}
+
+void render_crkbd_logo(void) {
+    static const char PROGMEM crkbd_logo[] = {
+        0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, 0x90, 0x91, 0x92, 0x93, 0x94,
+        0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf, 0xb0, 0xb1, 0xb2, 0xb3, 0xb4,
+        0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, 0xd0, 0xd1, 0xd2, 0xd3, 0xd4,
+        0};
+    oled_write_P(crkbd_logo, false);
+}
 
-// const char *read_mode_icon(bool swap);
-// void set_timelog(void);
-// const char *read_timelog(void);
+#define KEYLOG_LEN (int)(32 / OLED_FONT_WIDTH)
+char keylog_str[KEYLOG_LEN] = {};
+uint8_t keylogs_str_idx = 0;
+uint16_t log_timer = 0;
 
 const char code_to_name[60] = {
     ' ', ' ', ' ', ' ', 'a', 'b', 'c', 'd', 'e', 'f',
@@ -153,261 +146,124 @@ const char code_to_name[60] = {
     'R', 'E', 'B', 'T', '_', '-', '=', '[', ']', '\\',
     '#', ';', '\'', '`', ',', '.', '/', ' ', ' ', ' '};
 
-void set_keylog(uint16_t keycode, keyrecord_t *record) {
-  char name = ' ';
-  if ((keycode >= QK_MOD_TAP && keycode <= QK_MOD_TAP_MAX) || (keycode >= QK_LAYER_TAP && keycode <= QK_LAYER_TAP_MAX)) { keycode = keycode & 0xFF; }
-  if (keycode < 60) {
-    name = code_to_name[keycode];
-  }
-  // update keylog
-  snprintf(keylog_str, sizeof(keylog_str), "%dx%d, k%2d : %c",
-           record->event.key.row, record->event.key.col,
-           keycode, name);
-
-  // update keylogs
-  if (keylogs_str_idx == sizeof(keylogs_str) - 1) {
-    keylogs_str_idx = 0;
-    for (int i = 0; i < sizeof(keylogs_str) - 1; i++) {
-      keylogs_str[i] = ' ';
-    }
-  }
-
-  keylogs_str[keylogs_str_idx] = name;
-  keylogs_str_idx++;
-}
+void add_keylog(uint16_t keycode) {
+    if ((keycode >= QK_MOD_TAP && keycode <= QK_MOD_TAP_MAX) ||
+        (keycode >= QK_LAYER_TAP && keycode <= QK_LAYER_TAP_MAX)) { keycode = keycode & 0xFF; }
 
-const char *read_keylog(void) {
-  return keylog_str;
+    for (uint8_t i = KEYLOG_LEN - 1; i > 0; i--) {
+        keylog_str[i] = keylog_str[i - 1];
+    }
+    if (keycode < 60) {
+        keylog_str[0] = code_to_name[keycode];
+    }
+    log_timer = timer_read();
 }
 
-const char *read_keylogs(void) {
-  return keylogs_str;
+void update_log(void) {
+    if (timer_elapsed(log_timer) > 750) {
+        add_keylog(0);
+    }
 }
 
 
-const char* read_modifier_state(void) {
-  uint8_t modifiers = get_mods();
-  uint8_t one_shot = get_oneshot_mods();
-
-  snprintf(modifier_state_str, sizeof(modifier_state_str), "Mods:%s %s %s %s",
-    (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;
+bool process_record_keymap(uint16_t keycode, keyrecord_t *record) {
+    if (record->event.pressed) {  add_keylog(keycode); }
+    return true;
 }
 
-const char *read_host_led_state(void) {
-  uint8_t leds = host_keyboard_leds();
-
-  snprintf(host_led_state_str, sizeof(host_led_state_str), "NL:%s CL:%s SL:%s",
-    (leds & (1 << USB_LED_NUM_LOCK)) ? "on" : "- ",
-    (leds & (1 << USB_LED_CAPS_LOCK)) ? "on" : "- ",
-    (leds & (1 << USB_LED_SCROLL_LOCK)) ? "on" : "- "
-  );
-
-  return host_led_state_str;
-}
+void render_status(void) {
 
-const char* read_layer_state(void) {
-  switch (biton32(layer_state)) {
-    case _RAISE:
-      snprintf(layer_state_str, sizeof(layer_state_str), "Layer: Raise  ");
-      break;
-    case _LOWER:
-      snprintf(layer_state_str, sizeof(layer_state_str), "Layer: Lower  ");
-      break;
-    case _ADJUST:
-      snprintf(layer_state_str, sizeof(layer_state_str), "Layer: Adjust ");
-      break;
-    default:
-      switch (biton32(default_layer_state)) {
+    oled_write_P(PSTR("Layer"), false);
+    switch (biton32(layer_state)) {
+        case 0:
+            oled_write_P(PSTR("Base "), false);
+            break;
+        case _RAISE:
+            oled_write_P(PSTR("Raise"), false);
+            break;
+        case _LOWER:
+            oled_write_P(PSTR("Lower"), false);
+            break;
+        case _ADJUST:
+            oled_write_P(PSTR("Adjst"), false);
+            break;
+        default:
+            oled_write_P(PSTR("Unkn "), false);
+            break;
+    }
+    oled_write_P(PSTR("Lyout"), false);
+    switch (biton32(default_layer_state)) {
         case _QWERTY:
-          snprintf(layer_state_str, sizeof(layer_state_str), "Layer: Qwerty ");
-          break;
+            oled_write_P(PSTR("QWRTY"), false);
+            break;
         case _COLEMAK:
-          snprintf(layer_state_str, sizeof(layer_state_str), "Layer: Colemak");
-          break;
+            oled_write_P(PSTR("COLMK"), false);
+            break;
         case _DVORAK:
-          snprintf(layer_state_str, sizeof(layer_state_str), "Layer: Dvorak ");
-          break;
+            oled_write_P(PSTR("DVRAK"), false);
+            break;
         case _WORKMAN:
-          snprintf(layer_state_str, sizeof(layer_state_str), "Layer: Workman");
-          break;
-      }
-      break;
-  }
-
-    return layer_state_str;
-}
-
-void matrix_scan_keymap(void) {
-   iota_gfx_task();
-}
-
-void matrix_render_user(struct CharacterMatrix *matrix) {
-  if (is_master) {
-    //If you want to change the display of OLED, you need to change here
-    matrix_write_ln(matrix, read_layer_state());
-    matrix_write_ln(matrix, read_modifier_state());
-    // 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_ln(matrix, read_timelog());
-  } else {
-    matrix_write(matrix, read_logo());
-  }
-}
-
-void matrix_update(struct CharacterMatrix *dest, const struct CharacterMatrix *source) {
-  if (memcmp(dest->display, source->display, sizeof(dest->display))) {
-    memcpy(dest->display, source->display, sizeof(dest->display));
-    dest->dirty = true;
-  }
-}
-
-void iota_gfx_task_user(void) {
-  struct CharacterMatrix matrix;
-  matrix_clear(&matrix);
-  matrix_render_user(&matrix);
-  matrix_update(&display, &matrix);
-}
-
-bool process_record_keymap(uint16_t keycode, keyrecord_t *record) {
-  switch (keycode) {
-    case KC_A ... KC_SLASH:
-    case KC_F1 ... KC_F12:
-    case KC_INSERT ... KC_UP:
-    case KC_KP_SLASH ... KC_KP_DOT:
-    case KC_F13 ... KC_F24:
-    if (record->event.pressed) { set_keylog(keycode, record); }
-      break;
-    // set_timelog();
-  }
-  return true;
-}
+            oled_write_P(PSTR("WRKMN"), false);
+            break;
+        case _NORMAN:
+            oled_write_P(PSTR("NORMN"), false);
+            break;
+        case _MALTRON:
+            oled_write_P(PSTR("MLTRN"), false);
+            break;
+        case _EUCALYN:
+            oled_write_P(PSTR("ECLYN"), false);
+            break;
+        case _CARPLAX:
+            oled_write_P(PSTR("CRPLX"), false);
+            break;
+    }
 
-#endif
+    uint8_t modifiers = get_mods();
+    uint8_t one_shot = get_oneshot_mods();
 
+    oled_write_P(PSTR("Mods:"), false);
+    oled_write_P( (modifiers & MOD_MASK_SHIFT || one_shot & MOD_MASK_SHIFT) ? PSTR(" SFT ") : PSTR("     "), false);
+    oled_write_P( (modifiers & MOD_MASK_CTRL  || one_shot & MOD_MASK_CTRL ) ? PSTR(" CTL ") : PSTR("     "), false);
+    oled_write_P( (modifiers & MOD_MASK_ALT   || one_shot & MOD_MASK_ALT  ) ? PSTR(" ALT ") : PSTR("     "), false);
+    oled_write_P( (modifiers & MOD_MASK_GUI   || one_shot & MOD_MASK_GUI  ) ? PSTR(" GUI ") : PSTR("     "), false);
 
-#ifdef OLED_DRIVER_ENABLE
-oled_rotation_t oled_init_user(oled_rotation_t rotation) {
-  if (is_master) {
-    return OLED_ROTATION_270;
-  } else {
-    return rotation;
-  }
-}
 
-void render_crkbd_logo(void) {
-  static const char PROGMEM crkbd_logo[] = {
-      0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, 0x90, 0x91, 0x92, 0x93, 0x94,
-      0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf, 0xb0, 0xb1, 0xb2, 0xb3, 0xb4,
-      0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, 0xd0, 0xd1, 0xd2, 0xd3, 0xd4,
-      0};
-  oled_write_P(crkbd_logo, false);
-}
+    oled_write_P(PSTR("BTMGK"), false);
 
+    if (keymap_config.swap_lalt_lgui) {
+        oled_write_P(PSTR(" Mac "), false);
+    } else {
+        oled_write_P(PSTR(" Win "), false);
+    }
 
-void render_status(void) {
+    uint8_t led_usb_state = host_keyboard_leds();
+    oled_write_P(PSTR("Lock:"), false);
+    oled_write_P(led_usb_state & (1<<USB_LED_NUM_LOCK)    ? PSTR(" NUM ") : PSTR("     "), false);
+    oled_write_P(led_usb_state & (1<<USB_LED_CAPS_LOCK)   ? PSTR(" CAPS") : PSTR("     "), false);
+    oled_write_P(led_usb_state & (1<<USB_LED_SCROLL_LOCK) ? PSTR(" SCRL") : PSTR("     "), false);
 
-  oled_write_P(PSTR("Layer"), false);
-  switch (biton32(layer_state)) {
-    case 0:
-      oled_write_P(PSTR("Base "), false);
-      break;
-    case _RAISE:
-      oled_write_P(PSTR("Raise"), false);
-      break;
-    case _LOWER:
-      oled_write_P(PSTR("Lower"), false);
-      break;
-    case _ADJUST:
-      oled_write_P(PSTR("Adjst"), false);
-      break;
-    default:
-      oled_write_P(PSTR("Unkn "), false);
-      break;
-  }
-  oled_write_P(PSTR("Lyout"), false);
-  switch (biton32(default_layer_state)) {
-    case _QWERTY:
-      oled_write_P(PSTR("QWRTY"), false);
-      break;
-    case _COLEMAK:
-      oled_write_P(PSTR("COLMK"), false);
-      break;
-    case _DVORAK:
-      oled_write_P(PSTR("DVRAK"), false);
-      break;
-    case _WORKMAN:
-      oled_write_P(PSTR("WRKMN"), false);
-      break;
-    case _NORMAN:
-      oled_write_P(PSTR("NORMN"), false);
-      break;
-    case _MALTRON:
-      oled_write_P(PSTR("MLTRN"), false);
-      break;
-    case _EUCALYN:
-      oled_write_P(PSTR("ECLYN"), false);
-      break;
-    case _CARPLAX:
-      oled_write_P(PSTR("CRPLX"), false);
-      break;
-  }
-
-  uint8_t modifiers = get_mods();
-  uint8_t one_shot = get_oneshot_mods();
-
-  oled_write_P(PSTR("Mods:"), false);
-  oled_write_P( (modifiers & MOD_MASK_CTRL  || one_shot & MOD_MASK_CTRL ) ? PSTR(" CTL ") : PSTR("     "), false);
-  oled_write_P( (modifiers & MOD_MASK_GUI   || one_shot & MOD_MASK_GUI  ) ? PSTR(" GUI ") : PSTR("     "), false);
-  oled_write_P( (modifiers & MOD_MASK_ALT   || one_shot & MOD_MASK_ALT  ) ? PSTR(" ALT ") : PSTR("     "), false);
-  oled_write_P( (modifiers & MOD_MASK_SHIFT || one_shot & MOD_MASK_SHIFT) ? PSTR(" SFT ") : PSTR("     "), false);
-
-
-  oled_write_P(PSTR("BTMGK"), false);
-  static const char PROGMEM mode_logo[4][4] = {
-    {0x95,0x96,0x0a,0},
-    {0xb5,0xb6,0x0a,0},
-    {0x97,0x98,0x0a,0},
-    {0xb7,0xb8,0x0a,0} };
-
-  if (keymap_config.swap_lalt_lgui != false) {
-    oled_write_P(mode_logo[0], false);
-    oled_write_P(mode_logo[1], false);
-  } else {
-    oled_write_P(mode_logo[2], false);
-    oled_write_P(mode_logo[3], false);
-  }
-
-  uint8_t led_usb_state = host_keyboard_leds();
-  oled_write_P(PSTR("Lock:"), false);
-  oled_write_P(led_usb_state & (1<<USB_LED_NUM_LOCK)    ? PSTR(" NUM ") : PSTR("     "), false);
-  oled_write_P(led_usb_state & (1<<USB_LED_CAPS_LOCK)   ? PSTR(" CAPS") : PSTR("     "), false);
-  oled_write_P(led_usb_state & (1<<USB_LED_SCROLL_LOCK) ? PSTR(" SCRL") : PSTR("     "), false);
+    oled_write(keylog_str, false);
 }
 
 
 void oled_task_user(void) {
-  if (is_master) {
-    render_status();     // Renders the current keyboard state (layer, lock, caps, scroll, etc)
-  } else {
-    render_crkbd_logo();
-    oled_scroll_left();  // Turns on scrolling
-  }
+    if (is_master) {
+        render_status();     // Renders the current keyboard state (layer, lock, caps, scroll, etc)
+    } else {
+        render_crkbd_logo();
+        oled_scroll_left();  // Turns on scrolling
+    }
 }
+
+void matrix_scan_keymap(void) { update_log(); }
 #endif
 
 uint16_t get_tapping_term(uint16_t keycode) {
-  switch (keycode) {
-    case ALT_T(KC_A):
-      return TAPPING_TERM + 100;
-    default:
-      return TAPPING_TERM;
-  }
+    switch (keycode) {
+        case ALT_T(KC_A):
+            return TAPPING_TERM + 100;
+        default:
+            return TAPPING_TERM;
+    }
 }
index a9a705869ac14af8835059361f0ad7faeb4cc374..39b48f9447cc81c10de09385ca90b1e8e77df160 100644 (file)
@@ -14,9 +14,10 @@ MIDI_ENABLE                = no  # MIDI controls
 AUDIO_ENABLE               = no  # Audio output on port C6
 UNICODE_ENABLE             = no  # Unicode
 BLUETOOTH_ENABLE           = no  # Enable Bluetooth with the Adafruit EZ-Key HID
-RGBLIGHT_ENABLE            = yes # Enable WS2812 RGB underlight.
+RGBLIGHT_ENABLE            = no  # Enable WS2812 RGB underlight.
 SWAP_HANDS_ENABLE          = no  # Enable one-hand typing
 RGBLIGHT_STARTUP_ANIMATION = yes
+RGB_MATRIX_ENABLE = WS2812
 
 # Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
 SLEEP_LED_ENABLE = no    # Breathing sleep LED during USB suspend
@@ -24,3 +25,7 @@ SLEEP_LED_ENABLE = no    # Breathing sleep LED during USB suspend
 BOOTLOADER = qmk-dfu
 
 OLED_DRIVER_ENABLE = yes
+
+ifneq ($(strip $(OLED_DRIVER_ENABLE)), yes)
+    RGB_MATRIX_SPLIT_RIGHT=yes
+endif
index a882ff72d97cb758b85b525b226896c3ce5637dc..ffa23462eeff9ca83988aefd846809e4d566b42a 100644 (file)
@@ -9,23 +9,17 @@
 #include QMK_KEYBOARD_H
 #include "drashna.h"
 
-// Blank template at the bottom
 
-enum customKeycodes {
-       URL  = 1
-};
-
-#define LAYOUT_gergo_wrapper(...)       LAYOUT_gergo(__VA_ARGS__)
 #define LAYOUT_gergo_base( \
     K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, \
     K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, \
     K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A  \
   ) \
   LAYOUT_gergo_wrapper( \
-    KC_ESC,  K01,    K02,     K03,      K04,     K05,                                              K06,     K07,     K08,     K09,     K0A,    KC_PIPE,      \
-    KC_TAB, ALT_T(K11),  K12, K13,      K14,     K15,   _______,                         _______,  K16,     K17,     K18,     K19,     K1A, RGUI_T(KC_QUOT), \
-    OS_LSFT, CTL_T(K21), K22, K23,      K24,     K25,   _______, _______,       _______, _______,  K26,     K27,     K28,     K29, CTL_T(K2A), OS_RSFT,      \
-                            _______, _______, KC_SPC, LT(_LOWER, KC_BSPC),      LT(_RAISE, KC_DEL), KC_ENT, _______, _______                            \
+    KC_ESC,  K01,    K02,     K03,      K04,     K05,                                                K06,     K07,     K08,     K09,     K0A,    KC_PIPE,      \
+    KC_TAB,  K11,    K12,     K13,      K14,     K15,     _______,                         _______,  K16,     K17,     K18,     K19,     K1A,    KC_QUOT, \
+    OS_LSFT, CTL_T(K21), K22, K23,      K24,     K25,     _______, _______,       _______, _______,  K26,     K27,     K28,     K29, RCTL_T(K2A), OS_RSFT,      \
+                                       KC_GRV,   KC_SPC,  BK_LWER, OS_LALT,       OS_RGUI, DL_RAIS, KC_ENT, _______                            \
     )
 
 #define LAYOUT_gergo_base_wrapper(...)       LAYOUT_gergo_base(__VA_ARGS__)
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..ec81d11e9c5f8f34b241689e3d26c3746ebe0871 100644 (file)
@@ -0,0 +1,2 @@
+CONSOLE_ENABLE = no
+COMMAND_ENABLE = no
index 41933b0f3ff2179852e69c2a372c398425697a69..1a937b4b7c91c6e5c6d943c701453320ae35c539 100644 (file)
@@ -29,24 +29,23 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #define EE_HANDS
 
 #ifdef RGBLIGHT_ENABLE
-#undef RGBLED_NUM
-#define RGBLED_NUM 18     // Number of LEDs
-#define RGBLED_SPLIT { 9, 9 }
-#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_LIMIT_VAL 225
+#   undef RGBLED_NUM
+#   define RGBLED_NUM 18     // Number of LEDs
+#   define RGBLED_SPLIT { 9, 9 }
+#   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_LIMIT_VAL 225
 #endif // RGBLIGHT_ENABLE
 
 #ifdef AUDIO_ENABLE
-#define C6_AUDIO
-#ifdef RGBLIGHT_ENABLE
-#define NO_MUSIC_MODE
-#endif //RGBLIGHT_ENABLE
+#   define C6_AUDIO
+#   ifdef RGBLIGHT_ENABLE
+#       define NO_MUSIC_MODE
+#   endif //RGBLIGHT_ENABLE
 #endif //AUDIO_ENABLE
 
 #define QMK_ESC_OUTPUT F6 // usually COL
@@ -56,7 +55,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #undef PRODUCT
 #ifdef KEYBOARD_keebio_iris_rev2
-#define PRODUCT         Drashna Hacked Iris Rev.2
+#   define PRODUCT         Drashna Hacked Iris Rev.2
 #endif
 
 #define SHFT_LED1 6
index b306b6928a20faff4e1cf514132b957498eebcce..95092cc5210a5188f7d229a66b30477f1e5935b9 100644 (file)
@@ -12,7 +12,7 @@
      KC_ESC,  ________________NUMBER_LEFT________________,                       ________________NUMBER_RIGHT_______________, KC_MINS, \
      KC_TAB , K01,    K02,     K03,      K04,     K05,                           K06,     K07,     K08,     K09,     K0A,     KC_BSLS, \
      KC_C1R3, K11,    K12,     K13,      K14,     K15,                           K16,     K17,     K18,     K19,     K1A,     KC_QUOT, \
-     OS_LSFT, CTL_T(K21), K22, K23,      K24,     K25,     OS_LALT,     OS_RGUI, K26,     K27,     K28,     K29,  CTL_T(K2A), OS_RSFT, \
+     OS_LSFT, CTL_T(K21), K22, K23,      K24,     K25,     OS_LALT,     OS_RGUI, K26,     K27,     K28,     K29, RCTL_T(K2A), OS_RSFT, \
                              LT(_LOWER,KC_GRV), KC_SPC,  KC_BSPC,         KC_DEL,  KC_ENT,  RAISE                                      \
   )
 #define LAYOUT_iris_base_wrapper(...)       LAYOUT_iris_base(__VA_ARGS__)
@@ -113,22 +113,22 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 
 
 void matrix_init_keymap(void) {
-  #ifndef CONVERT_TO_PROTON_C
+#ifndef CONVERT_TO_PROTON_C
     setPinOutput(D5);
     writePinHigh(D5);
 
     setPinOutput(B0);
     writePinHigh(B0);
-  #endif
+#endif
 }
 
 
 void keyboard_post_init_keymap(void) {
 #if BACKLIGHT_ENABLE
-  backlight_enable();
-  backlight_level(5);
-  #ifdef BACKLIGHT_BREATHING
-    breathing_enable();
-  #endif
+    backlight_enable();
+    backlight_level(5);
+    #ifdef BACKLIGHT_BREATHING
+        breathing_enable();
+    #endif
 #endif
 }
index bac5f95f3a113241e2468786601034c2da4ddf3d..1311ab28015cbdbd14be96b05a64b2d095773a6e 100644 (file)
@@ -9,6 +9,7 @@ AUDIO_ENABLE      = no
 NKRO_ENABLE       = yes
 BACKLIGHT_ENABLE  = no
 SWAP_HANDS_ENABLE = no
+SPACE_CADET_ENABLE = no
 
 INDICATOR_LIGHTS  = no
 MACROS_ENABLED    = no
index 4e2bf729f225b1601531a0017a5e1ff0b840d764..d59890b46a397cfb0e30dacdcd7f8f4cd0b3dd49 100644 (file)
@@ -21,15 +21,15 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #include "../drashna/config.h"
 
 #ifdef RGBLIGHT_ENABLE
-#undef RGBLED_NUM
-#define RGBLED_NUM 16     // Number of LEDs
-#undef RGBLED_SPLIT
-#define RGBLED_SPLIT { 8, 8 }
+#   undef RGBLED_NUM
+#   define RGBLED_NUM 16     // Number of LEDs
+#   undef RGBLED_SPLIT
+#   define RGBLED_SPLIT { 8, 8 }
 #endif
 
 #undef PRODUCT
 #ifdef KEYBOARD_keebio_iris_rev2
-#define PRODUCT         Drashna Hacked Iris LP Rev.2 (Backlit)
+#   define PRODUCT         Drashna Hacked Iris LP Rev.2 (Backlit)
 #endif
 
 #undef SHFT_LED1
index 1b462d8cad643898262ca358bd3ddc1c203fb23b..5adf014e356b1ce5ce5c29632af9eb25f7f34483 100644 (file)
@@ -21,15 +21,15 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #include "../drashna/config.h"
 
 #ifdef RGBLIGHT_ENABLE
-#undef RGBLED_NUM
-#define RGBLED_NUM 16     // Number of LEDs
-#undef RGBLED_SPLIT
-#define RGBLED_SPLIT { 8, 8 }
+#   undef RGBLED_NUM
+#   define RGBLED_NUM 16     // Number of LEDs
+#   undef RGBLED_SPLIT
+#   define RGBLED_SPLIT { 8, 8 }
 #endif
 
 #undef PRODUCT
 #ifdef KEYBOARD_keebio_iris_rev2
-#define PRODUCT         Drashna Hacked Iris Rev.2 (16 LED)
+#   define PRODUCT         Drashna Hacked Iris Rev.2 (16 LED)
 #endif
 
 #undef SHFT_LED1
index c0a50cc04b20f69fe243d668e8d3b56168770ed5..201c02e4199b8aeb1c43b3b5d65cb88578a579ab 100644 (file)
@@ -21,35 +21,25 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #define MATRIX_ROWS 5
 
 #ifdef RGBLIGHT_ENABLE
-#undef RGBLED_NUM
-#define RGBLED_NUM 16
-
-#define RGBLIGHT_HUE_STEP 8
-#define RGBLIGHT_SAT_STEP 8
-#define RGBLIGHT_VAL_STEP 8
-#define RGBLIGHT_EFFECT_KNIGHT_LENGTH 2
-#define RGBLIGHT_EFFECT_SNAKE_LENGTH 2
-#define RGBLIGHT_EFFECT_BREATHE_CENTER 1
+#   undef RGBLED_NUM
+#   define RGBLED_NUM 16
+
+#   define RGBLIGHT_HUE_STEP 8
+#   define RGBLIGHT_SAT_STEP 8
+#   define RGBLIGHT_VAL_STEP 8
+#   define RGBLIGHT_EFFECT_KNIGHT_LENGTH 2
+#   define RGBLIGHT_EFFECT_SNAKE_LENGTH 2
 #endif // RGBLIGHT_ENABLE
 
 
-#undef LOCKING_SUPPORT_ENABLE
-#undef LOCKING_RESYNC_ENABLE
-
 
-/* disable action features */
-//#define NO_ACTION_LAYER
-//#define NO_ACTION_TAPPING
-//#define NO_ACTION_ONESHOT
-//#define NO_ACTION_MACRO
-//#define NO_ACTION_FUNCTION
 
 #undef PRODUCT
 #define PRODUCT   Drashnas Viterbi Macro Pad
 
 #ifdef AUDIO_ENABLE
-#define C6_AUDIO
-#define NO_MUSIC_MODE
+#   define C6_AUDIO
+#   define NO_MUSIC_MODE
 #endif
 
 #define LAYOUT_ortho_5x7( \
index f28ecc5332aac4e2e234ac5692f8ad2cd0da248a..f42e065d51edc72fc1dcb78f3e1708cabfcc603f 100644 (file)
@@ -8,6 +8,7 @@ RGBLIGHT_ENABLE   = yes
 AUDIO_ENABLE      = yes
 NKRO_ENABLE       = yes
 SPLIT_KEYBOARD    = no
+SPACE_CADET_ENABLE = no
 
 NO_SECRETS        = yes
 MACROS_ENABLED    = yes
index b36a4edd4f9d7da1f30836d7cab8841aeb0b4ff0..5697f7f11090cbc6d350608cf9e12871b2ca13ce 100644 (file)
@@ -20,6 +20,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #include "../drashna/config.h"
 
 #ifdef RGBLIGHT_ENABLE
-#undef RGBLED_NUM
-#define RGBLED_NUM 12
+#   undef RGBLED_NUM
+#   define RGBLED_NUM 12
 #endif
index 1f04d5298c9c73fa6508aa3f5d84c365d11ee7e4..4719c22696c2111481f239703904498c9f7a71d0 100644 (file)
@@ -39,37 +39,36 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 )
 
 #ifdef RGBLIGHT_ENABLE
-#define RGB_DI_PIN D3
-#define RGBLED_NUM 16     // Number of LEDs
-#define RGBLED_SPLIT { 8, 8 }
-
-#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 RGB_DI_PIN D3
+#   define RGBLED_NUM 16     // Number of LEDs
+#   define RGBLED_SPLIT { 8, 8 }
+
+#   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
 #endif // RGBLIGHT_ENABLE
 
 #ifdef AUDIO_ENABLE
-#define C6_AUDIO
-#ifdef RGBLIGHT_ENABLE
-#define NO_MUSIC_MODE
-#endif
+#   define C6_AUDIO
+#   ifdef RGBLIGHT_ENABLE
+#       define NO_MUSIC_MODE
+#   endif
 #endif //AUDIO_ENABLE
 
 #undef PRODUCT
 #ifdef KEYBOARD_orthodox_rev1
-#define PRODUCT         Drashna Hacked Orthodox Rev.1
+#   define PRODUCT         Drashna Hacked Orthodox Rev.1
 #elif KEYBOARD_orthodox_rev3
-#define PRODUCT         Drashna Hacked Orthodox Rev.3
+#   define PRODUCT         Drashna Hacked Orthodox Rev.3
 #endif
 
 #define QMK_ESC_OUTPUT D7 // usually COL
 #ifdef KEYBOARD_orthodox_rev1
-#define QMK_ESC_INPUT D4 // usually ROW
+#   define QMK_ESC_INPUT D4 // usually ROW
 #else
-#define QMK_ESC_INPUT D2 // usually ROW
+#   define QMK_ESC_INPUT D2 // usually ROW
 #endif
 #define QMK_LED B0
 #define QMK_SPEAKER C6
index b1d40690558963ae6018910b9fc84f023bd00737..bde959f5e745045d6ba77b59a493058620aac468 100644 (file)
@@ -38,8 +38,8 @@ uint8_t last_osm;
   ) \
   LAYOUT_wrapper( \
     KC_ESC,  K01,    K02,     K03,      K04,     K05,                                                             K06,     K07,     K08,     K09,     K0A,     KC_BSPC, \
-    KC_TAB,  K11,    K12,     K13,      K14,     K15,              OS_LALT, OS_LGUI,   OS_RALT, RAISE,          K16,     K17,     K18,     K19,     K1A,     KC_QUOT, \
-    KC_MLSF, CTL_T(K21), K22, K23,      K24,     K25,     LOWER,   KC_SPACE,KC_BSPC,   KC_DEL,  KC_ENT,  RAISE,   K26,     K27,     K28,     K29,  CTL_T(K2A), KC_MRSF  \
+    KC_TAB,  K11,    K12,     K13,      K14,     K15,              OS_LALT, OS_LGUI,   OS_RALT, RAISE,            K16,     K17,     K18,     K19,     K1A,     KC_QUOT, \
+    KC_MLSF, CTL_T(K21), K22, K23,      K24,     K25,     LOWER,   KC_SPACE,KC_BSPC,   KC_DEL,  KC_ENT,  RAISE,   K26,     K27,     K28,     K29, RCTL_T(K2A), KC_MRSF  \
   )
 #define LAYOUT_orthodox_base_wrapper(...)       LAYOUT_orthodox_base(__VA_ARGS__)
 
@@ -123,11 +123,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 };
 
 void matrix_init_keymap(void) {
-  #ifndef CONVERT_TO_PROTON_C
+#ifndef CONVERT_TO_PROTON_C
     setPinOutput(D5);
     writePinHigh(D5);
 
     setPinOutput(B0);
     writePinHigh(B0);
-  #endif
+#endif
 }
index fdbfc94c9ba79e0c698f3d09043cc6712432651e..a122b9e0f15e5eb13a06d9f9f71f5d809924b4bf 100644 (file)
@@ -7,6 +7,7 @@ TAP_DANCE_ENABLE  = no
 RGBLIGHT_ENABLE   = yes
 AUDIO_ENABLE      = no
 NKRO_ENABLE       = yes
+SPACE_CADET_ENABLE = no
 
 INDICATOR_LIGHTS  = yes
 MACROS_ENABLED    = no
index 7b2ad4fa1ca151cc9198ffc30df730695cb468d8..7feaf6f252af01566e63cbc5d96bd99fd93c1c84 100644 (file)
@@ -1,12 +1,11 @@
 #pragma once
 
 #ifdef RGBLIGHT_ENABLE
-#undef RGBLIGHT_SAT_STEP
-#define RGBLIGHT_SAT_STEP 12
+#   undef RGBLIGHT_SAT_STEP
+#   define RGBLIGHT_SAT_STEP 12
 
-#define RGBLIGHT_EFFECT_KNIGHT_LENGTH 3
-#define RGBLIGHT_EFFECT_SNAKE_LENGTH 3
-#define RGBLIGHT_EFFECT_BREATHE_CENTER 1
+#   define RGBLIGHT_EFFECT_KNIGHT_LENGTH 3
+#   define RGBLIGHT_EFFECT_SNAKE_LENGTH 3
 #endif // RGBLIGHT_ENABLE
 
 
index 26c2e33040cd4fad8fa4fd91b0ae3c357d36c62d..eeb21501babb97ce536aa4132b132e43e44d25d9 100644 (file)
@@ -20,6 +20,9 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #ifdef UNICODEMAP_ENABLE
 #include "drashna_unicode.h"
 #endif // UNICODEMAP_ENABLE
+#ifndef UNICODE_ENABLE
+#   define UC(x) KC_NO
+#endif
 
 #ifdef RGB_MATRIX_ENABLE
 extern bool g_suspend_state;
@@ -28,7 +31,7 @@ extern rgb_config_t rgb_matrix_config;
 extern userspace_config_t userspace_config;
 
 enum more_custom_keycodes {
-   KC_SWAP_NUM = NEW_SAFE_RANGE
+    KC_SWAP_NUM = NEW_SAFE_RANGE
 };
 
 //define layer change stuff for underglow indicator
@@ -43,7 +46,7 @@ bool skip_leds = false;
       KC_ESC,  ________________NUMBER_LEFT________________, UC_FLIP,                 UC_TABL, ________________NUMBER_RIGHT_______________, KC_MINS, \
       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_MLSF, CTL_T(K21), K22, K23,      K24,     K25,     TG(_GAMEPAD),       TG(_GAMEPAD), K26,     K27,     K28,     K29,  RCTL_T(K2A), KC_MRSF, \
       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_APP,                  KC_MENU,                                                        \
@@ -305,87 +308,88 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 
 bool process_record_keymap(uint16_t keycode, keyrecord_t *record) {
 
-  switch (keycode) {
-    case KC_1:
-      if (IS_LAYER_ON(_GAMEPAD) && userspace_config.swapped_numbers) {
-        if (record->event.pressed) {
-          register_code(KC_2);
-        } else {
-          unregister_code(KC_2);
-        }
-        return false;
-      }
-      break;
-    case KC_2:
-      if (IS_LAYER_ON(_GAMEPAD) && userspace_config.swapped_numbers) {
-        if (record->event.pressed) {
-          register_code(KC_1);
-        } else {
-          unregister_code(KC_1);
-        }
-        return false;
-      }
-      break;
-    case KC_SWAP_NUM:
-      if (record->event.pressed) {
-        userspace_config.swapped_numbers ^= 1;
-        eeconfig_update_user(userspace_config.raw);
-      }
-  }
-  //switch (keycode) {
-  //  case KC_P00:
-  //    if (!record->event.pressed) {
-  //      register_code(KC_KP_0);
-  //      unregister_code(KC_KP_0);
-  //      register_code(KC_KP_0);
-  //      unregister_code(KC_KP_0);
-  //    }
-  //    return false;
-  //    break;
-  //}
-  return true;
+    switch (keycode) {
+        case KC_1:
+            if (IS_LAYER_ON(_GAMEPAD) && userspace_config.swapped_numbers) {
+                if (record->event.pressed) {
+                    register_code(KC_2);
+                } else {
+                    unregister_code(KC_2);
+                }
+                return false;
+            }
+            break;
+        case KC_2:
+            if (IS_LAYER_ON(_GAMEPAD) && userspace_config.swapped_numbers) {
+                if (record->event.pressed) {
+                    register_code(KC_1);
+                } else {
+                    unregister_code(KC_1);
+                }
+                return false;
+            }
+            break;
+        case KC_SWAP_NUM:
+            if (record->event.pressed) {
+                userspace_config.swapped_numbers ^= 1;
+                eeconfig_update_user(userspace_config.raw);
+            }
+            break;
+    }
+    //switch (keycode) {
+    //  case KC_P00:
+    //    if (!record->event.pressed) {
+    //      register_code(KC_KP_0);
+    //      unregister_code(KC_KP_0);
+    //      register_code(KC_KP_0);
+    //      unregister_code(KC_KP_0);
+    //    }
+    //    return false;
+    //    break;
+    //}
+    return true;
 }
 
 void matrix_scan_keymap(void) {  // runs frequently to update info
-  uint8_t modifiers = get_mods();
-  uint8_t led_usb_state = host_keyboard_leds();
-  uint8_t one_shot = get_oneshot_mods();
-
-  if (!skip_leds) {
-    ergodox_board_led_off();
-    ergodox_right_led_1_off();
-    ergodox_right_led_2_off();
-    ergodox_right_led_3_off();
-
-    // 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 | 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 | one_shot ) & MOD_MASK_CTRL) {
-      ergodox_right_led_1_on();
-      ergodox_right_led_1_set( 10 );
-    }
-    if ( ( modifiers | one_shot ) & MOD_MASK_ALT) {
-      ergodox_right_led_3_on();
-      ergodox_right_led_3_set( 10 );
-    }
+    uint8_t modifiers = get_mods();
+    uint8_t led_usb_state = host_keyboard_leds();
+    uint8_t one_shot = get_oneshot_mods();
+
+    if (!skip_leds) {
+        ergodox_board_led_off();
+        ergodox_right_led_1_off();
+        ergodox_right_led_2_off();
+        ergodox_right_led_3_off();
+
+        // 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 | 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 | one_shot ) & MOD_MASK_CTRL) {
+            ergodox_right_led_1_on();
+            ergodox_right_led_1_set( 10 );
+        }
+        if ( ( modifiers | one_shot ) & MOD_MASK_ALT) {
+            ergodox_right_led_3_on();
+            ergodox_right_led_3_set( 10 );
+        }
 
-  }
+    }
 
-};
+}
 
 
 bool indicator_is_this_led_used_keyboard(uint8_t index) {
-  switch (index) {
-    case 13 ... 14:
-      return true;
-      break;
-    default:
-    return false;
-  }
+    switch (index) {
+        case 13 ... 14:
+            return true;
+            break;
+        default:
+            return false;
+    }
 }
 
 
@@ -393,101 +397,81 @@ bool indicator_is_this_led_used_keyboard(uint8_t index) {
 
 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 (HAS_FLAGS(led.flags, LED_FLAG_MODIFIER)) {
-        rgb_matrix_set_color( i, red, green, blue );
+    rgb_led led;
+    for (int i = 0; i < DRIVER_LED_TOTAL; i++) {
+        led = g_rgb_leds[i];
+        if (HAS_FLAGS(led.flags, LED_FLAG_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;
-        case _NORMAN:
-          rgb_matrix_layer_helper(0xFF, 0x7C, 0x4D); break;
-        case _MALTRON:
-          rgb_matrix_layer_helper(0xFF, 0xFF, 0x00); break;
-        case _EUCALYN:
-          rgb_matrix_layer_helper(0xFF, 0x80, 0xBF); break;
-        case _CARPLAX:
-          rgb_matrix_layer_helper(0x00, 0x00, 0xFF); break;
-      }
-  }
-#if 0
-  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 & 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 & MOD_MASK_GUI || this_osm & MOD_MASK_GUI) {
-    rgb_matrix_set_color(39, 0xFF, 0xD9, 0x00);
-  }
-  if (this_mod & MOD_MASK_ALT || this_osm & MOD_MASK_ALT) {
-    rgb_matrix_set_color(38, 0x00, 0x00, 0xFF);
-  }
+    if ( userspace_config.rgb_layer_change &&
+#ifdef RGB_DISABLE_WHEN_USB_SUSPENDED
+        !g_suspend_state &&
 #endif
-}
-
-void matrix_init_keymap(void) {
-#if 0
-  #ifdef RGB_MATRIX_KEYPRESSES
-    rgblight_mode(RGB_MATRIX_MULTISPLASH);
-  #else
-    rgblight_mode(RGB_MATRIX_RAINBOW_MOVING_CHEVRON);
-  #endif
+#if defined(RGBLIGHT_ENABLE)
+        (!rgblight_config.enable && rgb_matrix_config.enable)
+#else
+        rgb_matrix_config.enable
 #endif
+    ) {
+        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;
+                    case _NORMAN:
+                        rgb_matrix_layer_helper(0xFF, 0x7C, 0x4D); break;
+                    case _MALTRON:
+                        rgb_matrix_layer_helper(0xFF, 0xFF, 0x00); break;
+                    case _EUCALYN:
+                        rgb_matrix_layer_helper(0xFF, 0x80, 0xBF); break;
+                    case _CARPLAX:
+                        rgb_matrix_layer_helper(0x00, 0x00, 0xFF); break;
+                }
+        }
+    }
 }
+
 #endif //RGB_MATRIX_INIT
index ee231321e3bedfda92bd98fde1178fa1d83d19ca..f0628d9daffd48c86d2a25be18ce88b0fb4099e6 100644 (file)
@@ -1,19 +1,20 @@
-TAP_DANCE_ENABLE  = yes
-SLEEP_LED_ENABLE  = no  # Breathing sleep LED during USB suspend
-COMMAND_ENABLE    = no  # Commands for debug and configuration
+TAP_DANCE_ENABLE   = yes
+SLEEP_LED_ENABLE   = no  # Breathing sleep LED during USB suspend
+COMMAND_ENABLE     = no  # Commands for debug and configuration
+SPACE_CADET_ENABLE = no
 ifneq (,$(findstring ergodox_ez,$(KEYBOARD)))
-  RGBLIGHT_ENABLE = yes
+  RGBLIGHT_ENABLE   = yes
   RGB_MATRIX_ENABLE = no
 endif
-CONSOLE_ENABLE    = no
-BOOTMAGIC_ENABLE  = yes
+CONSOLE_ENABLE     = no
+BOOTMAGIC_ENABLE   = yes
 
-UNICODE_ENABLE    = yes
-UNICDOEMAP_ENABLE = no
+UNICODE_ENABLE     = yes
+UNICDOEMAP_ENABLE  = no
 
-MACROS_ENABLED    = no
-RGBLIGHT_TWINKLE  = no
-INDICATOR_LIGHTS  = no
+MACROS_ENABLED     = no
+RGBLIGHT_TWINKLE   = no
+INDICATOR_LIGHTS   = no
 RGBLIGHT_STARTUP_ANIMATION = yes
 
 DEBOUNCE_TYPE     = eager_pk
index e2d95942675d31fb353991286098e99ca566f4d8..5eb1c6d0f3c9557a7407e75be7acef7333ee3cc5 100644 (file)
@@ -6,10 +6,21 @@
 #define PRODUCT         DrashnaDox - Hacked ErgoDox EZ Glow
 
 #ifdef RGB_MATRIX_ENABLE
-#define RGB_MATRIX_KEYPRESSES // reacts to keypresses (will slow down matrix scan by a lot)
+#   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_DISABLE_WHEN_USB_SUSPENDED  true// turn off effects when suspended
 // #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 DISABLE_RGB_MATRIX_GRADIENT_UP_DOWN
+#   define DISABLE_RGB_MATRIX_CYCLE_ALL
+#   define DISABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
+#   define DISABLE_RGB_MATRIX_DUAL_BEACON
+#   define DISABLE_RGB_MATRIX_RAINBOW_BEACON
+#   define DISABLE_RGB_MATRIX_DIGITAL_RAIN
+#   define DISABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
+#   define DISABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
+#   define DISABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
+
 #endif
index e3a70694a78fec8b45c6a4aba4c14234387a9a51..2fc5ab658825ed83cd3052af703ee8ca15f522fe 100644 (file)
@@ -3,18 +3,17 @@
 // #define B6_AUDIO
 
 #if defined(RGBLIGHT_ENABLE) && !defined(RGBLED_NUM)
-#define RGB_DI_PIN B1
-#define RGBLED_NUM 16     // Number of LEDs
+#   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
+#   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
 #endif // RGBLIGHT_ENABLE
 
 #if defined(KEYBOARD_primekb_prime_m)
-#undef PRODUCT
-#define PRODUCT Drashna Hacked Prime_M Macro Pad
+#   undef PRODUCT
+#   define PRODUCT Drashna Hacked Prime_M Macro Pad
 #endif
index f8e12f33d7e37ccaa50bb5a43849f240da79c23a..475afd213ff4f6fa6119aad7e0ad17dab4c41851 100644 (file)
@@ -2,49 +2,52 @@
 
 
 #if defined(RGBLIGHT_ENABLE) && !defined(RGBLED_NUM)
-#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 RGBLIGHT_EFFECT_KNIGHT_LENGTH 2
-#define RGBLIGHT_EFFECT_SNAKE_LENGTH 2
-#define RGBLIGHT_EFFECT_BREATHE_CENTER 1
+#   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 RGBLIGHT_EFFECT_KNIGHT_LENGTH 2
+#   define RGBLIGHT_EFFECT_SNAKE_LENGTH 2
+#   ifdef RGB_MATRIX_ENABLE
+#       define RGBLIGHT_DISABLE_KEYCODES
+#   endif
 #endif // RGBLIGHT_ENABLE
 
 #ifdef RGB_MATRIX_ENABLE
-#define RGB_MATRIX_KEYPRESSES // reacts to keypresses (will slow down matrix scan by a lot)
+#   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_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 *)15
+#   define RGB_DISABLE_WHEN_USB_SUSPENDED true// turn off effects when suspended
+#   ifndef KEYBOARD_planck_ez
+#       define EECONFIG_RGB_MATRIX (uint32_t *)15
+#   endif
 #endif
 
 #if defined(KEYBOARD_lets_split_rev2)
-#define USE_SERIAL
-#undef USE_I2C
-
-#define EE_HANDS
+#   define USE_SERIAL
+#   undef USE_I2C
+#   define EE_HANDS
 #endif
 
 #if !defined(KEYBOARD_planck_light)
-#ifdef RGBLIGHT_ENABLE
-#define NO_MUSIC_MODE
-#endif // RGBLIGHT_ENABLE
+#   ifdef RGBLIGHT_ENABLE
+#       define NO_MUSIC_MODE
+#   endif // RGBLIGHT_ENABLE
 #endif // KEYBOARD_planck_light
 
 
 #if defined(KEYBOARD_planck)
-#undef PRODUCT
-#if defined(KEYBOARD_planck_light)
-#define PRODUCT Drashna Hacked RGB Beacon (Planck Light)
-#elif defined(KEYBOARD_planck_rev6)
-#define PRODUCT Drashna Hacked Planck Rev6
-#elif defined(KEYBOARD_planck_EZ)
-#define PRODUCT Drashna Hacked Planck EZ
-#endif
+#   undef PRODUCT
+#   if defined(KEYBOARD_planck_light)
+#       define PRODUCT Drashna Hacked RGB Beacon (Planck Light)
+#   elif defined(KEYBOARD_planck_rev6)
+#       define PRODUCT Drashna Hacked Planck Rev6
+#   elif defined(KEYBOARD_planck_EZ)
+#   define PRODUCT Drashna Hacked Planck EZ
+#   endif
 #endif
 
 /*
@@ -58,7 +61,7 @@
    - MIDI notes can be sent when in Music mode is on
 */
 
-#define MIDI_BASIC
+// #define MIDI_BASIC
 
 /* enable advanced MIDI features:
    - MIDI notes can be added to the keymap
index f82b4e7da7a5a74fcfd738ebc7fe022e4b0b863c..5eef2e02342595ec7c955274435f5afaf148ff4a 100644 (file)
@@ -34,6 +34,18 @@ enum planck_keycodes {
   #define BACKLIT OSM(MOD_LSFT)
 #endif
 
+#ifdef KEYBOARD_planck_ez
+#   define PLNK_1 BK_LWER
+#   define PLNK_2 SP_LWER
+#   define PLNK_3 KC_NO
+#   define PLNK_4 ET_RAIS
+#else
+#   define PLNK_1 SP_LWER
+#   define PLNK_2 BK_LWER
+#   define PLNK_3 DL_RAIS
+#   define PLNK_4 ET_RAIS
+#endif
+
 #define LAYOUT_ortho_4x12_base( \
     K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, \
     K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, \
@@ -42,8 +54,8 @@ enum planck_keycodes {
   LAYOUT_ortho_4x12_wrapper( \
     KC_ESC,  K01,    K02,     K03,      K04,     K05,     K06,     K07,     K08,     K09,     K0A,     KC_BSPC, \
     KC_TAB,  K11,    K12,     K13,      K14,     K15,     K16,     K17,     K18,     K19,     K1A,     KC_QUOT, \
-    KC_MLSF, CTL_T(K21), K22, K23,      K24,     K25,     K26,     K27,     K28,     K29,  CTL_T(K2A), KC_ENT,  \
-    BACKLIT, OS_LCTL, OS_LALT, OS_LGUI, SP_LWER, BK_LWER, DL_RAIS, ET_RAIS, KC_LEFT, KC_DOWN, KC_UP,   KC_RGHT  \
+    KC_MLSF, CTL_T(K21), K22, K23,      K24,     K25,     K26,     K27,     K28,     K29, RCTL_T(K2A), KC_ENT,  \
+    BACKLIT, OS_LCTL, OS_LALT, OS_LGUI, PLNK_1,  PLNK_2,  PLNK_3,  PLNK_4,  KC_LEFT, KC_DOWN, KC_UP,   KC_RGHT  \
   )
 #define LAYOUT_ortho_4x12_base_wrapper(...)       LAYOUT_ortho_4x12_base(__VA_ARGS__)
 
@@ -130,128 +142,132 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 
 
 bool process_record_keymap(uint16_t keycode, keyrecord_t *record) {
-  switch (keycode) {
-
-#ifdef BACKLIGHT_ENABLE
-    case BACKLIT:
-      if (record->event.pressed) {
-        register_code(KC_RSFT);
-        #ifdef BACKLIGHT_ENABLE
-          backlight_step();
-        #endif
-      } else {
-        unregister_code(KC_RSFT);
-      }
-      return false;
-      break;
+    switch (keycode) {
+ #ifdef BACKLIGHT_ENABLE
+        case BACKLIT:
+            if (record->event.pressed) {
+                register_code(KC_RSFT);
+                #ifdef BACKLIGHT_ENABLE
+                backlight_step();
+                #endif
+            } else {
+                unregister_code(KC_RSFT);
+            }
+            return false;
+            break;
 #endif
-  }
-  return true;
+    }
+    return true;
 }
 
 bool music_mask_user(uint16_t keycode) {
-  switch (keycode) {
-    case RAISE:
-    case LOWER:
-    case BK_LWER:
-    case SP_LWER:
-    case DL_RAIS:
-    case ET_RAIS:
-      return false;
-    default:
-      return true;
-  }
+    switch (keycode) {
+        case RAISE:
+        case LOWER:
+        case BK_LWER:
+        case SP_LWER:
+        case DL_RAIS:
+        case ET_RAIS:
+            return false;
+        default:
+            return true;
+    }
 }
 
 #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, bool default_layer) {
-  rgb_led led;
-  for (int i = 0; i < DRIVER_LED_TOTAL; i++) {
-    led = g_rgb_leds[i];
-    if (HAS_FLAGS(led.flags, LED_FLAG_MODIFIER)) {
-        rgb_matrix_set_color( i, red, green, blue );
+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 (HAS_FLAGS(led.flags, LED_FLAG_MODIFIER)) {
+            rgb_matrix_set_color( i, red, green, blue );
+        }
     }
-  }
 }
 
 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 && userspace_config.rgb_layer_change &&
-#if defined(RGBLIGHT_ENABLE) && defined(RGB_MATRIX_ENABLE)
-    (!rgblight_config.enable && rgb_matrix_config.enable)
+    uint8_t this_mod = get_mods();
+    uint8_t this_led = host_keyboard_leds();
+    uint8_t this_osm = get_oneshot_mods();
+    bool is_ez;
+    #ifdef KEYBOARD_planck_ez
+    is_ez = true;
+    #endif
+
+    if ( userspace_config.rgb_layer_change &&
+#ifdef RGB_DISABLE_WHEN_USB_SUSPENDED
+        !g_suspend_state &&
+#endif
+#if defined(RGBLIGHT_ENABLE)
+            (!rgblight_config.enable && rgb_matrix_config.enable)
 #else
-    rgb_matrix_config.enable
+            rgb_matrix_config.enable
 #endif
-    ) {
-    switch (biton32(layer_state)) {
-      case _RAISE:
-        rgb_matrix_layer_helper(0xFF, 0xFF, 0x00, false); break;
-      case _LOWER:
-        rgb_matrix_layer_helper(0x00, 0xFF, 0x00, false); break;
-      case _ADJUST:
-        rgb_matrix_layer_helper(0xFF, 0x00, 0x00, false); break;
-      default:
-        switch (biton32(default_layer_state)) {
-          case _QWERTY:
-            rgb_matrix_layer_helper(0x00, 0xFF, 0xFF, true); break;
-          case _COLEMAK:
-            rgb_matrix_layer_helper(0xFF, 0x00, 0xFF, true); break;
-          case _DVORAK:
-            rgb_matrix_layer_helper(0x00, 0xFF, 0x00, true); break;
-          case _WORKMAN:
-            rgb_matrix_layer_helper(0xD9, 0xA5, 0x21, true); break;
-          case _NORMAN:
-            rgb_matrix_layer_helper(0xFF, 0x7C, 0x4D, true); break;
-          case _MALTRON:
-            rgb_matrix_layer_helper(0xFF, 0xFF, 0x00, true); break;
-          case _EUCALYN:
-            rgb_matrix_layer_helper(0xFF, 0x80, 0xBF, true); break;
-          case _CARPLAX:
-            rgb_matrix_layer_helper(0x00, 0x00, 0xFF, true); break;
+        ) {
+        switch (biton32(layer_state)) {
+            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;
+                case _NORMAN:
+                    rgb_matrix_layer_helper(0xFF, 0x7C, 0x4D); break;
+                case _MALTRON:
+                    rgb_matrix_layer_helper(0xFF, 0xFF, 0x00); break;
+                case _EUCALYN:
+                    rgb_matrix_layer_helper(0xFF, 0x80, 0xBF); break;
+                case _CARPLAX:
+                    rgb_matrix_layer_helper(0x00, 0x00, 0xFF); break;
+                }
         }
     }
-  }
-
-  switch (biton32(default_layer_state)) {
-    case _QWERTY:
-      rgb_matrix_set_color(42, 0x00, 0xFF, 0xFF); break;
-    case _COLEMAK:
-      rgb_matrix_set_color(42, 0xFF, 0x00, 0xFF); break;
-    case _DVORAK:
-      rgb_matrix_set_color(42, 0x00, 0xFF, 0x00); break;
-    case _WORKMAN:
-      rgb_matrix_set_color(42, 0xD9, 0xA5, 0x21); break;
-  }
-  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 | 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 | this_osm) & MOD_MASK_GUI) {
-    rgb_matrix_set_color(39, 0xFF, 0xD9, 0x00);
-  }
-  if ( (this_mod | this_osm) & MOD_MASK_ALT) {
-    rgb_matrix_set_color(38, 0x00, 0x00, 0xFF);
-  }
+
+    switch (biton32(default_layer_state)) {
+        case _QWERTY:
+            rgb_matrix_set_color(is_ez ? 41 : 42, 0x00, 0xFF, 0xFF); break;
+        case _COLEMAK:
+            rgb_matrix_set_color(is_ez ? 41 : 42, 0xFF, 0x00, 0xFF); break;
+        case _DVORAK:
+            rgb_matrix_set_color(is_ez ? 41 : 42, 0x00, 0xFF, 0x00); break;
+        case _WORKMAN:
+            rgb_matrix_set_color(is_ez ? 41 : 42, 0xD9, 0xA5, 0x21); break;
+    }
+    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 | 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 | this_osm) & MOD_MASK_GUI) {
+        rgb_matrix_set_color(39, 0xFF, 0xD9, 0x00);
+    }
+    if ( (this_mod | this_osm) & MOD_MASK_ALT) {
+        rgb_matrix_set_color(38, 0x00, 0x00, 0xFF);
+    }
 }
 
 void matrix_init_keymap(void) {
@@ -260,57 +276,81 @@ void matrix_init_keymap(void) {
 #else //RGB_MATRIX_INIT
 
 void matrix_init_keymap(void) {
-  #if !defined(CONVERT_TO_PROTON_C) && !defined(KEYBOARD_planck)
+#if !defined(CONVERT_TO_PROTON_C) && !defined(KEYBOARD_planck)
     setPinOutput(D5);
     writePinHigh(D5);
 
     setPinOutput(B0);
     writePinHigh(B0);
-  #endif
+#endif
 }
 #endif //RGB_MATRIX_INIT
 
 #ifdef ENCODER_ENABLE
 void encoder_update(bool clockwise) {
-  switch (biton32(layer_state)) {
-    case _RAISE:
-      clockwise ? tap_code(KC_VOLD) : tap_code(KC_VOLU);
-      break;
-    case _LOWER:
-      #ifdef RGB_MATRIX_ENABLE
-        clockwise ? rgb_matrix_step() : rgblight_step_reverse();
-      #else
-      clockwise ? tap_code(KC_PGDN) : tap_code(KC_PGUP);
-      #endif
-    case _ADJUST:
-      #ifdef AUDIO_CLICKY
-        clockwise ? clicky_freq_up() : clicky_freq_down();
-      #endif
-      break;
-    default:
-      clockwise ? tap_code(KC_DOWN) : tap_code(KC_UP);
-  }
-  #ifdef AUDIO_CLICKY
+    switch (biton32(layer_state)) {
+        case _RAISE:
+            clockwise ? tap_code(KC_VOLD) : tap_code(KC_VOLU);
+            break;
+        case _LOWER:
+#ifdef RGB_MATRIX_ENABLE
+            clockwise ? rgb_matrix_step() : rgblight_step_reverse();
+#else
+            clockwise ? tap_code(KC_PGDN) : tap_code(KC_PGUP);
+#endif
+            break;
+        case _ADJUST:
+#ifdef AUDIO_CLICKY
+            clockwise ? clicky_freq_up() : clicky_freq_down();
+#endif
+            break;
+        default:
+            clockwise ? tap_code(KC_DOWN) : tap_code(KC_UP);
+    }
+#ifdef AUDIO_CLICKY
     clicky_play();
-  #endif
+#endif
 }
 #endif // ENCODER_ENABLE
 
 #ifdef KEYBOARD_planck_rev6
 void dip_update(uint8_t index, bool active) {
-  switch (index) {
-    case 0:
-      if(active) { audio_on(); } else { audio_off(); }
-      break;
-    case 1:
-      if(active) { clicky_on(); } else { clicky_off(); }
-      break;
-    case 2:
-      keymap_config.swap_lalt_lgui = keymap_config.swap_ralt_rgui = active;
-      break;
-    case 3:
-      userspace_config.nuke_switch = active;
-      break;
-   }
+    switch (index) {
+        case 0:
+            if(active) { audio_on(); } else { audio_off(); }
+            break;
+        case 1:
+            if(active) { clicky_on(); } else { clicky_off(); }
+            break;
+        case 2:
+            keymap_config.swap_lalt_lgui = keymap_config.swap_ralt_rgui = active;
+            break;
+        case 3:
+            userspace_config.nuke_switch = active;
+            break;
+    }
 }
 #endif // KEYBOARD_planck_rev6
+
+#ifdef KEYBOARD_planck_ez
+uint32_t layer_state_set_keymap(uint32_t state) {
+
+    palClearPad(GPIOB, 8);
+    palClearPad(GPIOB, 9);
+    switch (biton32(state)) {
+        case _LOWER:
+            palSetPad(GPIOB, 9);
+            break;
+        case _RAISE:
+            palSetPad(GPIOB, 8);
+            break;
+        case _ADJUST:
+            palSetPad(GPIOB, 9);
+            palSetPad(GPIOB, 8);
+            break;
+        default:
+            break;
+    }
+    return state;
+}
+#endif
index 89acba9eb81e3008394d52621009bb32c2653fa5..351201e2f0f2b1da80fd38e8b3d9799ac92486cd 100644 (file)
@@ -5,16 +5,27 @@ CONSOLE_ENABLE    = no         # Console for debug(+400)
 COMMAND_ENABLE    = no        # Commands for debug and configuration
 TAP_DANCE_ENABLE  = no
 AUDIO_ENABLE      = yes
+SPACE_CADET_ENABLE = no
+
 ifeq (,$(findstring planck/rev6,$(KEYBOARD))) # Make sure it's NOT the Planck Rev6
-  RGBLIGHT_ENABLE             = yes
-  INDICATOR_LIGHTS            = yes
-  RGBLIGHT_TWINKLE            = yes
-  RGBLIGHT_STARTUP_ANIMATION  = yes
+    RGBLIGHT_ENABLE             = yes
+    INDICATOR_LIGHTS            = yes
+    RGBLIGHT_TWINKLE            = yes
+    RGBLIGHT_STARTUP_ANIMATION  = yes
 endif
 ifneq (,$(findstring planck/light,$(KEYBOARD))) # Make sure it IS the Planck Light
-  RGB_MATRIX_ENABLE           = yes
-  RGBLIGHT_ENABLE             = no
-  RGBLIGHT_STARTUP_ANIMATION  = no
+    RGB_MATRIX_ENABLE           = yes
+    RGBLIGHT_ENABLE             = no
+    RGBLIGHT_STARTUP_ANIMATION  = no
+endif
+ifneq (,$(findstring planck/ez,$(KEYBOARD))) # Make sure it IS the Planck Light
+    RGBLIGHT_ENABLE = no
+    # SERIAL_LINK_ENABLE = yes
+    ENCODER_ENABLE = no
+    RGB_MATRIX_ENABLE = IS31FL3737
+    INDICATOR_LIGHTS            = yes
+    RGBLIGHT_TWINKLE            = yes
+    RGBLIGHT_STARTUP_ANIMATION  = yes
 endif
 
 ifeq ($(strip $(PROTOCOL)), VUSB)
index 480bf658c365f540b5a918f99c90cc234455788c..123c284a2c596c0f2838efb9293d1a41a59ca6f4 100644 (file)
@@ -3,20 +3,19 @@
 
 /* ws2812 RGB LED */
 #if defined(KEYBOARD_fractal)
-  #define RGB_DI_PIN D2
-  #undef RGBLED_NUM
-  #define RGBLIGHT_ANIMATIONS
-  #define RGBLED_NUM 29     // Number of LEDs
-  #undef RGBLIGHT_HUE_STEP
-  #define RGBLIGHT_HUE_STEP 8
-  #undef RGBLIGHT_SAT_STEP
-  #define RGBLIGHT_SAT_STEP 8
-  #undef RGBLIGHT_VAL_STEP
-  #define RGBLIGHT_VAL_STEP 8
-  #define RGBLIGHT_LIMIT_VAL 175
-  #define RGBLIGHT_SLEEP
-
-  #define RGBLIGHT_EFFECT_KNIGHT_OFFSET 3
-  #define RGBLIGHT_EFFECT_KNIGHT_LED_NUM 14
+#   define RGB_DI_PIN D2
+#   undef RGBLED_NUM
+#   define RGBLIGHT_ANIMATIONS
+#   define RGBLED_NUM 29     // Number of LEDs
+#   undef RGBLIGHT_HUE_STEP
+#   define RGBLIGHT_HUE_STEP 8
+#   undef RGBLIGHT_SAT_STEP
+#   define RGBLIGHT_SAT_STEP 8
+#   undef RGBLIGHT_VAL_STEP
+#   define RGBLIGHT_VAL_STEP 8
+#   define RGBLIGHT_LIMIT_VAL 175
+#   define RGBLIGHT_SLEEP
 
+#   define RGBLIGHT_EFFECT_KNIGHT_OFFSET 3
+#   define RGBLIGHT_EFFECT_KNIGHT_LED_NUM 14
 #endif
index 92813a27d3eb3bd2fc592f038215a92661a0265c..679bdf4351db3b53fe48a618b5f33d8b1281d82b 100644 (file)
@@ -1,9 +1,7 @@
 stages:
   - test
-  - build
-  - deploy
 
-Preliminary Test:
+QMK Firmware:
   stage: test
   variables:
     GIT_SUBMODULE_STRATEGY: recursive
@@ -18,36 +16,7 @@ Preliminary Test:
   script:
     - make test:all
     - make planck/rev6:default planck/rev5:default
-
-QMK Firmware Defaults:
-  stage: deploy
-  variables:
-    GIT_SUBMODULE_STRATEGY: recursive
-  tags:
-    - linux
-  image: ubuntu:18.10
-  before_script:
-    - apt-get update -qy
-    - apt-get install -y build-essential avr-libc binutils-arm-none-eabi binutils-avr dfu-programmer dfu-util gcc gcc-arm-none-eabi gcc-avr git libnewlib-arm-none-eabi unzip wget zip
-    - avr-gcc --version
-    - uname -a
-  script:
-    - make test:all
-    - make all:default -j16
-
-Drashna Firmware:
-  stage: build
-  variables:
-    GIT_SUBMODULE_STRATEGY: recursive
-  tags:
-    - linux
-  image: ubuntu:18.10
-  before_script:
-    - apt-get update -qy
-    - apt-get install -y build-essential avr-libc binutils-arm-none-eabi binutils-avr dfu-programmer dfu-util gcc gcc-arm-none-eabi gcc-avr git libnewlib-arm-none-eabi unzip wget zip
-    - avr-gcc --version
-  script:
-    - make keebio/iris/rev2:drashna keebio/iris/rev2:drashna_old ergodox_ez:drashna ergodox_ez:drashna_glow keebio/viterbi/rev1:drashna orthodox/rev1:drashna orthodox/rev3:drashna crkbd:drashna planck/light:drashna planck/rev6:drashna fractal:drashna primekb/prime_m:drashna -j16 --output-sync
+    - make keebio/iris/rev2:drashna keebio/iris/rev2:drashna_old ergodox_ez:drashna ergodox_ez:drashna_glow keebio/viterbi/rev1:drashna orthodox/rev1:drashna orthodox/rev3:drashna crkbd:drashna planck/light:drashna planck/rev6:drashna fractal:drashna primekb/prime_m:drashna -j2 --output-sync
   artifacts:
     name: "$CI_JOB_NAME-$CI_COMMIT_REF_SLUG"
     paths:
index 1680eb4cb113abfdc3ad932803a4c3fba5923702..a6d8e752631e32db54929c32ba48bc0980453ec3 100644 (file)
@@ -2,50 +2,43 @@
 
 
 #ifdef AUDIO_ENABLE
-  #define AUDIO_CLICKY
-  #define STARTUP_SONG SONG(RICK_ROLL)
-  #define GOODBYE_SONG  SONG(SONIC_RING)
-  #define DEFAULT_LAYER_SONGS { SONG(QWERTY_SOUND), \
+#   define AUDIO_CLICKY
+#   define STARTUP_SONG SONG(RICK_ROLL)
+#   define GOODBYE_SONG  SONG(SONIC_RING)
+#   define DEFAULT_LAYER_SONGS { SONG(QWERTY_SOUND), \
                                     SONG(COLEMAK_SOUND), \
                                     SONG(DVORAK_SOUND), \
                                     SONG(OVERWATCH_THEME) \
-                                  }
-
-  #define AUDIO_CLICKY_FREQ_RANDOMNESS 1.5f
-  // #ifdef RGBLIGHT_ENABLE
-  // #define NO_MUSIC_MODE
-  // #endif //RGBLIGHT_ENABLE/
-  // #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)
-#define UNICODE_SONG_WIN SONG(RICK_ROLL)
-#define UNICODE_SONG_BSD SONG(RICK_ROLL)
-#define UNICODE_SONG_WINC SONG(RICK_ROLL)
+                                }
+
+#   define AUDIO_CLICKY_FREQ_RANDOMNESS 1.5f
+
+#   define UNICODE_SONG_OSX SONG(RICK_ROLL)
+#   define UNICODE_SONG_LNX SONG(RICK_ROLL)
+#   define UNICODE_SONG_WIN SONG(RICK_ROLL)
+#   define UNICODE_SONG_BSD SONG(RICK_ROLL)
+#   define UNICODE_SONG_WINC SONG(RICK_ROLL)
 
 #endif // !AUDIO_ENABLE
 
 #ifdef RGBLIGHT_ENABLE
-  #define RGBLIGHT_SLEEP
-  #undef RGBLIGHT_ANIMATIONS
-  #define RGBLIGHT_EFFECT_BREATHING
-  #define RGBLIGHT_EFFECT_SNAKE
-  #define RGBLIGHT_EFFECT_KNIGHT
+#   define RGBLIGHT_SLEEP
+#   undef RGBLIGHT_ANIMATIONS
+#   define RGBLIGHT_EFFECT_BREATHING
+#   define RGBLIGHT_EFFECT_SNAKE
+#   define RGBLIGHT_EFFECT_KNIGHT
 #endif // RGBLIGHT_ENABLE
 
 #ifndef ONESHOT_TAP_TOGGLE
-  #define ONESHOT_TAP_TOGGLE 2
+#   define ONESHOT_TAP_TOGGLE 2
 #endif // !ONESHOT_TAP_TOGGLE
 
 #ifndef ONESHOT_TIMEOUT
-  #define ONESHOT_TIMEOUT 3000
+#   define ONESHOT_TIMEOUT 3000
 #endif// !ONESHOT_TIMEOUT
 
 #ifndef QMK_KEYS_PER_SCAN
-  #define QMK_KEYS_PER_SCAN 4
+#   define QMK_KEYS_PER_SCAN 4
 #endif // !QMK_KEYS_PER_SCAN
 
 
 #define FORCE_NKRO
 
 #ifndef TAPPING_TOGGLE
-  #define TAPPING_TOGGLE  1
+#   define TAPPING_TOGGLE  1
 #endif
 
 #ifdef TAPPING_TERM
-  #undef TAPPING_TERM
+#   undef TAPPING_TERM
 #endif // TAPPING_TERM
 #if defined(KEYBOARD_ergodox_ez)
-  #define TAPPING_TERM 185
+#   define TAPPING_TERM 185
 #elif defined(KEYBOARD_crkbd)
-  #define TAPPING_TERM 200
+#   define TAPPING_TERM 200
 #else
-  #define TAPPING_TERM 175
+#   define TAPPING_TERM 175
 #endif
 
 
-// Disable action_get_macro and fn_actions, since we don't use these
-// and it saves on space in the firmware.
-#define NO_ACTION_MACRO
-#define NO_ACTION_FUNCTION
-
 #define TAP_CODE_DELAY 5
+
+/* Disable unused and unneeded features to reduce on firmware size */
+#ifdef LOCKING_SUPPORT_ENABLE
+#   undef LOCKING_SUPPORT_ENABLE
+#endif
+#ifdef LOCKING_RESYNC_ENABLE
+#   undef LOCKING_RESYNC_ENABLE
+#endif
index ec249dd22448d6f36a4ec32bd21b166edc6fc49b..7c60a2e4a5bf75c2ef56fad2eede85bfde0db024 100644 (file)
@@ -19,78 +19,78 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 userspace_config_t userspace_config;
 #if (defined(UNICODE_ENABLE) || defined(UNICODEMAP_ENABLE) || defined(UCIS_ENABLE))
-  #define DRASHNA_UNICODE_MODE UC_WIN
+    #define DRASHNA_UNICODE_MODE UC_WIN
 #else
   // set to 2 for UC_WIN, set to 4 for UC_WINC
-  #define DRASHNA_UNICODE_MODE 2
+    #define DRASHNA_UNICODE_MODE 2
 #endif
 
 
 // This block is for all of the gaming macros, as they were all doing
 // the same thing, but with differring text sent.
 bool send_game_macro(const char *str, keyrecord_t *record, bool override) {
-  if (!record->event.pressed || override) {
-    uint16_t keycode;
-    if (userspace_config.is_overwatch) {
-      keycode = KC_BSPC;
-    } else {
-      keycode = KC_ENTER;
+    if (!record->event.pressed || override) {
+        uint16_t keycode;
+        if (userspace_config.is_overwatch) {
+        keycode = KC_BSPC;
+        } else {
+        keycode = KC_ENTER;
+        }
+        clear_keyboard();
+        tap_code(keycode);
+        wait_ms(TAP_CODE_DELAY);
+        send_string_with_delay(str, TAP_CODE_DELAY);
+        wait_ms(TAP_CODE_DELAY);
+        tap_code(KC_ENTER);
     }
-    clear_keyboard();
-    tap_code(keycode);
-    wait_ms(TAP_CODE_DELAY);
-    send_string_with_delay(str, TAP_CODE_DELAY);
-    wait_ms(TAP_CODE_DELAY);
-    tap_code(KC_ENTER);
-  }
-  if (override) wait_ms(3000);
-  return false;
+    if (override) wait_ms(3000);
+    return false;
 }
 
 bool mod_key_press_timer (uint16_t code, uint16_t mod_code, bool pressed) {
-  static uint16_t this_timer;
-  if(pressed) {
-      this_timer= timer_read();
-  } else {
-      if (timer_elapsed(this_timer) < TAPPING_TERM){
-          tap_code(code);
-      } else {
-          register_code(mod_code);
-          tap_code(code);
-          unregister_code(mod_code);
-      }
-  }
-  return false;
+    static uint16_t this_timer;
+    if(pressed) {
+        this_timer= timer_read();
+    } else {
+        if (timer_elapsed(this_timer) < TAPPING_TERM){
+            tap_code(code);
+        } else {
+            register_code(mod_code);
+            tap_code(code);
+            unregister_code(mod_code);
+        }
+    }
+    return false;
 }
 
 bool mod_key_press (uint16_t code, uint16_t mod_code, bool pressed, uint16_t this_timer) {
-  if(pressed) {
-      this_timer= timer_read();
-  } else {
-      if (timer_elapsed(this_timer) < TAPPING_TERM){
-          tap_code(code);
-      } else {
-          register_code(mod_code);
-          tap_code(code);
-          unregister_code(mod_code);
-      }
-  }
-  return false;
+    if(pressed) {
+        this_timer= timer_read();
+    } else {
+        if (timer_elapsed(this_timer) < TAPPING_TERM){
+            tap_code(code);
+        } else {
+            register_code(mod_code);
+            tap_code(code);
+            unregister_code(mod_code);
+        }
+    }
+    return false;
 }
 
 void bootmagic_lite(void) {
-  matrix_scan();
-  #if defined(DEBOUNCING_DELAY) && DEBOUNCING_DELAY > 0
-    wait_ms(DEBOUNCING_DELAY * 2);
-  #elif defined(DEBOUNCE) && DEBOUNCE > 0
-    wait_ms(DEBOUNCE * 2);
-  #else
-    wait_ms(30);
-  #endif
-  matrix_scan();
-   if (matrix_get_row(BOOTMAGIC_LITE_ROW) & (1 << BOOTMAGIC_LITE_COLUMN)) {
-    bootloader_jump();
-  }
+    matrix_scan();
+    #if defined(DEBOUNCING_DELAY) && DEBOUNCING_DELAY > 0
+        wait_ms(DEBOUNCING_DELAY * 2);
+    #elif defined(DEBOUNCE) && DEBOUNCE > 0
+        wait_ms(DEBOUNCE * 2);
+    #else
+        wait_ms(30);
+    #endif
+    matrix_scan();
+    if (matrix_get_row(BOOTMAGIC_LITE_ROW) & (1 << BOOTMAGIC_LITE_COLUMN)) {
+        bootloader_jump();
+    }
 }
 
 // Add reconfigurable functions here, for keymap customization
@@ -103,21 +103,21 @@ void matrix_init_keymap(void) {}
 // Call user matrix init, set default RGB colors and then
 // call the keymap's init function
 void matrix_init_user(void) {
-  userspace_config.raw = eeconfig_read_user();
+    userspace_config.raw = eeconfig_read_user();
 
-  #ifdef BOOTLOADER_CATERINA
-    DDRD &= ~(1<<5);
-    PORTD &= ~(1<<5);
+    #ifdef BOOTLOADER_CATERINA
+        DDRD &= ~(1<<5);
+        PORTD &= ~(1<<5);
 
-    DDRB &= ~(1<<0);
-    PORTB &= ~(1<<0);
-  #endif
+        DDRB &= ~(1<<0);
+        PORTB &= ~(1<<0);
+    #endif
 
-  #if (defined(UNICODE_ENABLE) || defined(UNICODEMAP_ENABLE) || defined(UCIS_ENABLE))
-    set_unicode_input_mode(DRASHNA_UNICODE_MODE);
-    get_unicode_input_mode();
-  #endif //UNICODE_ENABLE
-  matrix_init_keymap();
+    #if (defined(UNICODE_ENABLE) || defined(UNICODEMAP_ENABLE) || defined(UCIS_ENABLE))
+        set_unicode_input_mode(DRASHNA_UNICODE_MODE);
+        get_unicode_input_mode();
+    #endif //UNICODE_ENABLE
+    matrix_init_keymap();
 }
 
 __attribute__((weak))
@@ -125,26 +125,26 @@ void keyboard_post_init_keymap(void){ }
 
 void keyboard_post_init_user(void){
 #ifdef RGBLIGHT_ENABLE
-  keyboard_post_init_rgb();
+    keyboard_post_init_rgb();
 #endif
-  keyboard_post_init_keymap();
+    keyboard_post_init_keymap();
 }
 
 __attribute__ ((weak))
 void shutdown_keymap(void) {}
 
 void shutdown_user (void) {
-  #ifdef RGBLIGHT_ENABLE
-    rgblight_enable_noeeprom();
-    rgblight_mode_noeeprom(1);
-    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); }
-  #endif //RGB_MATRIX_ENABLE
-  shutdown_keymap();
+    #ifdef RGBLIGHT_ENABLE
+        rgblight_enable_noeeprom();
+        rgblight_mode_noeeprom(1);
+        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); }
+    #endif //RGB_MATRIX_ENABLE
+    shutdown_keymap();
 }
 
 __attribute__ ((weak))
@@ -158,7 +158,7 @@ __attribute__ ((weak))
 void suspend_wakeup_init_keymap(void) {}
 
 void suspend_wakeup_init_user(void) {
-  suspend_wakeup_init_keymap();
+    suspend_wakeup_init_keymap();
 }
 
 
@@ -168,54 +168,54 @@ void matrix_scan_keymap(void) {}
 // No global matrix scan code, so just run keymap's matrix
 // scan function
 void matrix_scan_user(void) {
-  static bool has_ran_yet;
-  if (!has_ran_yet) {
-    has_ran_yet = true;
-    startup_user();
-  }
+    static bool has_ran_yet;
+    if (!has_ran_yet) {
+        has_ran_yet = true;
+        startup_user();
+    }
 
 #ifdef TAP_DANCE_ENABLE  // Run Diablo 3 macro checking code.
-  run_diablo_macro_check();
+    run_diablo_macro_check();
 #endif // TAP_DANCE_ENABLE
 
 #ifdef RGBLIGHT_ENABLE
-  matrix_scan_rgb();
+    matrix_scan_rgb();
 #endif // RGBLIGHT_ENABLE
 
-  matrix_scan_keymap();
+    matrix_scan_keymap();
 }
 
 
 __attribute__ ((weak))
 uint32_t layer_state_set_keymap (uint32_t state) {
-  return state;
+    return state;
 }
 
 // on layer change, no matter where the change was initiated
 // Then runs keymap's layer change check
 uint32_t layer_state_set_user(uint32_t state) {
-  state = update_tri_layer_state(state, _RAISE, _LOWER, _ADJUST);
+    state = update_tri_layer_state(state, _RAISE, _LOWER, _ADJUST);
 #ifdef RGBLIGHT_ENABLE
-  state = layer_state_set_rgb(state);
+    state = layer_state_set_rgb(state);
 #endif // RGBLIGHT_ENABLE
-  return layer_state_set_keymap (state);
+    return layer_state_set_keymap (state);
 }
 
 
 __attribute__ ((weak))
 uint32_t default_layer_state_set_keymap (uint32_t state) {
-  return state;
+    return state;
 }
 
 // Runs state check and changes underglow color and animation
 uint32_t default_layer_state_set_user(uint32_t state) {
-  state = default_layer_state_set_keymap(state);
+    state = default_layer_state_set_keymap(state);
 #if 0
 #ifdef RGBLIGHT_ENABLE
   state = default_layer_state_set_rgb(state);
 #endif // RGBLIGHT_ENABLE
 #endif
-  return state;
+    return state;
 }
 
 __attribute__ ((weak))
@@ -225,16 +225,16 @@ void led_set_keymap(uint8_t usb_led) {}
 // So far, I only have keyboard specific code,
 // So nothing goes here.
 void led_set_user(uint8_t usb_led) {
-  led_set_keymap(usb_led);
+    led_set_keymap(usb_led);
 }
 
 __attribute__ ((weak))
 void eeconfig_init_keymap(void) {}
 
 void eeconfig_init_user(void) {
-  userspace_config.raw = 0;
-  userspace_config.rgb_layer_change = true;
-  eeconfig_update_user(userspace_config.raw);
+    userspace_config.raw = 0;
+    userspace_config.rgb_layer_change = true;
+    eeconfig_update_user(userspace_config.raw);
   #if (defined(UNICODE_ENABLE) || defined(UNICODEMAP_ENABLE) || defined(UCIS_ENABLE))
     set_unicode_input_mode(DRASHNA_UNICODE_MODE);
     get_unicode_input_mode();
index 6645626d98196b4afa364cf43fce59fe84c113bb..5df67792a5fad7281ea4aea78730fd8a660f3d28 100644 (file)
@@ -22,36 +22,36 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #include "wrappers.h"
 #include "process_records.h"
 #ifdef TAP_DANCE_ENABLE
-  #include "tap_dances.h"
+#   include "tap_dances.h"
 #endif // TAP_DANCE_ENABLE
 #if defined(RGBLIGHT_ENABLE) || defined(RGB_MATRIX_ENABLE)
-  #include "rgb_stuff.h"
+#   include "rgb_stuff.h"
 #endif
 #if defined(AUDIO_ENABLE) && __GNUC__ > 7
-  #if __has_include("drashna_song_list.h")
-    #include "drashna_song_list.h"
-  #endif
+#   if __has_include("drashna_song_list.h")
+#       include "drashna_song_list.h"
+#   endif
 #endif
 
 /* Define layer names */
 enum userspace_layers {
-  _QWERTY = 0,
-  _NUMLOCK = 0,
-  _COLEMAK,
-  _DVORAK,
-  _WORKMAN,
-  _NORMAN,
-  _MALTRON,
-  _EUCALYN,
-  _CARPLAX,
-  _MODS, /* layer 8 */
-  _GAMEPAD,
-  _DIABLO,
-  _MACROS,
-  _MEDIA,
-  _LOWER,
-  _RAISE,
-  _ADJUST,
+    _QWERTY = 0,
+    _NUMLOCK = 0,
+    _COLEMAK,
+    _DVORAK,
+    _WORKMAN,
+    _NORMAN,
+    _MALTRON,
+    _EUCALYN,
+    _CARPLAX,
+    _MODS, /* layer 8 */
+    _GAMEPAD,
+    _DIABLO,
+    _MACROS,
+    _MEDIA,
+    _LOWER,
+    _RAISE,
+    _ADJUST,
 };
 
 /*
@@ -73,14 +73,14 @@ void led_set_keymap(uint8_t usb_led);
 void eeconfig_init_keymap(void);
 
 typedef union {
-  uint32_t raw;
-  struct {
-    bool     rgb_layer_change :1;
-    bool     is_overwatch     :1;
-    bool     nuke_switch      :1;
-    uint8_t  unicode_mod      :4;
-    bool     swapped_numbers  :1;
-  };
+    uint32_t raw;
+    struct {
+        bool     rgb_layer_change :1;
+        bool     is_overwatch     :1;
+        bool     nuke_switch      :1;
+        uint8_t  unicode_mod      :4;
+        bool     swapped_numbers  :1;
+    };
 } userspace_config_t;
 
 extern userspace_config_t userspace_config;
@@ -92,13 +92,13 @@ But since TD() doesn't work when tap dance is disabled
 We use custom codes here, so we can substitute the right stuff
 */
 #ifdef TAP_DANCE_ENABLE
-#define KC_D3_1 TD(TD_D3_1)
-#define KC_D3_2 TD(TD_D3_2)
-#define KC_D3_3 TD(TD_D3_3)
-#define KC_D3_4 TD(TD_D3_4)
+#   define KC_D3_1 TD(TD_D3_1)
+#   define KC_D3_2 TD(TD_D3_2)
+#   define KC_D3_3 TD(TD_D3_3)
+#   define KC_D3_4 TD(TD_D3_4)
 #else // TAP_DANCE_ENABLE
-#define KC_D3_1 KC_1
-#define KC_D3_2 KC_2
-#define KC_D3_3 KC_3
-#define KC_D3_4 KC_4
+#   define KC_D3_1 KC_1
+#   define KC_D3_2 KC_2
+#   define KC_D3_3 KC_3
+#   define KC_D3_4 KC_4
 #endif // TAP_DANCE_ENABLE
index 2b6ccf510cb7bd76a43785c90694345f18fcd8de..a5487b5855f68d4d40469b453a050726ab287978 100644 (file)
@@ -4,12 +4,12 @@ uint16_t copy_paste_timer;
 
 __attribute__ ((weak))
 bool process_record_keymap(uint16_t keycode, keyrecord_t *record) {
-  return true;
+    return true;
 }
 
 __attribute__ ((weak))
 bool process_record_secrets(uint16_t keycode, keyrecord_t *record) {
-  return true;
+    return true;
 }
 
 // Defines actions tor my global custom keycodes. Defined in drashna.h file
@@ -18,140 +18,140 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
 
   // If console is enabled, it will print the matrix position and status of each key pressed
 #ifdef KEYLOGGER_ENABLE
-  #if defined(KEYBOARD_ergodox_ez) || defined(KEYBOARD_keebio_iris_rev2)
-    xprintf("KL: kc: %u, col: %u, row: %u, pressed: %u\n", keycode, record->event.key.row, record->event.key.col, record->event.pressed);
-  #else
-    xprintf("KL: kc: %u, col: %u, row: %u, pressed: %u\n", keycode, record->event.key.col, record->event.key.row, record->event.pressed);
-  #endif
+#   if defined(KEYBOARD_ergodox_ez) || defined(KEYBOARD_keebio_iris_rev2)
+        xprintf("KL: kc: %u, col: %u, row: %u, pressed: %u\n", keycode, record->event.key.row, record->event.key.col, record->event.pressed);
+#   else
+        xprintf("KL: kc: %u, col: %u, row: %u, pressed: %u\n", keycode, record->event.key.col, record->event.key.row, record->event.pressed);
+#   endif
 #endif //KEYLOGGER_ENABLE
 
-  switch (keycode) {
-  case KC_QWERTY ... KC_CARPLAX:
-    if (record->event.pressed) {
-      set_single_persistent_default_layer(keycode - KC_QWERTY);
-    }
-    break;
+    switch (keycode) {
+    case KC_QWERTY ... KC_CARPLAX:
+        if (record->event.pressed) {
+            set_single_persistent_default_layer(keycode - KC_QWERTY);
+        }
+        break;
 
-  case KC_MAKE:  // Compiles the firmware, and adds the flash command based on keyboard bootloader
-    if (!record->event.pressed) {
-      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), TAP_CODE_DELAY);
+    case KC_MAKE:  // Compiles the firmware, and adds the flash command based on keyboard bootloader
+        if (!record->event.pressed) {
+            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), TAP_CODE_DELAY);
 #ifndef MAKE_BOOTLOADER
-      if ( ( temp_mod | temp_osm ) & MOD_MASK_SHIFT )
+        if ( ( temp_mod | temp_osm ) & MOD_MASK_SHIFT )
 #endif
-      {
-        #if defined(__arm__)
-          send_string_with_delay_P(PSTR(":dfu-util"), TAP_CODE_DELAY);
-        #elif defined(BOOTLOADER_DFU)
-          send_string_with_delay_P(PSTR(":dfu"), TAP_CODE_DELAY);
-        #elif defined(BOOTLOADER_HALFKAY)
-          send_string_with_delay_P(PSTR(":teensy"), TAP_CODE_DELAY);
-        #elif defined(BOOTLOADER_CATERINA)
-          send_string_with_delay_P(PSTR(":avrdude"), TAP_CODE_DELAY);
-        #endif // bootloader options
-       }
-      if ( ( temp_mod | temp_osm ) & MOD_MASK_CTRL) { send_string_with_delay_P(PSTR(" -j8 --output-sync"), TAP_CODE_DELAY); }
-      send_string_with_delay_P(PSTR(SS_TAP(X_ENTER)), TAP_CODE_DELAY);
-    }
-    break;
+        {
+            #if defined(__arm__)
+            send_string_with_delay_P(PSTR(":dfu-util"), TAP_CODE_DELAY);
+            #elif defined(BOOTLOADER_DFU)
+            send_string_with_delay_P(PSTR(":dfu"), TAP_CODE_DELAY);
+            #elif defined(BOOTLOADER_HALFKAY)
+            send_string_with_delay_P(PSTR(":teensy"), TAP_CODE_DELAY);
+            #elif defined(BOOTLOADER_CATERINA)
+            send_string_with_delay_P(PSTR(":avrdude"), TAP_CODE_DELAY);
+            #endif // bootloader options
+        }
+        if ( ( temp_mod | temp_osm ) & MOD_MASK_CTRL) { send_string_with_delay_P(PSTR(" -j8 --output-sync"), TAP_CODE_DELAY); }
+            send_string_with_delay_P(PSTR(SS_TAP(X_ENTER)), TAP_CODE_DELAY);
+        }
+        break;
 
-  case VRSN: // Prints firmware version
-    if (record->event.pressed) {
-      send_string_with_delay_P(PSTR(QMK_KEYBOARD "/" QMK_KEYMAP " @ " QMK_VERSION ", Built on: " QMK_BUILDDATE), TAP_CODE_DELAY);
-    }
-    break;
+    case VRSN: // Prints firmware version
+        if (record->event.pressed) {
+            send_string_with_delay_P(PSTR(QMK_KEYBOARD "/" QMK_KEYMAP " @ " QMK_VERSION ", Built on: " QMK_BUILDDATE), TAP_CODE_DELAY);
+        }
+        break;
 
-// These are a serious of gaming macros.
-// Only enables for the viterbi, basically,
-// to save on firmware space, since it's limited.
+    // These are a serious of gaming macros.
+    // Only enables for the viterbi, basically,
+    // to save on firmware space, since it's limited.
 #ifdef MACROS_ENABLED
-  case KC_OVERWATCH: // Toggle's if we hit "ENTER" or "BACKSPACE" to input macros
-    if (record->event.pressed) { userspace_config.is_overwatch ^= 1; eeconfig_update_user(userspace_config.raw); }
+    case KC_OVERWATCH: // Toggle's if we hit "ENTER" or "BACKSPACE" to input macros
+        if (record->event.pressed) { userspace_config.is_overwatch ^= 1; eeconfig_update_user(userspace_config.raw); }
 #ifdef RGBLIGHT_ENABLE
-    userspace_config.is_overwatch ? rgblight_mode_noeeprom(17) : rgblight_mode_noeeprom(18);
+        userspace_config.is_overwatch ? rgblight_mode_noeeprom(17) : rgblight_mode_noeeprom(18);
 #endif //RGBLIGHT_ENABLE
-    break;
-  case KC_SALT:
-    return send_game_macro("Salt, salt, salt...", record, false);
-  case KC_MORESALT:
-    return  send_game_macro("Please sir, can I have some more salt?!", record, false);
-  case KC_SALTHARD:
-    return send_game_macro("Your salt only makes me harder, and even more aggressive!", record, false);
-  case KC_GOODGAME:
-    return send_game_macro("Good game, everyone!", record, false);
-  case KC_GLHF:
-    return send_game_macro("Good luck, have fun!!!", record, false);
-  case KC_SYMM:
-    return send_game_macro("Left click to win!", record, false);
-  case KC_JUSTGAME:
-    return send_game_macro("It may be a game, but if you don't want to actually try, please go play AI, so that people that actually want to take the game seriously and \"get good\" have a place to do so without trolls like you throwing games.", record, false);
-  case KC_TORB:
-    return send_game_macro("That was positively riveting!", record, false);
-  case KC_AIM:
-    send_game_macro("That aim is absolutely amazing. It's almost like you're a machine!", record, true);
-    return send_game_macro("Wait! That aim is TOO good!  You're clearly using an aim hack! CHEATER!", record, false);
-  case KC_C9:
-    return send_game_macro("OMG!!!  C9!!!", record, false);
-  case KC_GGEZ:
-    return send_game_macro("That was a fantastic game, though it was a bit easy. Try harder next time!", record, false);
+        break;
+    case KC_SALT:
+        return send_game_macro("Salt, salt, salt...", record, false);
+    case KC_MORESALT:
+        return  send_game_macro("Please sir, can I have some more salt?!", record, false);
+    case KC_SALTHARD:
+        return send_game_macro("Your salt only makes me harder, and even more aggressive!", record, false);
+    case KC_GOODGAME:
+        return send_game_macro("Good game, everyone!", record, false);
+    case KC_GLHF:
+        return send_game_macro("Good luck, have fun!!!", record, false);
+    case KC_SYMM:
+        return send_game_macro("Left click to win!", record, false);
+    case KC_JUSTGAME:
+        return send_game_macro("It may be a game, but if you don't want to actually try, please go play AI, so that people that actually want to take the game seriously and \"get good\" have a place to do so without trolls like you throwing games.", record, false);
+    case KC_TORB:
+        return send_game_macro("That was positively riveting!", record, false);
+    case KC_AIM:
+        send_game_macro("That aim is absolutely amazing. It's almost like you're a machine!", record, true);
+        return send_game_macro("Wait! That aim is TOO good!  You're clearly using an aim hack! CHEATER!", record, false);
+    case KC_C9:
+        return send_game_macro("OMG!!!  C9!!!", record, false);
+    case KC_GGEZ:
+        return send_game_macro("That was a fantastic game, though it was a bit easy. Try harder next time!", record, false);
 #endif // MACROS_ENABLED
 
 
-  case KC_DIABLO_CLEAR:  // reset all Diablo timers, disabling them
+    case KC_DIABLO_CLEAR:  // reset all Diablo timers, disabling them
 #ifdef TAP_DANCE_ENABLE
-    if (record->event.pressed) {
-      uint8_t dtime;
-      for (dtime = 0; dtime < 4; dtime++) {
-        diablo_key_time[dtime] = diablo_times[0];
-      }
-    }
+        if (record->event.pressed) {
+            uint8_t dtime;
+            for (dtime = 0; dtime < 4; dtime++) {
+                diablo_timer[dtime].key_time = diablo_times[0];
+            }
+        }
 #endif // TAP_DANCE_ENABLE
-    break;
+        break;
 
 
   case KC_CCCV:                                    // One key copy/paste
-    if(record->event.pressed){
-      copy_paste_timer = timer_read();
-    } else {
-      if (timer_elapsed(copy_paste_timer) > TAPPING_TERM) {   // Hold, copy
-        register_code(KC_LCTL);
-        tap_code(KC_C);
-        unregister_code(KC_LCTL);
-      } else {                                // Tap, paste
-        register_code(KC_LCTL);
-        tap_code(KC_V);
-        unregister_code(KC_LCTL);
-      }
-    }
-    break;
+        if(record->event.pressed){
+            copy_paste_timer = timer_read();
+            } else {
+            if (timer_elapsed(copy_paste_timer) > TAPPING_TERM) {   // Hold, copy
+                register_code(KC_LCTL);
+                tap_code(KC_C);
+                unregister_code(KC_LCTL);
+            } else {                                // Tap, paste
+                register_code(KC_LCTL);
+                tap_code(KC_V);
+                unregister_code(KC_LCTL);
+            }
+        }
+        break;
 #ifdef UNICODE_ENABLE
-  case UC_FLIP: // (ノಠ痊ಠ)ノ彡┻━┻
-    if (record->event.pressed) {
-      send_unicode_hex_string("0028 30CE 0CA0 75CA 0CA0 0029 30CE 5F61 253B 2501 253B");
-    }
-    break;
-  case UC_TABL: // ┬─┬ノ( º _ ºノ)
-    if (record->event.pressed) {
-      send_unicode_hex_string("252C 2500 252C 30CE 0028 0020 00BA 0020 005F 0020 00BA 30CE 0029");
-    }
-    break;
-  case UC_SHRG: // ¯\_(ツ)_/¯
-    if (record->event.pressed) {
-      send_unicode_hex_string("00AF 005C 005F 0028 30C4 0029 005F 002F 00AF");
-    }
-    break;
-  case UC_DISA: // ಠ_ಠ
-    if (record->event.pressed) {
-      send_unicode_hex_string("0CA0 005F 0CA0");
-    }
-    break;
+    case UC_FLIP: // (ノಠ痊ಠ)ノ彡┻━┻
+        if (record->event.pressed) {
+            send_unicode_hex_string("0028 30CE 0CA0 75CA 0CA0 0029 30CE 5F61 253B 2501 253B");
+        }
+        break;
+    case UC_TABL: // ┬─┬ノ( º _ ºノ)
+        if (record->event.pressed) {
+            send_unicode_hex_string("252C 2500 252C 30CE 0028 0020 00BA 0020 005F 0020 00BA 30CE 0029");
+        }
+        break;
+    case UC_SHRG: // ¯\_(ツ)_/¯
+        if (record->event.pressed) {
+            send_unicode_hex_string("00AF 005C 005F 0028 30C4 0029 005F 002F 00AF");
+        }
+        break;
+    case UC_DISA: // ಠ_ಠ
+        if (record->event.pressed) {
+            send_unicode_hex_string("0CA0 005F 0CA0");
+        }
+        break;
 #endif
-  }
-  return process_record_keymap(keycode, record) &&
+    }
+    return process_record_keymap(keycode, record) &&
 #if defined(RGBLIGHT_ENABLE) || defined(RGB_MATRIX_ENABLE)
-    process_record_user_rgb(keycode, record) &&
+        process_record_user_rgb(keycode, record) &&
 #endif // RGBLIGHT_ENABLE
-    process_record_secrets(keycode, record);
+        process_record_secrets(keycode, record);
 }
index 5e3374d3f2c9711acec8e3eb7c4c26785e02c1c5..35adec84cc761f4617bec872a4b574b9202067ce 100644 (file)
@@ -2,48 +2,48 @@
 #include "drashna.h"
 
 #if defined(KEYMAP_SAFE_RANGE)
-  #define PLACEHOLDER_SAFE_RANGE KEYMAP_SAFE_RANGE
+#   define PLACEHOLDER_SAFE_RANGE KEYMAP_SAFE_RANGE
 #else
-  #define PLACEHOLDER_SAFE_RANGE SAFE_RANGE
+#   define PLACEHOLDER_SAFE_RANGE SAFE_RANGE
 #endif
 
 enum userspace_custom_keycodes {
-  VRSN = PLACEHOLDER_SAFE_RANGE,              // Prints QMK Firmware and board info
-  KC_QWERTY,         // Sets default layer to QWERTY
-  KC_COLEMAK,        // Sets default layer to COLEMAK
-  KC_DVORAK,         // Sets default layer to DVORAK
-  KC_WORKMAN,        // Sets default layer to WORKMAN
-  KC_NORMAN,         // Sets default layer to NORMAN
-  KC_MALTRON,        // Sets default layer to MALTRON
-  KC_EUCALYN,        // Sets default layer to EUCALYN
-  KC_CARPLAX,        // Sets default layer to CARPLAX
-  KC_DIABLO_CLEAR,   // Clears all Diablo Timers
-  KC_OVERWATCH,      // Toggles game macro input mode (so in OW, it defaults to game chat)
-  KC_SALT,           // See drashna.c for details
-  KC_MORESALT,
-  KC_SALTHARD,
-  KC_GOODGAME,
-  KC_SYMM,
-  KC_JUSTGAME,
-  KC_GLHF,
-  KC_TORB,
-  KC_AIM,
-  KC_C9,
-  KC_GGEZ,
-  KC_MAKE,           // Run keyboard's customized make command
-  KC_RGB_T,          // Toggles RGB Layer Indication mode
-  KC_SECRET_1,       // test1
-  KC_SECRET_2,       // test2
-  KC_SECRET_3,       // test3
-  KC_SECRET_4,       // test4
-  KC_SECRET_5,       // test5
-  KC_CCCV,           // Hold to copy, tap to paste
-  KC_NUKE,           // NUCLEAR LAUNCH DETECTED!!!
-  UC_FLIP,           // (ಠ痊ಠ)┻━┻
-  UC_TABL,           // ┬─┬ノ( º _ ºノ)
-  UC_SHRG,           // ¯\_(ツ)_/¯
-  UC_DISA,           // ಠ_ಠ
-  NEW_SAFE_RANGE     //use "NEWPLACEHOLDER for keymap specific codes
+    VRSN = PLACEHOLDER_SAFE_RANGE,              // Prints QMK Firmware and board info
+    KC_QWERTY,         // Sets default layer to QWERTY
+    KC_COLEMAK,        // Sets default layer to COLEMAK
+    KC_DVORAK,         // Sets default layer to DVORAK
+    KC_WORKMAN,        // Sets default layer to WORKMAN
+    KC_NORMAN,         // Sets default layer to NORMAN
+    KC_MALTRON,        // Sets default layer to MALTRON
+    KC_EUCALYN,        // Sets default layer to EUCALYN
+    KC_CARPLAX,        // Sets default layer to CARPLAX
+    KC_DIABLO_CLEAR,   // Clears all Diablo Timers
+    KC_OVERWATCH,      // Toggles game macro input mode (so in OW, it defaults to game chat)
+    KC_SALT,           // See drashna.c for details
+    KC_MORESALT,
+    KC_SALTHARD,
+    KC_GOODGAME,
+    KC_SYMM,
+    KC_JUSTGAME,
+    KC_GLHF,
+    KC_TORB,
+    KC_AIM,
+    KC_C9,
+    KC_GGEZ,
+    KC_MAKE,           // Run keyboard's customized make command
+    KC_RGB_T,          // Toggles RGB Layer Indication mode
+    KC_SECRET_1,       // test1
+    KC_SECRET_2,       // test2
+    KC_SECRET_3,       // test3
+    KC_SECRET_4,       // test4
+    KC_SECRET_5,       // test5
+    KC_CCCV,           // Hold to copy, tap to paste
+    KC_NUKE,           // NUCLEAR LAUNCH DETECTED!!!
+    UC_FLIP,           // (ಠ痊ಠ)┻━┻
+    UC_TABL,           // ┬─┬ノ( º _ ºノ)
+    UC_SHRG,           // ¯\_(ツ)_/¯
+    UC_DISA,           // ಠ_ಠ
+    NEW_SAFE_RANGE     //use "NEWPLACEHOLDER for keymap specific codes
 };
 
 bool process_record_secrets(uint16_t keycode, keyrecord_t *record);
index b5e145842f6e2d0ba7d916ff218e8b6f81fada2b..38e86ae0ea797d3b5dea6aafed73594374731992 100644 (file)
@@ -11,80 +11,80 @@ extern rgb_config_t rgb_matrix_config;
 
 #ifdef RGBLIGHT_ENABLE
 void rgblight_sethsv_default_helper(uint8_t index) {
-  rgblight_sethsv_at(rgblight_config.hue, rgblight_config.sat, rgblight_config.val, index);
+    rgblight_sethsv_at(rgblight_config.hue, rgblight_config.sat, rgblight_config.val, index);
 }
 #endif // RGBLIGHT_ENABLE
 
 #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 | 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
-      #ifdef SHFT_LED2
-        rgblight_sethsv_at(120, 255, 255, SHFT_LED2);
-      #endif // SHFT_LED2
-    } else {
-      #ifdef SHFT_LED1
-        rgblight_sethsv_default_helper(SHFT_LED1);
-      #endif // SHFT_LED1
-      #ifdef SHFT_LED2
-        rgblight_sethsv_default_helper(SHFT_LED2);
-      #endif // SHFT_LED2
-    }
-    if ( (this_mod | this_osm) & MOD_MASK_CTRL) {
-      #ifdef CTRL_LED1
-        rgblight_sethsv_at(0, 255, 255, CTRL_LED1);
-      #endif // CTRL_LED1
-      #ifdef CTRL_LED2
-        rgblight_sethsv_at(0, 255, 255, CTRL_LED2);
-      #endif // CTRL_LED2
-    } else {
-      #ifdef CTRL_LED1
-        rgblight_sethsv_default_helper(CTRL_LED1);
-      #endif // CTRL_LED1
-      #ifdef CTRL_LED2
-        rgblight_sethsv_default_helper(CTRL_LED2);
-      #endif // CTRL_LED2
-    }
-    if ( (this_mod | this_osm) & MOD_MASK_GUI) {
-      #ifdef GUI_LED1
-        rgblight_sethsv_at(51, 255, 255, GUI_LED1);
-      #endif // GUI_LED1
-      #ifdef GUI_LED2
-        rgblight_sethsv_at(51, 255, 255, GUI_LED2);
-      #endif // GUI_LED2
-    } else {
-      #ifdef GUI_LED1
-        rgblight_sethsv_default_helper(GUI_LED1);
-      #endif // GUI_LED1
-      #ifdef GUI_LED2
-        rgblight_sethsv_default_helper(GUI_LED2);
-      #endif // GUI_LED2
-    }
-    if ( (this_mod | this_osm) & MOD_MASK_ALT) {
-      #ifdef ALT_LED1
-        rgblight_sethsv_at(240, 255, 255, ALT_LED1);
-      #endif // ALT_LED1
-      #ifdef GUI_LED2
-        rgblight_sethsv_at(240, 255, 255, ALT_LED2);
-      #endif // GUI_LED2
-    } else {
-      #ifdef GUI_LED1
-        rgblight_sethsv_default_helper(ALT_LED1);
-      #endif // GUI_LED1
-      #ifdef GUI_LED2
-        rgblight_sethsv_default_helper(ALT_LED2);
-      #endif // GUI_LED2
+    if (userspace_config.rgb_layer_change && biton32(layer_state) == 0) {
+        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
+        #ifdef SHFT_LED2
+            rgblight_sethsv_at(120, 255, 255, SHFT_LED2);
+        #endif // SHFT_LED2
+        } else {
+        #ifdef SHFT_LED1
+            rgblight_sethsv_default_helper(SHFT_LED1);
+        #endif // SHFT_LED1
+        #ifdef SHFT_LED2
+            rgblight_sethsv_default_helper(SHFT_LED2);
+        #endif // SHFT_LED2
+        }
+        if ( (this_mod | this_osm) & MOD_MASK_CTRL) {
+        #ifdef CTRL_LED1
+            rgblight_sethsv_at(0, 255, 255, CTRL_LED1);
+        #endif // CTRL_LED1
+        #ifdef CTRL_LED2
+            rgblight_sethsv_at(0, 255, 255, CTRL_LED2);
+        #endif // CTRL_LED2
+        } else {
+        #ifdef CTRL_LED1
+            rgblight_sethsv_default_helper(CTRL_LED1);
+        #endif // CTRL_LED1
+        #ifdef CTRL_LED2
+            rgblight_sethsv_default_helper(CTRL_LED2);
+        #endif // CTRL_LED2
+        }
+        if ( (this_mod | this_osm) & MOD_MASK_GUI) {
+        #ifdef GUI_LED1
+            rgblight_sethsv_at(51, 255, 255, GUI_LED1);
+        #endif // GUI_LED1
+        #ifdef GUI_LED2
+            rgblight_sethsv_at(51, 255, 255, GUI_LED2);
+        #endif // GUI_LED2
+        } else {
+        #ifdef GUI_LED1
+            rgblight_sethsv_default_helper(GUI_LED1);
+        #endif // GUI_LED1
+        #ifdef GUI_LED2
+            rgblight_sethsv_default_helper(GUI_LED2);
+        #endif // GUI_LED2
+        }
+        if ( (this_mod | this_osm) & MOD_MASK_ALT) {
+        #ifdef ALT_LED1
+            rgblight_sethsv_at(240, 255, 255, ALT_LED1);
+        #endif // ALT_LED1
+        #ifdef GUI_LED2
+            rgblight_sethsv_at(240, 255, 255, ALT_LED2);
+        #endif // GUI_LED2
+        } else {
+        #ifdef GUI_LED1
+            rgblight_sethsv_default_helper(ALT_LED1);
+        #endif // GUI_LED1
+        #ifdef GUI_LED2
+            rgblight_sethsv_default_helper(ALT_LED2);
+        #endif // GUI_LED2
+        }
     }
-  }
 }
 
 void matrix_scan_indicator(void) {
-  if (has_initialized) {
-    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
 
@@ -95,69 +95,71 @@ __attribute__ ((weak))
 bool rgblight_twinkle_is_led_used_keymap(uint8_t index) { return false; }
 
 bool rgblight_twinkle_is_led_used(uint8_t index) {
-  switch (index) {
+    switch (index) {
 #ifdef INDICATOR_LIGHTS
 #ifdef SHFT_LED1
-    case SHFT_LED1:
-      return true;
+        case SHFT_LED1:
+            return true;
 #endif //SHFT_LED1
 #ifdef SHFT_LED2
-    case SHFT_LED2:
-      return true;
+        case SHFT_LED2:
+            return true;
 #endif //SHFT_LED2
 #ifdef CTRL_LED1
-    case CTRL_LED1:
-      return true;
+        case CTRL_LED1:
+            return true;
 #endif //CTRL_LED1
 #ifdef CTRL_LED2
-    case CTRL_LED2:
-      return true;
+        case CTRL_LED2:
+            return true;
 #endif //CTRL_LED2
 #ifdef GUI_LED1
-    case GUI_LED1:
-      return true;
+        case GUI_LED1:
+            return true;
 #endif //GUI_LED1
 #ifdef GUI_LED2
-    case GUI_LED2:
-      return true;
+        case GUI_LED2:
+            return true;
 #endif //GUI_LED2
 #ifdef ALT_LED1
-    case ALT_LED1:
-      return true;
+        case ALT_LED1:
+            return true;
 #endif //ALT_LED1
 #ifdef ALT_LED2
-    case ALT_LED2:
-      return true;
+        case ALT_LED2:
+            return true;
 #endif //ALT_LED2
 #endif //INDICATOR_LIGHTS
-    default:
-    return rgblight_twinkle_is_led_used_keymap(index);
+        default:
+            return rgblight_twinkle_is_led_used_keymap(index);
   }
 }
 
 void scan_rgblight_fadeout(void) { // Don't effing change this function .... rgblight_sethsv is supppppper intensive
-  bool litup = false;
-  for (uint8_t light_index = 0 ; light_index < RGBLED_NUM ; ++light_index ) {
-    if (lights[light_index].enabled && timer_elapsed(lights[light_index].timer) > 10) {
-      rgblight_fadeout *light = &lights[light_index];
-      litup = true;
+    bool litup = false;
+    for (uint8_t light_index = 0 ; light_index < RGBLED_NUM ; ++light_index ) {
+        if (lights[light_index].enabled && timer_elapsed(lights[light_index].timer) > 10) {
+        rgblight_fadeout *light = &lights[light_index];
+        litup = true;
 
-      if (light->life) {
-        light->life -= 1;
-        if (biton32(layer_state) == 0) {
-          sethsv(light->hue + rand() % 0xF, 255, light->life, (LED_TYPE *)&led[light_index]);
+        if (light->life) {
+            light->life -= 1;
+            if (biton32(layer_state) == 0) {
+                sethsv(light->hue + rand() % 0xF, 255, light->life, (LED_TYPE *)&led[light_index]);
+            }
+            light->timer = timer_read();
+        }
+        else {
+            if (light->enabled && biton32(layer_state) == 0) {
+                rgblight_sethsv_default_helper(light_index);
+            }
+            litup = light->enabled = false;
+        }
         }
-        light->timer = timer_read();
-      }
-      else {
-        if (light->enabled && biton32(layer_state) == 0) { rgblight_sethsv_default_helper(light_index); }
-        litup = light->enabled = false;
-      }
     }
-  }
-  if (litup && biton32(layer_state) == 0) {
-    rgblight_set();
-  }
+    if (litup && biton32(layer_state) == 0) {
+        rgblight_set();
+    }
 }
 
 void start_rgb_light(void) {
@@ -203,42 +205,42 @@ void start_rgb_light(void) {
 
 
 bool process_record_user_rgb(uint16_t keycode, keyrecord_t *record) {
-  if ((keycode >= QK_MOD_TAP && keycode <= QK_MOD_TAP_MAX) || (keycode >= QK_LAYER_TAP && keycode <= QK_LAYER_TAP_MAX)) {
-    keycode = keycode & 0xFF;
-  }
-  switch (keycode) {
+    if ((keycode >= QK_MOD_TAP && keycode <= QK_MOD_TAP_MAX) || (keycode >= QK_LAYER_TAP && keycode <= QK_LAYER_TAP_MAX)) {
+        keycode = keycode & 0xFF;
+    }
+    switch (keycode) {
 #ifdef RGBLIGHT_TWINKLE
-    case KC_A ... KC_SLASH:
-    case KC_F1 ... KC_F12:
-    case KC_INSERT ... KC_UP:
-    case KC_KP_SLASH ... KC_KP_DOT:
-    case KC_F13 ... KC_F24:
-    case KC_AUDIO_MUTE ... KC_MEDIA_REWIND:
-      if (record->event.pressed) { start_rgb_light(); }
-      return true; break;
+        case KC_A ... KC_SLASH:
+        case KC_F1 ... KC_F12:
+        case KC_INSERT ... KC_UP:
+        case KC_KP_SLASH ... KC_KP_DOT:
+        case KC_F13 ... KC_F24:
+        case KC_AUDIO_MUTE ... KC_MEDIA_REWIND:
+            if (record->event.pressed) { start_rgb_light(); }
+            return true; break;
 #endif // RGBLIGHT_TWINKLE
-  case KC_RGB_T:  // This allows me to use underglow as layer indication, or as normal
+        case KC_RGB_T:  // This allows me to use underglow as layer indication, or as normal
 #if defined(RGBLIGHT_ENABLE) || defined(RGB_MATRIX_ENABLE)
-    if (record->event.pressed) {
-      userspace_config.rgb_layer_change ^= 1;
-      xprintf("rgblight layer change [EEPROM]: %u\n", userspace_config.rgb_layer_change);
-      eeconfig_update_user(userspace_config.raw);
-      if (userspace_config.rgb_layer_change) {
-        layer_state_set(layer_state); // This is needed to immediately set the layer color (looks better)
-      }
-    }
+            if (record->event.pressed) {
+                userspace_config.rgb_layer_change ^= 1;
+                xprintf("rgblight layer change [EEPROM]: %u\n", userspace_config.rgb_layer_change);
+                eeconfig_update_user(userspace_config.raw);
+                if (userspace_config.rgb_layer_change) {
+                    layer_state_set(layer_state); // This is needed to immediately set the layer color (looks better)
+                }
+            }
 #endif // RGBLIGHT_ENABLE
-    return false; break;
+            return false; break;
 #ifdef RGBLIGHT_ENABLE
-  case RGB_MODE_FORWARD ... RGB_MODE_GRADIENT: // quantum_keycodes.h L400 for definitions
-    if (record->event.pressed) { //This disables layer indication, as it's assumed that if you're changing this ... you want that disabled
-      if (userspace_config.rgb_layer_change) {
-        userspace_config.rgb_layer_change = false;
-        xprintf("rgblight layer change [EEPROM]: %u\n", userspace_config.rgb_layer_change);
-        eeconfig_update_user(userspace_config.raw);
-      }
-    }
-    return true; break;
+        case RGB_MODE_FORWARD ... RGB_MODE_GRADIENT: // quantum_keycodes.h L400 for definitions
+            if (record->event.pressed) { //This disables layer indication, as it's assumed that if you're changing this ... you want that disabled
+                if (userspace_config.rgb_layer_change) {
+                    userspace_config.rgb_layer_change = false;
+                    xprintf("rgblight layer change [EEPROM]: %u\n", userspace_config.rgb_layer_change);
+                    eeconfig_update_user(userspace_config.raw);
+                }
+            }
+            return true; break;
 #endif // RGBLIGHT_ENABLE
   }
     return true;
@@ -248,28 +250,28 @@ bool process_record_user_rgb(uint16_t keycode, keyrecord_t *record) {
 
 void keyboard_post_init_rgb(void) {
 #if defined(RGBLIGHT_ENABLE) && defined(RGBLIGHT_STARTUP_ANIMATION)
-  if (userspace_config.rgb_layer_change) { rgblight_enable_noeeprom(); }
-       if (rgblight_config.enable) {
-    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);
-      matrix_scan();
-      wait_ms(10);
+    if (userspace_config.rgb_layer_change) { rgblight_enable_noeeprom(); }
+    if (rgblight_config.enable) {
+        layer_state_set_user(layer_state);
+        uint16_t old_hue = rgblight_config.hue;
+        rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT);
+        for (uint16_t i = 255; i > 0; i--) {
+            rgblight_sethsv_noeeprom( ( i + old_hue) % 255, 255, 255);
+            matrix_scan();
+            wait_ms(10);
+        }
     }
-  }
 #endif
-  layer_state_set_user(layer_state);
+    layer_state_set_user(layer_state);
 }
 
 void matrix_scan_rgb(void) {
 #ifdef RGBLIGHT_TWINKLE
-  scan_rgblight_fadeout();
+    scan_rgblight_fadeout();
 #endif // RGBLIGHT_ENABLE
 
 #ifdef INDICATOR_LIGHTS
-  matrix_scan_indicator();
+    matrix_scan_indicator();
 #endif
 
 }
@@ -277,99 +279,60 @@ void matrix_scan_rgb(void) {
 
 uint32_t layer_state_set_rgb(uint32_t state) {
 #ifdef RGBLIGHT_ENABLE
-  if (userspace_config.rgb_layer_change) {
-    switch (biton32(state)) {
-    case _MACROS:
-      rgblight_sethsv_noeeprom_orange();
-      userspace_config.is_overwatch ? rgblight_mode_noeeprom(RGBLIGHT_MODE_SNAKE + 2) : rgblight_mode_noeeprom(RGBLIGHT_MODE_SNAKE + 3);
-      break;
-    case _MEDIA:
-      rgblight_sethsv_noeeprom_chartreuse();
-      rgblight_mode_noeeprom(RGBLIGHT_MODE_KNIGHT + 1);
-      break;
-    case _GAMEPAD:
-      rgblight_sethsv_noeeprom_orange();
-      rgblight_mode_noeeprom(RGBLIGHT_MODE_SNAKE + 2);
-      break;
-    case _DIABLO:
-      rgblight_sethsv_noeeprom_red();
-      rgblight_mode_noeeprom(RGBLIGHT_MODE_BREATHING + 3);
-      break;
-    case _RAISE:
-      rgblight_sethsv_noeeprom_yellow();
-      rgblight_mode_noeeprom(RGBLIGHT_MODE_BREATHING + 3);
-      break;
-    case _LOWER:
-      rgblight_sethsv_noeeprom_green();
-      rgblight_mode_noeeprom(RGBLIGHT_MODE_BREATHING + 3);
-      break;
-    case _ADJUST:
-      rgblight_sethsv_noeeprom_red();
-      rgblight_mode_noeeprom(RGBLIGHT_MODE_KNIGHT + 2);
-      break;
-    default: //  for any other layers, or the default layer
-      switch (biton32(default_layer_state)) {
-        case _COLEMAK:
-          rgblight_sethsv_noeeprom_magenta(); break;
-        case _DVORAK:
-          rgblight_sethsv_noeeprom_springgreen(); break;
-        case _WORKMAN:
-          rgblight_sethsv_noeeprom_goldenrod(); break;
-        case _NORMAN:
-          rgblight_sethsv_noeeprom_coral(); break;
-        case _MALTRON:
-          rgblight_sethsv_noeeprom_yellow(); break;
-        case _EUCALYN:
-          rgblight_sethsv_noeeprom_pink(); break;
-        case _CARPLAX:
-          rgblight_sethsv_noeeprom_blue(); break;
-        default:
-          rgblight_sethsv_noeeprom_cyan(); break;
-      }
-      biton32(state) == _MODS ? rgblight_mode_noeeprom(RGBLIGHT_MODE_BREATHING) : rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT); // if _MODS layer is on, then breath to denote it
-      break;
+    if (userspace_config.rgb_layer_change) {
+        switch (biton32(state)) {
+            case _MACROS:
+                rgblight_sethsv_noeeprom_orange();
+                userspace_config.is_overwatch ? rgblight_mode_noeeprom(RGBLIGHT_MODE_SNAKE + 2) : rgblight_mode_noeeprom(RGBLIGHT_MODE_SNAKE + 3);
+                break;
+            case _MEDIA:
+                rgblight_sethsv_noeeprom_chartreuse();
+                rgblight_mode_noeeprom(RGBLIGHT_MODE_KNIGHT + 1);
+                break;
+            case _GAMEPAD:
+                rgblight_sethsv_noeeprom_orange();
+                rgblight_mode_noeeprom(RGBLIGHT_MODE_SNAKE + 2);
+                break;
+            case _DIABLO:
+                rgblight_sethsv_noeeprom_red();
+                rgblight_mode_noeeprom(RGBLIGHT_MODE_BREATHING + 3);
+                break;
+            case _RAISE:
+                rgblight_sethsv_noeeprom_yellow();
+                rgblight_mode_noeeprom(RGBLIGHT_MODE_BREATHING + 3);
+                break;
+            case _LOWER:
+                rgblight_sethsv_noeeprom_green();
+                rgblight_mode_noeeprom(RGBLIGHT_MODE_BREATHING + 3);
+                break;
+            case _ADJUST:
+                rgblight_sethsv_noeeprom_red();
+                rgblight_mode_noeeprom(RGBLIGHT_MODE_KNIGHT + 2);
+                break;
+            default: //  for any other layers, or the default layer
+                switch (biton32(default_layer_state)) {
+                    case _COLEMAK:
+                        rgblight_sethsv_noeeprom_magenta(); break;
+                    case _DVORAK:
+                        rgblight_sethsv_noeeprom_springgreen(); break;
+                    case _WORKMAN:
+                        rgblight_sethsv_noeeprom_goldenrod(); break;
+                    case _NORMAN:
+                        rgblight_sethsv_noeeprom_coral(); break;
+                    case _MALTRON:
+                        rgblight_sethsv_noeeprom_yellow(); break;
+                    case _EUCALYN:
+                        rgblight_sethsv_noeeprom_pink(); break;
+                    case _CARPLAX:
+                        rgblight_sethsv_noeeprom_blue(); break;
+                    default:
+                        rgblight_sethsv_noeeprom_cyan(); break;
+                }
+                biton32(state) == _MODS ? rgblight_mode_noeeprom(RGBLIGHT_MODE_BREATHING) : rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT); // if _MODS layer is on, then breath to denote it
+                break;
+        }
     }
-//    layer_state_set_indicator(); // Runs every scan, so need to call this here .... since I can't get it working "right" anyhow
-  }
 #endif // RGBLIGHT_ENABLE
 
-  return state;
-}
-
-#if 0
-uint32_t default_layer_state_set_rgb(uint32_t state) {
-#ifdef RGBLIGHT_ENABLE
-  if (userspace_config.rgb_layer_change) {
-    rgblight_config_t temp_rgblight_config = rgblight_config;
-    switch (biton32(state)) {
-      case _COLEMAK:
-        temp_rgblight_config.hue = 300;
-        temp_rgblight_config.val = 255;
-        temp_rgblight_config.sat = 255;
-        temp_rgblight_config.mode = 1;
-        break;
-      case _DVORAK:
-        temp_rgblight_config.hue = 150;
-        temp_rgblight_config.val = 255;
-        temp_rgblight_config.sat = 255;
-        temp_rgblight_config.mode = 1;
-      case _WORKMAN:
-        temp_rgblight_config.hue = 43;
-        temp_rgblight_config.val = 218;
-        temp_rgblight_config.sat = 218;
-        temp_rgblight_config.mode = 1;
-      default:
-        temp_rgblight_config.hue = 180;
-        temp_rgblight_config.val = 255;
-        temp_rgblight_config.sat = 255;
-        temp_rgblight_config.mode = 1;
-    }
-    if (temp_rgblight_config.raw != eeconfig_read_rgblight()) {
-      xprintf("rgblight set default layer hsv [EEPROM]: %u,%u,%u,%u\n", temp_rgblight_config.hue, temp_rgblight_config.sat, temp_rgblight_config.val, temp_rgblight_config.mode);
-      eeconfig_update_rgblight(temp_rgblight_config.raw);
-    }
-  }
-#endif // RGBLIGHT_ENABLE
-  return state;
+    return state;
 }
-#endif
diff --git a/users/drashna/rgblight_breathe_table.h b/users/drashna/rgblight_breathe_table.h
new file mode 100644 (file)
index 0000000..05d347f
--- /dev/null
@@ -0,0 +1,116 @@
+#ifndef RGBLIGHT_EFFECT_BREATHE_TABLE
+#define RGBLIGHT_EFFECT_BREATHE_TABLE
+
+const uint8_t rgblight_effect_breathe_table[] PROGMEM = {
+  /* #define RGBLIGHT_EFFECT_BREATHE_CENTER   0.00 */
+  /* #define RGBLIGHT_EFFECT_BREATHE_MAX      255 */
+
+ #if RGBLIGHT_BREATHE_TABLE_SIZE == 256
+  0x44,  0x45,  0x47,  0x48,  0x4a,  0x4b,  0x4c,  0x4e,
+  0x4f,  0x51,  0x52,  0x54,  0x55,  0x57,  0x58,  0x5a,
+  0x5c,  0x5d,  0x5f,  0x60,  0x62,  0x64,  0x65,  0x67,
+  0x69,  0x6a,  0x6c,  0x6e,  0x70,  0x72,  0x73,  0x75,
+  0x77,  0x79,  0x7b,  0x7c,  0x7e,  0x80,  0x82,  0x84,
+  0x86,  0x88,  0x8a,  0x8b,  0x8d,  0x8f,  0x91,  0x93,
+  0x95,  0x97,  0x99,  0x9b,  0x9d,  0x9f,  0xa1,  0xa3,
+  0xa5,  0xa7,  0xa9,  0xaa,  0xac,  0xae,  0xb0,  0xb2,
+  0xb4,  0xb6,  0xb8,  0xba,  0xbc,  0xbe,  0xbf,  0xc1,
+  0xc3,  0xc5,  0xc7,  0xc9,  0xca,  0xcc,  0xce,  0xd0,
+  0xd1,  0xd3,  0xd5,  0xd6,  0xd8,  0xda,  0xdb,  0xdd,
+  0xde,  0xe0,  0xe1,  0xe3,  0xe4,  0xe5,  0xe7,  0xe8,
+  0xe9,  0xeb,  0xec,  0xed,  0xee,  0xef,  0xf0,  0xf1,
+  0xf2,  0xf3,  0xf4,  0xf5,  0xf6,  0xf7,  0xf8,  0xf8,
+  0xf9,  0xfa,  0xfa,  0xfb,  0xfc,  0xfc,  0xfc,  0xfd,
+  0xfd,  0xfe,  0xfe,  0xfe,  0xfe,  0xfe,  0xfe,  0xfe,
+  0xfe,  0xfe,  0xfe,  0xfe,  0xfe,  0xfe,  0xfe,  0xfd,
+  0xfd,  0xfc,  0xfc,  0xfc,  0xfb,  0xfa,  0xfa,  0xf9,
+  0xf8,  0xf8,  0xf7,  0xf6,  0xf5,  0xf4,  0xf3,  0xf2,
+  0xf1,  0xf0,  0xef,  0xee,  0xed,  0xec,  0xeb,  0xe9,
+  0xe8,  0xe7,  0xe5,  0xe4,  0xe3,  0xe1,  0xe0,  0xde,
+  0xdd,  0xdb,  0xda,  0xd8,  0xd6,  0xd5,  0xd3,  0xd1,
+  0xd0,  0xce,  0xcc,  0xca,  0xc9,  0xc7,  0xc5,  0xc3,
+  0xc1,  0xbf,  0xbe,  0xbc,  0xba,  0xb8,  0xb6,  0xb4,
+  0xb2,  0xb0,  0xae,  0xac,  0xaa,  0xa9,  0xa7,  0xa5,
+  0xa3,  0xa1,  0x9f,  0x9d,  0x9b,  0x99,  0x97,  0x95,
+  0x93,  0x91,  0x8f,  0x8d,  0x8b,  0x8a,  0x88,  0x86,
+  0x84,  0x82,  0x80,  0x7e,  0x7c,  0x7b,  0x79,  0x77,
+  0x75,  0x73,  0x72,  0x70,  0x6e,  0x6c,  0x6a,  0x69,
+  0x67,  0x65,  0x64,  0x62,  0x60,  0x5f,  0x5d,  0x5c,
+  0x5a,  0x58,  0x57,  0x55,  0x54,  0x52,  0x51,  0x4f,
+  0x4e,  0x4c,  0x4b,  0x4a,  0x48,  0x47,  0x45,  0x44
+ #endif /* 256 bytes table */
+
+ #if RGBLIGHT_BREATHE_TABLE_SIZE == 128
+  0x44,  0x47,  0x4a,  0x4c,
+  0x4f,  0x52,  0x55,  0x58,
+  0x5c,  0x5f,  0x62,  0x65,
+  0x69,  0x6c,  0x70,  0x73,
+  0x77,  0x7b,  0x7e,  0x82,
+  0x86,  0x8a,  0x8d,  0x91,
+  0x95,  0x99,  0x9d,  0xa1,
+  0xa5,  0xa9,  0xac,  0xb0,
+  0xb4,  0xb8,  0xbc,  0xbf,
+  0xc3,  0xc7,  0xca,  0xce,
+  0xd1,  0xd5,  0xd8,  0xdb,
+  0xde,  0xe1,  0xe4,  0xe7,
+  0xe9,  0xec,  0xee,  0xf0,
+  0xf2,  0xf4,  0xf6,  0xf8,
+  0xf9,  0xfa,  0xfc,  0xfc,
+  0xfd,  0xfe,  0xfe,  0xfe,
+  0xfe,  0xfe,  0xfe,  0xfe,
+  0xfd,  0xfc,  0xfb,  0xfa,
+  0xf8,  0xf7,  0xf5,  0xf3,
+  0xf1,  0xef,  0xed,  0xeb,
+  0xe8,  0xe5,  0xe3,  0xe0,
+  0xdd,  0xda,  0xd6,  0xd3,
+  0xd0,  0xcc,  0xc9,  0xc5,
+  0xc1,  0xbe,  0xba,  0xb6,
+  0xb2,  0xae,  0xaa,  0xa7,
+  0xa3,  0x9f,  0x9b,  0x97,
+  0x93,  0x8f,  0x8b,  0x88,
+  0x84,  0x80,  0x7c,  0x79,
+  0x75,  0x72,  0x6e,  0x6a,
+  0x67,  0x64,  0x60,  0x5d,
+  0x5a,  0x57,  0x54,  0x51,
+  0x4e,  0x4b,  0x48,  0x45
+ #endif /* 128 bytes table */
+
+ #if RGBLIGHT_BREATHE_TABLE_SIZE == 64
+  0x44,  0x4a,
+  0x4f,  0x55,
+  0x5c,  0x62,
+  0x69,  0x70,
+  0x77,  0x7e,
+  0x86,  0x8d,
+  0x95,  0x9d,
+  0xa5,  0xac,
+  0xb4,  0xbc,
+  0xc3,  0xca,
+  0xd1,  0xd8,
+  0xde,  0xe4,
+  0xe9,  0xee,
+  0xf2,  0xf6,
+  0xf9,  0xfc,
+  0xfd,  0xfe,
+  0xfe,  0xfe,
+  0xfd,  0xfb,
+  0xf8,  0xf5,
+  0xf1,  0xed,
+  0xe8,  0xe3,
+  0xdd,  0xd6,
+  0xd0,  0xc9,
+  0xc1,  0xba,
+  0xb2,  0xaa,
+  0xa3,  0x9b,
+  0x93,  0x8b,
+  0x84,  0x7c,
+  0x75,  0x6e,
+  0x67,  0x60,
+  0x5a,  0x54,
+  0x4e,  0x48
+ #endif /* 64 bytes table */
+};
+
+static const int table_scale = 256/sizeof(rgblight_effect_breathe_table);
+
+#endif /* RGBLIGHT_EFFECT_BREATHE_TABLE */
index bef25e25948df3d76810db3778897eead6a6ab90..085840f1cc8686743cc230858e44e2c0fe94ca44 100644 (file)
@@ -1,40 +1,40 @@
 SRC += drashna.c \
        process_records.c
 
+LINK_TIME_OPTIMIZATION_ENABLE = yes
+
 ifneq ("$(wildcard $(USER_PATH)/secrets.c)","")
-  SRC += secrets.c
+    SRC += secrets.c
 endif
 
 ifeq ($(strip $(TAP_DANCE_ENABLE)), yes)
-  SRC += tap_dances.c
+    SRC += tap_dances.c
 endif
 
-ifeq ($(PLATFORM),AVR)
-  EXTRAFLAGS += -flto
-endif
+
 
 ifeq ($(strip $(NO_SECRETS)), yes)
     OPT_DEFS += -DNO_SECRETS
 endif
 
 ifeq ($(strip $(RGBLIGHT_ENABLE)), yes)
-  SRC += rgb_stuff.c
-  ifeq ($(strip $(INDICATOR_LIGHTS)), yes)
-      OPT_DEFS += -DINDICATOR_LIGHTS
-  endif
-  ifeq ($(strip $(RGBLIGHT_TWINKLE)), yes)
-    OPT_DEFS += -DRGBLIGHT_TWINKLE
-  endif
-  ifeq ($(strip $(RGBLIGHT_NOEEPROM)), yes)
-    OPT_DEFS += -DRGBLIGHT_NOEEPROM
-  endif
-  ifeq ($(strip $(RGBLIGHT_STARTUP_ANIMATION)), yes)
-    OPT_DEFS += -DRGBLIGHT_STARTUP_ANIMATION
-  endif
+    SRC += rgb_stuff.c
+    ifeq ($(strip $(INDICATOR_LIGHTS)), yes)
+        OPT_DEFS += -DINDICATOR_LIGHTS
+    endif
+    ifeq ($(strip $(RGBLIGHT_TWINKLE)), yes)
+        OPT_DEFS += -DRGBLIGHT_TWINKLE
+    endif
+    ifeq ($(strip $(RGBLIGHT_NOEEPROM)), yes)
+        OPT_DEFS += -DRGBLIGHT_NOEEPROM
+    endif
+    ifeq ($(strip $(RGBLIGHT_STARTUP_ANIMATION)), yes)
+        OPT_DEFS += -DRGBLIGHT_STARTUP_ANIMATION
+    endif
 endif
 
-ifeq ($(strip $(RGB_MATRIX_ENABLE)), yes)
-  SRC += rgb_stuff.c
+ifneq ($(strip $(RGB_MATRIX_ENABLE)), no)
+    SRC += rgb_stuff.c
 endif
 
 
@@ -43,9 +43,9 @@ ifeq ($(strip $(MACROS_ENABLED)), yes)
 endif
 
 ifdef CONSOLE_ENABLE
-  ifeq ($(strip $(KEYLOGGER_ENABLE)), yes)
-    OPT_DEFS += -DKEYLOGGER_ENABLE
-  endif
+    ifeq ($(strip $(KEYLOGGER_ENABLE)), yes)
+        OPT_DEFS += -DKEYLOGGER_ENABLE
+    endif
 endif
 
 ifeq ($(strip $(MAKE_BOOTLOADER)), yes)
index 818b6e571b2156da527e95c7bbac002baeb09fd2..743abc58b429e70aeb7ca9818c6ff36185a348dd 100644 (file)
@@ -7,65 +7,65 @@ void send_unicode_hex_string(const char* str);
 /* use X(n) to call the  */
 #ifdef UNICODEMAP_ENABLE
 enum unicode_name {
-  THINK, // thinking face 🤔
-  GRIN, // grinning face 😊
-  SMRK, // smirk 😏
-  WEARY, // good shit 😩
-  UNAMU, // unamused 😒
+    THINK, // thinking face 🤔
+    GRIN, // grinning face 😊
+    SMRK, // smirk 😏
+    WEARY, // good shit 😩
+    UNAMU, // unamused 😒
 
-  SNEK, // snke 🐍
-  PENGUIN, // 🐧
-  DRAGON, // 🐉
-  MONKEY, // 🐒
-  CHICK, // 🐥
-  BOAR, // 🐗
+    SNEK, // snke 🐍
+    PENGUIN, // 🐧
+    DRAGON, // 🐉
+    MONKEY, // 🐒
+    CHICK, // 🐥
+    BOAR, // 🐗
 
-  OKOK, // 👌
-  EFFU, // 🖕
-  INUP, // 👆
-  THUP, // 👍
-  THDN, // 👎
+    OKOK, // 👌
+    EFFU, // 🖕
+    INUP, // 👆
+    THUP, // 👍
+    THDN, // 👎
 
-  BBB, // dat B 🅱
-  POO, // poop 💩
-  HUNDR, // 100 💯
-  EGGPL, // EGGPLANT 🍆
-  WATER, // wet 💦
-  TUMBLER, // 🥃
+    BBB, // dat B 🅱
+    POO, // poop 💩
+    HUNDR, // 100 💯
+    EGGPL, // EGGPLANT 🍆
+    WATER, // wet 💦
+    TUMBLER, // 🥃
 
-  LIT, // fire 🔥
-  BANG, // ‽
-  IRONY, // ⸮
-  DEGREE // °
+    LIT, // fire 🔥
+    BANG, // ‽
+    IRONY, // ⸮
+    DEGREE // °
 };
 
 
 const uint32_t PROGMEM unicode_map[] = {
-  [THINK]     = 0x1F914,
-  [GRIN]      = 0x1F600,
-  [BBB]       = 0x1F171,
-  [POO]       = 0x1F4A9,
-  [HUNDR]     = 0x1F4AF,
-  [SMRK]      = 0x1F60F,
-  [WEARY]     = 0x1F629,
-  [EGGPL]     = 0x1F346,
-  [WATER]     = 0x1F4A6,
-  [LIT]       = 0x1F525,
-  [UNAMU]     = 0x1F612,
-  [SNEK]      = 0x1F40D,
-  [PENGUIN]   = 0x1F427,
-  [BOAR]      = 0x1F417,
-  [MONKEY]    = 0x1F412,
-  [CHICK]     = 0x1F425,
-  [DRAGON]    = 0x1F409,
-  [OKOK]      = 0x1F44C,
-  [EFFU]      = 0x1F595,
-  [INUP]      = 0x1F446,
-  [THDN]      = 0x1F44E,
-  [THUP]      = 0x1F44D,
-  [TUMBLER]   = 0x1F943,
-  [BANG]      = 0x0203D,
-  [IRONY]     = 0x02E2E,
-  [DEGREE]    = 0x000B0
+    [THINK]     = 0x1F914,
+    [GRIN]      = 0x1F600,
+    [BBB]       = 0x1F171,
+    [POO]       = 0x1F4A9,
+    [HUNDR]     = 0x1F4AF,
+    [SMRK]      = 0x1F60F,
+    [WEARY]     = 0x1F629,
+    [EGGPL]     = 0x1F346,
+    [WATER]     = 0x1F4A6,
+    [LIT]       = 0x1F525,
+    [UNAMU]     = 0x1F612,
+    [SNEK]      = 0x1F40D,
+    [PENGUIN]   = 0x1F427,
+    [BOAR]      = 0x1F417,
+    [MONKEY]    = 0x1F412,
+    [CHICK]     = 0x1F425,
+    [DRAGON]    = 0x1F409,
+    [OKOK]      = 0x1F44C,
+    [EFFU]      = 0x1F595,
+    [INUP]      = 0x1F446,
+    [THDN]      = 0x1F44E,
+    [THUP]      = 0x1F44D,
+    [TUMBLER]   = 0x1F943,
+    [BANG]      = 0x0203D,
+    [IRONY]     = 0x02E2E,
+    [DEGREE]    = 0x000B0
  };
 #endif // UNICODEMAP_ENABLE
index cbb3cf54efe5745132736dff2fb19e9870b1b81b..18ca96e187e73885c6a46de51a6739927e0f7aa7 100644 (file)
@@ -2,63 +2,64 @@
 
 
 //define diablo macro timer variables
-uint16_t diablo_timer[4];
-uint8_t diablo_times[] = { 0, 1, 3, 5, 10, 30 };
-uint8_t diablo_key_time[4];
+diablo_timer_t diablo_timer[4];
+
+uint8_t diablo_times[] = { 0, 0, 1, 3, 5, 10, 30 };
 
 // has the correct number of seconds elapsed (as defined by diablo_times)
-bool check_dtimer(uint8_t dtimer) { return (timer_elapsed(diablo_timer[dtimer]) < (diablo_key_time[dtimer] * 1000)) ? false : true; };
+bool check_dtimer(uint8_t dtimer) { return (timer_elapsed(diablo_timer[dtimer].key_time) < (diablo_timer[dtimer].timer * 1000)) ? false : true; };
 
 // Cycle through the times for the macro, starting at 0, for disabled.
 // Max of six values, so don't exceed
-void diablo_tapdance_master(qk_tap_dance_state_t *state, void *user_data, uint8_t diablo_key) {
-  if (state->count >= 7) {
-    diablo_key_time[diablo_key] = diablo_times[0];
-    reset_tap_dance(state);
-  }  else {
-    diablo_key_time[diablo_key] = diablo_times[state->count - 1];
-  }
+void diablo_tapdance_master(qk_tap_dance_state_t *state, void *user_data) {
+    int index = (int)user_data;
+    if (state->count >= 7) {
+        diablo_timer[index].key_time = diablo_times[0];
+        reset_tap_dance(state);
+    }  else {
+        diablo_timer[index].key_time = diablo_times[state->count];
+    }
 }
 
-// Would rather have one function for all of this, but no idea how to do that...
-void diablo_tapdance1(qk_tap_dance_state_t *state, void *user_data) { diablo_tapdance_master(state, user_data, 0); }
-void diablo_tapdance2(qk_tap_dance_state_t *state, void *user_data) { diablo_tapdance_master(state, user_data, 1); }
-void diablo_tapdance3(qk_tap_dance_state_t *state, void *user_data) { diablo_tapdance_master(state, user_data, 2); }
-void diablo_tapdance4(qk_tap_dance_state_t *state, void *user_data) { diablo_tapdance_master(state, user_data, 3); }
+// One funtion to rule them all!!
+#define ACTION_TAP_DANCE_DIABLO(arg) {  \
+    .fn = { NULL, (void *)diablo_tapdance_master, NULL }, \
+    .user_data = (void *)arg,  \
+  }
 
 //Tap Dance Definitions
 qk_tap_dance_action_t tap_dance_actions[] = {
-  // tap once to disable, and more to enable timed micros
-  [TD_D3_1] = ACTION_TAP_DANCE_FN(diablo_tapdance1),
-  [TD_D3_2] = ACTION_TAP_DANCE_FN(diablo_tapdance2),
-  [TD_D3_3] = ACTION_TAP_DANCE_FN(diablo_tapdance3),
-  [TD_D3_4] = ACTION_TAP_DANCE_FN(diablo_tapdance4),
+    // tap once to disable, and more to enable timed micros
+    [TD_D3_1] = ACTION_TAP_DANCE_DIABLO(0),
+    [TD_D3_2] = ACTION_TAP_DANCE_DIABLO(1),
+    [TD_D3_3] = ACTION_TAP_DANCE_DIABLO(2),
+    [TD_D3_4] = ACTION_TAP_DANCE_DIABLO(3),
 };
 
 // Sends the key press to system, but only if on the Diablo layer
 void send_diablo_keystroke(uint8_t diablo_key) {
-  if (IS_LAYER_ON(_DIABLO)) {
-    switch (diablo_key) {
-      case 0:
-        tap_code(KC_1); break;
-      case 1:
-        tap_code(KC_2); break;
-      case 2:
-        tap_code(KC_3); break;
-      case 3:
-        tap_code(KC_4); break;
+    if (IS_LAYER_ON(_DIABLO)) {
+        switch (diablo_key) {
+        case 0:
+            tap_code(KC_1); break;
+        case 1:
+            tap_code(KC_2); break;
+        case 2:
+            tap_code(KC_3); break;
+        case 3:
+            tap_code(KC_4); break;
+        }
     }
-  }
 }
 
 // Checks each of the 4 timers/keys to see if enough time has elapsed
 // Runs the "send string" command if enough time has passed, and resets the timer.
 void run_diablo_macro_check(void) {
-  uint8_t dtime;
-  for (dtime = 0; dtime < 4; dtime++) {
-    if (check_dtimer(dtime) && diablo_key_time[dtime]) {
-      diablo_timer[dtime] = timer_read();
-      send_diablo_keystroke(dtime);
+    uint8_t dtime;
+    for (dtime = 0; dtime < 4; dtime++) {
+        if (check_dtimer(dtime) && diablo_timer[dtime].key_time) {
+        diablo_timer[dtime].timer = timer_read();
+        send_diablo_keystroke(dtime);
+        }
     }
-  }
 }
index 41d2bacb7b3daafcb85454f0d9f5a9959f7d1660..4a293b25820710cd3cb9c5d201ada30558296b13 100644 (file)
@@ -2,18 +2,21 @@
 #include "drashna.h"
 
 //define diablo macro timer variables
-extern uint16_t diablo_timer[4];
 extern uint8_t diablo_times[];
-extern uint8_t diablo_key_time[4];
+typedef struct {
+    uint16_t timer;
+    uint8_t key_time;
+} diablo_timer_t;
 
+extern diablo_timer_t diablo_timer[4];
 
 void run_diablo_macro_check(void);
 
 #ifdef TAP_DANCE_ENABLE
 enum {
-  TD_D3_1 = 0,
-  TD_D3_2,
-  TD_D3_3,
-  TD_D3_4
+    TD_D3_1 = 0,
+    TD_D3_2,
+    TD_D3_3,
+    TD_D3_4
 };
 #endif // TAP_DANCE_ENABLE
index 3260c58ae2d25b90ec312e6abd73d4f0521dbdc4..93f842f4b2b950659bb2c4ecbb4317aa084bf3fc 100644 (file)
@@ -6,7 +6,7 @@ arguments, we need a wrapper in order for these definitions to be
 expanded before being used as arguments to the LAYOUT_xxx macro.
 */
 #if (!defined(LAYOUT) && defined(KEYMAP))
-#define LAYOUT KEYMAP
+#   define LAYOUT KEYMAP
 #endif
 
 #define LAYOUT_ergodox_wrapper(...)          LAYOUT_ergodox(__VA_ARGS__)
@@ -15,6 +15,7 @@ expanded before being used as arguments to the LAYOUT_xxx macro.
 #define LAYOUT_wrapper(...)                  LAYOUT(__VA_ARGS__)
 #define LAYOUT_ortho_4x12_wrapper(...)       LAYOUT_ortho_4x12(__VA_ARGS__)
 #define LAYOUT_ortho_5x12_wrapper(...)       LAYOUT_ortho_5x12(__VA_ARGS__)
+#define LAYOUT_gergo_wrapper(...)            LAYOUT_gergo(__VA_ARGS__)
 
 /*
 Blocks for each of the four major keyboard layouts