diff options
| -rw-r--r-- | keyboards/iris/keymaps/drashna/keymap.c | 22 | ||||
| -rw-r--r-- | keyboards/iris/keymaps/drashna/rules.mk | 2 | ||||
| -rw-r--r-- | keyboards/orthodox/keymaps/drashna/config.h | 2 | ||||
| -rw-r--r-- | keyboards/orthodox/keymaps/drashna/rules.mk | 2 | ||||
| -rw-r--r-- | keyboards/viterbi/keymaps/drashna/config.h | 8 | ||||
| -rw-r--r-- | keyboards/viterbi/keymaps/drashna/keymap.c | 2 | ||||
| -rw-r--r-- | layouts/community/ergodox/drashna/config.h | 3 | ||||
| -rw-r--r-- | layouts/community/ergodox/drashna/keymap.c | 16 | ||||
| -rw-r--r-- | layouts/community/ergodox/drashna/rules.mk | 6 | ||||
| -rw-r--r-- | layouts/community/ortho_4x12/drashna/config.h | 9 | ||||
| -rw-r--r-- | layouts/community/ortho_4x12/drashna/keymap.c | 195 | ||||
| -rw-r--r-- | layouts/community/ortho_4x12/drashna/rules.mk | 14 | ||||
| -rw-r--r-- | users/drashna/config.h | 16 | ||||
| -rw-r--r-- | users/drashna/drashna.c | 75 | ||||
| -rw-r--r-- | users/drashna/drashna.h | 22 | ||||
| -rw-r--r-- | users/drashna/rgb_stuff.c | 6 | ||||
| -rw-r--r-- | users/drashna/rgb_stuff.h | 1 | ||||
| -rw-r--r-- | users/drashna/template.c | 97 | ||||
| -rw-r--r-- | users/drashna/template.h | 4 | 
19 files changed, 280 insertions, 222 deletions
| diff --git a/keyboards/iris/keymaps/drashna/keymap.c b/keyboards/iris/keymaps/drashna/keymap.c index 70d13cac21..37c3f97f54 100644 --- a/keyboards/iris/keymaps/drashna/keymap.c +++ b/keyboards/iris/keymaps/drashna/keymap.c @@ -2,36 +2,34 @@  #include QMK_KEYBOARD_H  #include "drashna.h" -#define KC_ALAP ALT_T(KC_APP) -#define KC_OSLG OSM(MOD_LGUI)  const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {    [_QWERTY] = LAYOUT_wrapper(       KC_ESC,  ________________NUMBER_LEFT________________,                       ________________NUMBER_RIGHT_______________, KC_MINS,       KC_TAB , _________________QWERTY_L1_________________,                       _________________QWERTY_R1_________________, KC_BSLS, -     KC_CCCV, _________________QWERTY_L2_________________,                       _________________QWERTY_R2_________________, KC_QUOT, -     KC_MLSF, _________________QWERTY_L3_________________, KC_ALAP,     KC_OSLG, _________________QWERTY_R3_________________, KC_MRSF, +     KC_C1R3, _________________QWERTY_L2_________________,                       _________________QWERTY_R2_________________, KC_QUOT, +     KC_MLSF, _________________QWERTY_L3_________________, ALT_APP,     OS_RGUI, _________________QWERTY_R3_________________, KC_MRSF,                               LT(_LOWER,KC_GRV), KC_SPC,  KC_BSPC,         KC_DEL,  KC_ENT,  RAISE    ),    [_COLEMAK] = LAYOUT_wrapper(       KC_ESC , ________________NUMBER_LEFT________________,                       ________________NUMBER_RIGHT_______________, KC_MINS,       KC_TAB , _________________COLEMAK_L1________________,                       _________________COLEMAK_R1________________, KC_BSLS, -     KC_CCCV, _________________COLEMAK_L2________________,                       _________________COLEMAK_R2________________, KC_QUOT, -     KC_MLSF, _________________COLEMAK_L3________________, KC_ALAP,     KC_OSLG, _________________COLEMAK_R3________________, KC_MRSF, +     KC_C1R3, _________________COLEMAK_L2________________,                       _________________COLEMAK_R2________________, KC_QUOT, +     KC_MLSF, _________________COLEMAK_L3________________, ALT_APP,     OS_RGUI, _________________COLEMAK_R3________________, KC_MRSF,                               LT(_LOWER,KC_GRV), KC_SPC,  KC_BSPC,         KC_DEL,  KC_ENT,  RAISE    ),    [_DVORAK] = LAYOUT_wrapper(       KC_ESC,  ________________NUMBER_LEFT________________,                       ________________NUMBER_RIGHT_______________, KC_MINS,       KC_TAB , _________________DVORAK_L1_________________,                       _________________DVORAK_R1_________________, KC_BSLS, -     KC_CCCV, _________________DVORAK_L2_________________,                       _________________DVORAK_R2_________________, KC_QUOT, -     KC_MLSF, _________________DVORAK_L3_________________, KC_ALAP,     KC_OSLG, _________________DVORAK_R3_________________, KC_MRSF, +     KC_C1R3, _________________DVORAK_L2_________________,                       _________________DVORAK_R2_________________, KC_QUOT, +     KC_MLSF, _________________DVORAK_L3_________________, ALT_APP,     OS_RGUI, _________________DVORAK_R3_________________, KC_MRSF,                               LT(_LOWER,KC_GRV), KC_SPC,  KC_BSPC,         KC_DEL,  KC_ENT,  RAISE    ),    [_WORKMAN] = LAYOUT_wrapper(       KC_ESC,  ________________NUMBER_LEFT________________,                       ________________NUMBER_RIGHT_______________, KC_MINS,       KC_TAB , _________________WORKMAN_L1________________,                       _________________WORKMAN_R1________________, KC_BSLS, -     KC_CCCV, _________________WORKMAN_L2________________,                       _________________WORKMAN_R2________________, KC_QUOT, -     KC_MLSF, _________________WORKMAN_L3________________, KC_ALAP,     KC_OSLG, _________________WORKMAN_R3________________, KC_MRSF, +     KC_C1R3, _________________WORKMAN_L2________________,                       _________________WORKMAN_R2________________, KC_QUOT, +     KC_MLSF, _________________WORKMAN_L3________________, ALT_APP,     OS_RGUI, _________________WORKMAN_R3________________, KC_MRSF,                               LT(_LOWER,KC_GRV), KC_SPC,  KC_BSPC,         KC_DEL,  KC_ENT,  RAISE    ), @@ -53,7 +51,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {    [_LOWER] = LAYOUT_wrapper( -     _______, _________________FUNC_LEFT_________________,                       _________________FUNC_RIGHT________________, _______, +     KC_F12,  _________________FUNC_LEFT_________________,                       _________________FUNC_RIGHT________________, KC_F11,       KC_TILD, _________________LOWER_L1__________________,                       _________________LOWER_R1__________________, _______,       _______, ___________________BLANK___________________,                       _________________LOWER_R2__________________, KC_PIPE,       _______, ___________________BLANK___________________, _______,     _______, _________________LOWER_R3__________________, _______, @@ -61,7 +59,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {    ),    [_RAISE] = LAYOUT_wrapper( -      _______, _________________FUNC_LEFT_________________,                      _________________FUNC_RIGHT________________, _______, +      KC_F12,  _________________FUNC_LEFT_________________,                      _________________FUNC_RIGHT________________, KC_F11,        KC_GRV,  _________________RAISE_L1__________________,                      _________________RAISE_R1__________________, _______,        _______, _________________RAISE_L2__________________,                      _________________RAISE_R2__________________, KC_BSLS,        _______, _________________RAISE_L3__________________, _______,    _______, _________________RAISE_R3__________________, _______, diff --git a/keyboards/iris/keymaps/drashna/rules.mk b/keyboards/iris/keymaps/drashna/rules.mk index ccc33c06f3..e8035176ef 100644 --- a/keyboards/iris/keymaps/drashna/rules.mk +++ b/keyboards/iris/keymaps/drashna/rules.mk @@ -12,6 +12,6 @@ SWAP_HANDS_ENABLE = no  INDICATOR_LIGHTS  = yes  MACROS_ENABLED    = no -RGBLIGHT_TWINKLE  = yes +RGBLIGHT_TWINKLE  = no  BOOTLOADER        = qmk-dfu diff --git a/keyboards/orthodox/keymaps/drashna/config.h b/keyboards/orthodox/keymaps/drashna/config.h index d8ff95fcb6..2257b62fd3 100644 --- a/keyboards/orthodox/keymaps/drashna/config.h +++ b/keyboards/orthodox/keymaps/drashna/config.h @@ -58,7 +58,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.  #define C6_AUDIO  #ifdef RGBLIGHT_ENABLE  #define NO_MUSIC_MODE -#endif //RGBLIGHT_ENABLE +#endif  #endif //AUDIO_ENABLE  #undef PRODUCT diff --git a/keyboards/orthodox/keymaps/drashna/rules.mk b/keyboards/orthodox/keymaps/drashna/rules.mk index f870c3a7d6..a826c664a7 100644 --- a/keyboards/orthodox/keymaps/drashna/rules.mk +++ b/keyboards/orthodox/keymaps/drashna/rules.mk @@ -10,6 +10,6 @@ NKRO_ENABLE       = yes  INDICATOR_LIGHTS  = yes  MACROS_ENABLED    = no -RGBLIGHT_TWINKLE  = yes +RGBLIGHT_TWINKLE  = no  BOOTLOADER        = qmk-dfu diff --git a/keyboards/viterbi/keymaps/drashna/config.h b/keyboards/viterbi/keymaps/drashna/config.h index 5bc5598ee0..687f80441a 100644 --- a/keyboards/viterbi/keymaps/drashna/config.h +++ b/keyboards/viterbi/keymaps/drashna/config.h @@ -35,12 +35,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.  #undef LOCKING_SUPPORT_ENABLE  #undef LOCKING_RESYNC_ENABLE -#ifndef NO_DEBUG -#define NO_DEBUG -#endif // !NO_DEBUG -#ifndef NO_PRINT -#define NO_PRINT -#endif // !NO_PRINT  /* disable action features */  //#define NO_ACTION_LAYER @@ -59,6 +53,8 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.  #define NO_MUSIC_MODE  #endif +#undef PREVENT_STUCK_MODIFIERS +  #define LAYOUT_ortho_5x7( \      L00, L01, L02, L03, L04, L05, L06, \      L10, L11, L12, L13, L14, L15, L16, \ diff --git a/keyboards/viterbi/keymaps/drashna/keymap.c b/keyboards/viterbi/keymaps/drashna/keymap.c index 68ca593db8..acda8a0d25 100644 --- a/keyboards/viterbi/keymaps/drashna/keymap.c +++ b/keyboards/viterbi/keymaps/drashna/keymap.c @@ -13,7 +13,7 @@ extern keymap_config_t keymap_config;  #define _______ KC_TRNS  #define XXXXXXX KC_NO -#define LMACRO   TG(_MACROS) +#define LMACRO   OSL(_MACROS)  #define DIABLO   TG(_DIABLO)  #define GAMEPAD  TG(_GAMEPAD)  #define MEDIA    TT(_MEDIA) diff --git a/layouts/community/ergodox/drashna/config.h b/layouts/community/ergodox/drashna/config.h index 9e2bd74f32..3ced185932 100644 --- a/layouts/community/ergodox/drashna/config.h +++ b/layouts/community/ergodox/drashna/config.h @@ -13,3 +13,6 @@  #undef PRODUCT  #define PRODUCT         DrashnaDox - Hacked ErgoDox EZ Shine + +#undef DEBOUNCE +#define DEBOUNCE 5 diff --git a/layouts/community/ergodox/drashna/keymap.c b/layouts/community/ergodox/drashna/keymap.c index 27d20d9289..4d7700f199 100644 --- a/layouts/community/ergodox/drashna/keymap.c +++ b/layouts/community/ergodox/drashna/keymap.c @@ -61,7 +61,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {               KC_TAB,  _________________QWERTY_L1_________________, TG(_DIABLO),         TG(_DIABLO), _________________QWERTY_R1_________________, KC_BSLS,               KC_C1R3, _________________QWERTY_L2_________________,                                   _________________QWERTY_R2_________________, KC_QUOT,               KC_MLSF, _________________QWERTY_L3_________________, TG(_GAMEPAD),       TG(_GAMEPAD), _________________QWERTY_R3_________________, KC_MRSF, -             KC_GRV,  ___________ERGODOX_BOTTOM_LEFT_____________,                                   ___________ERGODOX_BOTTOM_RIGHT____________, KC_CCCV, +             KC_GRV,  ___________ERGODOX_BOTTOM_LEFT_____________,                                   ___________ERGODOX_BOTTOM_RIGHT____________, KC_NO,                                                      __________________ERGODOX_THUMB_CLUSTER_____________________      ),  /* Keymap 0: COLEMAK layer @@ -93,7 +93,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {               KC_TAB,  _________________COLEMAK_L1________________, TG(_DIABLO),         TG(_DIABLO), _________________COLEMAK_R1________________, KC_BSLS,               KC_C1R3, _________________COLEMAK_L2________________,                                   _________________COLEMAK_R2________________, KC_QUOT,               KC_MLSF, _________________COLEMAK_L3________________, TG(_GAMEPAD),       TG(_GAMEPAD), _________________COLEMAK_R3________________, KC_MRSF, -             KC_GRV,  ___________ERGODOX_BOTTOM_LEFT_____________,                                   ___________ERGODOX_BOTTOM_RIGHT____________, KC_CCCV, +             KC_GRV,  ___________ERGODOX_BOTTOM_LEFT_____________,                                   ___________ERGODOX_BOTTOM_RIGHT____________, KC_NO,                                                      __________________ERGODOX_THUMB_CLUSTER_____________________      ),  /* Keymap 0: DVORAK Layout @@ -125,7 +125,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {               KC_TAB,  _________________DVORAK_L1_________________, TG(_DIABLO),         TG(_DIABLO), _________________DVORAK_R1_________________, KC_SLSH,               KC_C1R3, _________________DVORAK_L2_________________,                                   _________________DVORAK_R2_________________, KC_MINS,               KC_MLSF, _________________DVORAK_L3_________________, TG(_GAMEPAD),       TG(_GAMEPAD), _________________DVORAK_R3_________________, KC_MRSF, -             KC_GRV,  ___________ERGODOX_BOTTOM_LEFT_____________,                                   ___________ERGODOX_BOTTOM_RIGHT____________, KC_CCCV, +             KC_GRV,  ___________ERGODOX_BOTTOM_LEFT_____________,                                   ___________ERGODOX_BOTTOM_RIGHT____________, KC_NO,                                                      __________________ERGODOX_THUMB_CLUSTER_____________________      ),  /* Keymap 0: WORKMAN layer @@ -157,7 +157,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {               KC_TAB,  _________________WORKMAN_L1________________, TG(_DIABLO),         TG(_DIABLO), _________________WORKMAN_R1________________, KC_BSLS,               KC_C1R3, _________________WORKMAN_L2________________,                                   _________________WORKMAN_R2________________, KC_QUOT,               KC_MLSF, _________________WORKMAN_L3________________, TG(_GAMEPAD),       TG(_GAMEPAD), _________________WORKMAN_R3________________, KC_MRSF, -             KC_GRV,  ___________ERGODOX_BOTTOM_LEFT_____________,                                   ___________ERGODOX_BOTTOM_RIGHT____________, KC_CCCV, +             KC_GRV,  ___________ERGODOX_BOTTOM_LEFT_____________,                                   ___________ERGODOX_BOTTOM_RIGHT____________, KC_NO,                                                      __________________ERGODOX_THUMB_CLUSTER_____________________      ), @@ -294,7 +294,7 @@ void matrix_init_keymap(void) { // Runs boot tasks for keyboard  void matrix_scan_keymap(void) {  // runs frequently to update info -  uint8_t modifiders = get_mods(); +  uint8_t modifiers = get_mods();    uint8_t led_usb_state = host_keyboard_leds();    uint8_t one_shot = get_oneshot_mods(); @@ -307,15 +307,15 @@ void matrix_scan_keymap(void) {  // runs frequently to update info      // Since we're not using the LEDs here for layer indication anymore,      // then lets use them for modifier indicators.  Shame we don't have 4...      // Also, no "else", since we want to know each, independently. -    if (modifiders & MODS_SHIFT_MASK || led_usb_state & (1<<USB_LED_CAPS_LOCK) || one_shot & MODS_SHIFT_MASK) { +    if (modifiers & MODS_SHIFT_MASK || led_usb_state & (1<<USB_LED_CAPS_LOCK) || one_shot & MODS_SHIFT_MASK) {        ergodox_right_led_2_on();        ergodox_right_led_2_set( 50 );      } -    if (modifiders & MODS_CTRL_MASK || one_shot & MODS_CTRL_MASK) { +    if (modifiers & MODS_CTRL_MASK || one_shot & MODS_CTRL_MASK) {        ergodox_right_led_1_on();        ergodox_right_led_1_set( 10 );      } -    if (modifiders & MODS_ALT_MASK || one_shot & MODS_ALT_MASK) { +    if (modifiers & MODS_ALT_MASK || one_shot & MODS_ALT_MASK) {        ergodox_right_led_3_on();        ergodox_right_led_3_set( 10 );      } diff --git a/layouts/community/ergodox/drashna/rules.mk b/layouts/community/ergodox/drashna/rules.mk index f5d63c56fe..30d513c911 100644 --- a/layouts/community/ergodox/drashna/rules.mk +++ b/layouts/community/ergodox/drashna/rules.mk @@ -1,7 +1,7 @@  TAP_DANCE_ENABLE  = yes  SLEEP_LED_ENABLE  = no  # Breathing sleep LED during USB suspend  COMMAND_ENABLE    = yes  # Commands for debug and configuration -ifeq ("$(KEYBOARD)","ergodox_ez") +ifneq (,$(findstring ergodox_ez,$(KEYBOARD)))    RGBLIGHT_ENABLE = yes    RGB_MATRIX_ENABLE = no  endif @@ -12,7 +12,5 @@ UNICODE_ENABLE    = no  UNICDOEMAP_ENABLE = yes  MACROS_ENABLED    = no +RGBLIGHT_TWINKLE  = no  INDICATOR_LIGHTS  = no -ifdef RGBLIGHT_ENABLE -  RGBLIGHT_TWINKLE  = yes -endif diff --git a/layouts/community/ortho_4x12/drashna/config.h b/layouts/community/ortho_4x12/drashna/config.h index 0bb6a4f501..cbd5bb4602 100644 --- a/layouts/community/ortho_4x12/drashna/config.h +++ b/layouts/community/ortho_4x12/drashna/config.h @@ -14,6 +14,15 @@  #define RGBLIGHT_EFFECT_BREATHE_CENTER 1  #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_KEYRELEASES // reacts to keyreleases (not recommened) +// #define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects +#define RGB_DISABLE_WHEN_USB_SUSPENDED false // turn off effects when suspended +// #define RGB_MATRIX_SKIP_FRAMES 1 // number of frames to skip when displaying animations (0 is full effect) if not defined defaults to 1 +// #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200 // limits maximum brightness of LEDs to 200 out of 255. If not defined maximum brightness is set to 255 +// #define EECONFIG_RGB_MATRIX (uint32_t *)16 +#endif  #if defined(KEYBOARD_lets_split_rev2)  #define USE_SERIAL diff --git a/layouts/community/ortho_4x12/drashna/keymap.c b/layouts/community/ortho_4x12/drashna/keymap.c index a5443939ca..39f901b14f 100644 --- a/layouts/community/ortho_4x12/drashna/keymap.c +++ b/layouts/community/ortho_4x12/drashna/keymap.c @@ -17,86 +17,51 @@  #include QMK_KEYBOARD_H  #include "drashna.h" - +#ifdef BACKLIGHT_ENABLE  enum planck_keycodes {    BACKLIT = NEW_SAFE_RANGE,  }; +#else +  #define BACKLIT OSM(MOD_LSFT) +#endif  const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -/* Qwerty - * ,-----------------------------------------------------------------------------------. - * | Tab  |   Q  |   W  |   E  |   R  |   T  |   Y  |   U  |   I  |   O  |   P  | Bksp | - * |------+------+------+------+------+-------------+------+------+------+------+------| - * | Esc  |   A  |   S  |   D  |   F  |   G  |   H  |   J  |   K  |   L  |   ;  |  "   | - * |------+------+------+------+------+------|------+------+------+------+------+------| - * | Shift|   Z  |   X  |   C  |   V  |   B  |   N  |   M  |   ,  |   .  |   /  |Enter | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | Brite| Ctrl | Alt  | GUI  |Lower |    Space    |Raise | Left | Down |  Up  |Right | - * `-----------------------------------------------------------------------------------' - */  [_QWERTY] = LAYOUT_ortho_4x12_wrapper( -  KC_TAB,  _________________QWERTY_L1_________________, _________________QWERTY_R1_________________, KC_BSPC, -  KC_ESC,  _________________QWERTY_L2_________________, _________________QWERTY_R2_________________, KC_QUOT, -  KC_LSFT, _________________QWERTY_L3_________________, _________________QWERTY_R3_________________, KC_ENT, -  BACKLIT, KC_LCTL, KC_LALT, KC_LGUI, LOWER,   KC_SPC,  KC_SPC,  RAISE,   KC_LEFT, KC_DOWN, KC_UP,   KC_RGHT +  KC_ESC,  _________________QWERTY_L1_________________, _________________QWERTY_R1_________________, KC_BSPC, +  KC_TAB,  _________________QWERTY_L2_________________, _________________QWERTY_R2_________________, KC_QUOT, +  KC_MLSF, _________________QWERTY_L3_________________, _________________QWERTY_R3_________________, 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  ), -/* Colemak - * ,-----------------------------------------------------------------------------------. - * | Tab  |   Q  |   W  |   F  |   P  |   G  |   J  |   L  |   U  |   Y  |   ;  | Bksp | - * |------+------+------+------+------+-------------+------+------+------+------+------| - * | Esc  |   A  |   R  |   S  |   T  |   D  |   H  |   N  |   E  |   I  |   O  |  "   | - * |------+------+------+------+------+------|------+------+------+------+------+------| - * | Shift|   Z  |   X  |   C  |   V  |   B  |   K  |   M  |   ,  |   .  |   /  |Enter | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | Brite| Ctrl | Alt  | GUI  |Lower |    Space    |Raise | Left | Down |  Up  |Right | - * `-----------------------------------------------------------------------------------' - */  [_COLEMAK] = LAYOUT_ortho_4x12_wrapper( -  KC_TAB,  _________________COLEMAK_L1________________, _________________COLEMAK_R1________________, KC_BSPC, -  KC_ESC,  _________________COLEMAK_L2________________, _________________COLEMAK_R2________________, KC_QUOT, -  KC_LSFT, _________________COLEMAK_L3________________, _________________COLEMAK_R3________________, KC_ENT, -  BACKLIT, KC_LCTL, KC_LALT, KC_LGUI, LOWER,   KC_SPC,  KC_SPC,  RAISE,   KC_LEFT, KC_DOWN, KC_UP,   KC_RGHT +  KC_ESC,  _________________COLEMAK_L1________________, _________________COLEMAK_R1________________, KC_BSPC, +  KC_TAB,  _________________COLEMAK_L2________________, _________________COLEMAK_R2________________, KC_QUOT, +  KC_MLSF, _________________COLEMAK_L3________________, _________________COLEMAK_R3________________, 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  ), -/* Dvorak - * ,-----------------------------------------------------------------------------------. - * | Tab  |   "  |   ,  |   .  |   P  |   Y  |   F  |   G  |   C  |   R  |   L  | Bksp | - * |------+------+------+------+------+-------------+------+------+------+------+------| - * | Esc  |   A  |   O  |   E  |   U  |   I  |   D  |   H  |   T  |   N  |   S  |  /   | - * |------+------+------+------+------+------|------+------+------+------+------+------| - * | Shift|   ;  |   Q  |   J  |   K  |   X  |   B  |   M  |   W  |   V  |   Z  |Enter | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | Brite| Ctrl | Alt  | GUI  |Lower |    Space    |Raise | Left | Down |  Up  |Right | - * `-----------------------------------------------------------------------------------' - */  [_DVORAK] = LAYOUT_ortho_4x12_wrapper( -  KC_TAB,  _________________DVORAK_L1_________________, _________________DVORAK_R1_________________, KC_BSPC, -  KC_ESC,  _________________DVORAK_L2_________________, _________________DVORAK_R2_________________, KC_SLSH, -  KC_LSFT, _________________DVORAK_L3_________________, _________________DVORAK_R3_________________, KC_ENT, -  BACKLIT, KC_LCTL, KC_LALT, KC_LGUI, LOWER,   KC_SPC,  KC_SPC,  RAISE,   KC_LEFT, KC_DOWN, KC_UP,   KC_RGHT +  KC_ESC,  _________________DVORAK_L1_________________, _________________DVORAK_R1_________________, KC_BSPC, +  KC_TAB,  _________________DVORAK_L2_________________, _________________DVORAK_R2_________________, KC_SLSH, +  KC_MLSF, _________________DVORAK_L3_________________, _________________DVORAK_R3_________________, 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  ), -  [_WORKMAN] = LAYOUT_ortho_4x12_wrapper(    KC_TAB,  _________________WORKMAN_L1________________, _________________WORKMAN_R1________________, KC_BSPC,    KC_ESC,  _________________WORKMAN_L2________________, _________________WORKMAN_R2________________, KC_QUOT, -  KC_LSFT, _________________WORKMAN_L3________________, _________________WORKMAN_R3________________, KC_ENT, -  BACKLIT, KC_LCTL, KC_LALT, KC_LGUI, LOWER,   KC_SPC,  KC_SPC,  RAISE,   KC_LEFT, KC_DOWN, KC_UP,   KC_RGHT +  KC_MLSF, _________________WORKMAN_L3________________, _________________WORKMAN_R3________________, 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 +), + +[_MODS] = LAYOUT_ortho_4x12_wrapper( +  _______, ___________________BLANK___________________, ___________________BLANK___________________, _______, +  _______, ___________________BLANK___________________, ___________________BLANK___________________, _______, +  KC_LSFT, ___________________BLANK___________________, ___________________BLANK___________________, _______, +  _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______  ), -/* Lower - * ,-----------------------------------------------------------------------------------. - * |   ~  |   !  |   @  |   #  |   $  |   %  |   ^  |   &  |   *  |   (  |   )  | Bksp | - * |------+------+------+------+------+-------------+------+------+------+------+------| - * | Del  |  F1  |  F2  |  F3  |  F4  |  F5  |  F6  |   _  |   +  |   {  |   }  |  |   | - * |------+------+------+------+------+------|------+------+------+------+------+------| - * |      |  F7  |  F8  |  F9  |  F10 |  F11 |  F12 |ISO ~ |ISO | | Home | End  |      | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * |      |      |      |      |      |             |      | Next | Vol- | Vol+ | Play | - * `-----------------------------------------------------------------------------------' - */  [_LOWER] = LAYOUT_ortho_4x12_wrapper(    KC_TILD, _________________LOWER_L1__________________, _________________LOWER_R1__________________, KC_BSPC,    KC_DEL,  _________________LOWER_L2__________________, _________________LOWER_R2__________________, KC_PIPE, @@ -104,39 +69,17 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {    _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY  ), -/* Raise - * ,-----------------------------------------------------------------------------------. - * |   `  |   1  |   2  |   3  |   4  |   5  |   6  |   7  |   8  |   9  |   0  | Bksp | - * |------+------+------+------+------+-------------+------+------+------+------+------| - * | Del  |  F1  |  F2  |  F3  |  F4  |  F5  |  F6  |   -  |   =  |   [  |   ]  |  \   | - * |------+------+------+------+------+------|------+------+------+------+------+------| - * |      |  F7  |  F8  |  F9  |  F10 |  F11 |  F12 |ISO # |ISO / |Pg Up |Pg Dn |      | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * |      |      |      |      |      |             |      | Next | Vol- | Vol+ | Play | - * `-----------------------------------------------------------------------------------' - */  [_RAISE] = LAYOUT_ortho_4x12_wrapper(    KC_GRV,  _________________RAISE_L1__________________, _________________RAISE_R1__________________, KC_BSPC,    KC_DEL,  _________________RAISE_L2__________________, _________________RAISE_R2__________________, KC_BSLS,    _______, _________________RAISE_L3__________________, _________________RAISE_R3__________________, _______, -  _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ +  _______, _______, _______, _______, _______, _______, _______, _________________RAISE_R3__________________  ), -/* Adjust (Lower + Raise) - * ,-----------------------------------------------------------------------------------. - * |      | Reset|      |      |      |      |      |      |      |      |      |  Del | - * |------+------+------+------+------+-------------+------+------+------+------+------| - * |      |      |      |Aud on|Audoff|AGnorm|AGswap|Qwerty|Colemk|Dvorak|Plover|      | - * |------+------+------+------+------+------|------+------+------+------+------+------| - * |      |Voice-|Voice+|Mus on|Musoff|MIDIon|MIDIof|      |      |      |      |      | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * |      |      |      |      |      |             |      |      |      |      |      | - * `-----------------------------------------------------------------------------------' - */  [_ADJUST] = LAYOUT_ortho_4x12_wrapper( -  _______, _________________ADJUST_L1_________________, _________________ADJUST_R1_________________, KC_DEL, -  _______, _________________ADJUST_L2_________________, _________________ADJUST_R2_________________, _______, -  _______, _________________ADJUST_L3_________________, _________________ADJUST_R3_________________, _______, +  KC_MAKE, _________________ADJUST_L1_________________, _________________ADJUST_R1_________________, KC_RST, +  VRSN,    _________________ADJUST_L2_________________, _________________ADJUST_R2_________________, EPRM, +  _______, _________________ADJUST_L3_________________, _________________ADJUST_R3_________________, TG_MODS,    _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______  ) @@ -147,7 +90,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {  bool process_record_keymap(uint16_t keycode, keyrecord_t *record) {    switch (keycode) { -#ifdef KEYBOARD_planck +#ifdef BACKLIGHT_ENABLE      case BACKLIT:        if (record->event.pressed) {          register_code(KC_RSFT); @@ -170,8 +113,86 @@ 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;    }  } + +#ifdef RGB_MATRIX_ENABLE + + +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 (led.matrix_co.raw < 0xFF) { +      if (led.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(); + +  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; +      } +  } + +  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 & MODS_SHIFT_MASK || this_led & (1<<USB_LED_CAPS_LOCK) || this_osm & MODS_SHIFT_MASK) { +    rgb_matrix_set_color(24, 0x00, 0xFF, 0x00); +    rgb_matrix_set_color(36, 0x00, 0xFF, 0x00); +  } +  if (this_mod & MODS_CTRL_MASK || this_osm & MODS_CTRL_MASK) { +    rgb_matrix_set_color(25, 0xFF, 0x00, 0x00); +    rgb_matrix_set_color(34, 0xFF, 0x00, 0x00); +    rgb_matrix_set_color(37, 0xFF, 0x00, 0x00); + +  } +  if (this_mod & MODS_GUI_MASK || this_osm & MODS_GUI_MASK) { +    rgb_matrix_set_color(39, 0xFF, 0xD9, 0x00); +  } +  if (this_mod & MODS_ALT_MASK || this_osm & MODS_ALT_MASK) { +    rgb_matrix_set_color(38, 0x00, 0x00, 0xFF); +  } +} + +void matrix_init_keymap(void) { +  rgblight_mode(RGB_MATRIX_MULTISPLASH); +} +#endif //RGB_MATRIX_INIT diff --git a/layouts/community/ortho_4x12/drashna/rules.mk b/layouts/community/ortho_4x12/drashna/rules.mk index ebd8b26b0a..5e46cf112e 100644 --- a/layouts/community/ortho_4x12/drashna/rules.mk +++ b/layouts/community/ortho_4x12/drashna/rules.mk @@ -4,9 +4,16 @@ EXTRAKEY_ENABLE   = yes       # Audio control and System control(+450)  CONSOLE_ENABLE    = no         # Console for debug(+400)  COMMAND_ENABLE    = no        # Commands for debug and configuration  TAP_DANCE_ENABLE  = no -RGBLIGHT_ENABLE   = yes  AUDIO_ENABLE      = yes - +ifeq (,$(findstring planck/rev6,$(KEYBOARD))) +  RGBLIGHT_ENABLE   = yes +  INDICATOR_LIGHTS  = yes +  RGBLIGHT_TWINKLE  = yes +endif +ifneq (,$(findstring planck/light,$(KEYBOARD))) +  RGB_MATRIX_ENABLE   = yes +  RGBLIGHT_ENABLE     = no +endif  ifeq ($(strip $(PROTOCOL)), VUSB)  NKRO_ENABLE       = no @@ -15,6 +22,5 @@ NKRO_ENABLE       = yes  endif -INDICATOR_LIGHTS  = yes  MACROS_ENABLED    = no -RGBLIGHT_TWINKLE  = yes + diff --git a/users/drashna/config.h b/users/drashna/config.h index 87050fbcc7..dd6875ceb1 100644 --- a/users/drashna/config.h +++ b/users/drashna/config.h @@ -11,8 +11,10 @@                                    SONG(OVERWATCH_THEME) \                                  } -#define AUDIO_CLICKY_FREQ_RANDOMNESS 1.0f - +#define AUDIO_CLICKY_FREQ_RANDOMNESS 1.5f +// #ifdef RGBLIGHT_ENABLE +// #define NO_MUSIC_MODE +// #endif //RGBLIGHT_ENABLE  #endif  #ifdef RGBLIGHT_ENABLE @@ -40,8 +42,8 @@  // and when this option isn't enabled, z rapidly followed by x  // actually sends Ctrl-x. That's bad.)  #define IGNORE_MOD_TAP_INTERRUPT -#undef PERMISSIVE_HOLD -#undef PREVENT_STUCK_MODIFIERS +#undef  PERMISSIVE_HOLD +#define PREVENT_STUCK_MODIFIERS  // #define TAPPING_FORCE_HOLD  //#define RETRO_TAPPING @@ -59,12 +61,6 @@  // Disable action_get_macro and fn_actions, since we don't use these  // and it saves on space in the firmware. -#ifndef NO_DEBUG -#define NO_DEBUG -#endif // !NO_DEBUG -#if !defined(NO_PRINT) && !defined(CONSOLE_ENABLE) -#define NO_PRINT -#endif // !NO_PRINT  #define NO_ACTION_MACRO  #define NO_ACTION_FUNCTION diff --git a/users/drashna/drashna.c b/users/drashna/drashna.c index f72902f0b0..20df2f4de6 100644 --- a/users/drashna/drashna.c +++ b/users/drashna/drashna.c @@ -16,16 +16,9 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.  */  #include "drashna.h" -#include "version.h" -#include "eeprom.h"  #include "tap_dances.h"  #include "rgb_stuff.h" - -float tone_copy[][2]            = SONG(SCROLL_LOCK_ON_SOUND); -float tone_paste[][2]           = SONG(SCROLL_LOCK_OFF_SOUND); - -static uint16_t copy_paste_timer;  userspace_config_t userspace_config;  //  Helper Functions @@ -35,8 +28,14 @@ userspace_config_t userspace_config;  // 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; +    }      clear_keyboard(); -    tap(userspace_config.is_overwatch ? KC_BSPC : KC_ENTER); +    tap(keycode);      wait_ms(50);      send_string_with_delay(str, MACRO_TIMER);      wait_ms(50); @@ -46,8 +45,6 @@ bool send_game_macro(const char *str, keyrecord_t *record, bool override) {    return false;  } -void tap(uint16_t keycode){ register_code(keycode); unregister_code(keycode); }; -  bool mod_key_press_timer (uint16_t code, uint16_t mod_code, bool pressed) {    static uint16_t this_timer;    if(pressed) { @@ -94,6 +91,9 @@ __attribute__ ((weak))  void startup_keymap(void) {}  __attribute__ ((weak)) +void shutdown_keymap(void) {} + +__attribute__ ((weak))  void suspend_power_down_keymap(void) {}  __attribute__ ((weak)) @@ -127,6 +127,7 @@ __attribute__ ((weak))  void led_set_keymap(uint8_t usb_led) {} +  // Call user matrix init, set default RGB colors and then  // call the keymap's init function  void matrix_init_user(void) { @@ -158,6 +159,24 @@ void startup_user (void) {    startup_keymap();  } +void shutdown_user (void) { +#ifdef RGBLIGHT_ENABLE +  rgblight_enable_noeeprom(); +  rgblight_mode_noeeprom(1); +  rgblight_setrgb_red(); +#endif // RGBLIGHT_ENABLE +#ifdef RGB_MATRIX_ENABLE +  rgb_led led; +  for (int i = 0; i < DRIVER_LED_TOTAL; i++) { +    led = g_rgb_leds[i]; +    if (led.matrix_co.raw < 0xFF) { +      rgb_matrix_set_color( i, 0xFF, 0x00, 0x00 ); +    } +  } +#endif //RGB_MATRIX_ENABLE +  shutdown_keymap(); +} +  void suspend_power_down_user(void)  {      suspend_power_down_keymap(); @@ -246,20 +265,6 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {      return false;      break; - -  case KC_RESET: // Custom RESET code that sets RGBLights to RED -    if (!record->event.pressed) { -#ifdef RGBLIGHT_ENABLE -      rgblight_enable_noeeprom(); -      rgblight_mode_noeeprom(1); -      rgblight_setrgb_red(); -#endif // RGBLIGHT_ENABLE -      reset_keyboard(); -    } -    return false; -    break; - -    case EPRM: // Resets EEPROM      if (record->event.pressed) {        eeconfig_init(); @@ -333,28 +338,6 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {      return false; 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(KC_C); -        unregister_code(KC_LCTL); -#ifdef AUDIO_ENABLE -        PLAY_SONG(tone_copy); -#endif -      } else {                                // Tap, paste -        register_code(KC_LCTL); -        tap(KC_V); -        unregister_code(KC_LCTL); -#ifdef AUDIO_ENABLE -        PLAY_SONG(tone_paste); -#endif -      } -    } -    return false; -    break;    case CLICKY_TOGGLE:  #ifdef AUDIO_CLICKY      userspace_config.clicky_enable = clicky_enable; diff --git a/users/drashna/drashna.h b/users/drashna/drashna.h index 3efef57046..dd0d1c0d7e 100644 --- a/users/drashna/drashna.h +++ b/users/drashna/drashna.h @@ -15,11 +15,13 @@ You should have received a copy of the GNU General Public License  along with this program.  If not, see <http://www.gnu.org/licenses/>.  */ -#ifndef USERSPACE -#define USERSPACE +#pragma once  #include "quantum.h" - - +#include "version.h" +#include "eeprom.h" +#ifdef RGB_MATRIX_ENABLE +#include "rgb_matrix.h" +#endif  // Define layer names  enum userspace_layers {    _QWERTY = 0, @@ -53,7 +55,7 @@ extern bool clicky_enable;  void rgblight_sethsv_default_helper(uint8_t index);  #endif // RGBLIGHT_ENABLE -void tap(uint16_t keycode); +inline void tap(uint16_t keycode){ register_code(keycode); unregister_code(keycode); };  bool mod_key_press_timer (uint16_t code, uint16_t mod_code, bool pressed);  bool mod_key_press (uint16_t code, uint16_t mod_code, bool pressed, uint16_t this_timer); @@ -90,7 +92,6 @@ enum userspace_custom_keycodes {    KC_C9,    KC_GGEZ,    KC_MAKE,           // Run keyboard's customized make command -  KC_RESET,          // Resets keyboard, with red underglow    KC_RGB_T,          // Toggles RGB Layer Indication mode    KC_SECRET_1,       // test1    KC_SECRET_2,       // test2 @@ -123,6 +124,7 @@ enum userspace_custom_keycodes {  #define COLEMAK KC_COLEMAK  #define WORKMAN KC_WORKMAN +#define KC_RESET RESET  #define KC_RST KC_RESET  #ifdef SWAP_HANDS_ENABLE @@ -131,6 +133,11 @@ enum userspace_custom_keycodes {  #define KC_C1R3 KC_BSPC  #endif // SWAP_HANDS_ENABLE +#define BK_LWER LT(_LOWER, KC_BSPC) +#define SP_LWER LT(_LOWER, KC_SPC) +#define DL_RAIS LT(_RAISE, KC_DEL) +#define ET_RAIS LT(_RAISE, KC_ENTER) +  // OSM keycodes, to keep things clean and easy to change  #define KC_MLSF OSM(MOD_LSFT)  #define KC_MRSF OSM(MOD_RSFT) @@ -325,7 +332,7 @@ enum {  #define _________________ADJUST_L1_________________        RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_TOG -#define _________________ADJUST_L2_________________        _______, CK_TOGG, AU_ON,   AU_OFF,  AG_NORM +#define _________________ADJUST_L2_________________        MU_TOG , CK_TOGG, AU_ON,   AU_OFF,  AG_NORM  #define _________________ADJUST_L3_________________        RGB_RMOD,RGB_HUD,RGB_SAD, RGB_VAD, KC_RGB_T  #define _________________ADJUST_R1_________________        KC_SEC1, KC_SEC2, KC_SEC3, KC_SEC4, KC_SEC5 @@ -350,4 +357,3 @@ enum {                                                                  LT(_LOWER, KC_SPACE),KC_BSPC, KC_END,                  KC_PGDN, KC_DEL,  LT(_RAISE, KC_ENTER) -#endif // !USERSPACE diff --git a/users/drashna/rgb_stuff.c b/users/drashna/rgb_stuff.c index f2a9a47a90..03c55b1323 100644 --- a/users/drashna/rgb_stuff.c +++ b/users/drashna/rgb_stuff.c @@ -267,7 +267,7 @@ void matrix_init_rgb(void) {        case _COLEMAK:          rgblight_sethsv_noeeprom_magenta(); break;        case _DVORAK: -        rgblight_sethsv_noeeprom_green(); break; +        rgblight_sethsv_noeeprom_springgreen(); break;        case _WORKMAN:          rgblight_sethsv_noeeprom_goldenrod(); break;        default: @@ -313,7 +313,7 @@ uint32_t layer_state_set_rgb(uint32_t state) {        rgblight_mode_noeeprom(5);        break;      case _LOWER: -      rgblight_sethsv_noeeprom_orange(); +      rgblight_sethsv_noeeprom_green();        rgblight_mode_noeeprom(5);        break;      case _ADJUST: @@ -325,7 +325,7 @@ uint32_t layer_state_set_rgb(uint32_t state) {          case _COLEMAK:            rgblight_sethsv_noeeprom_magenta(); break;          case _DVORAK: -          rgblight_sethsv_noeeprom_green(); break; +          rgblight_sethsv_noeeprom_springgreen(); break;          case _WORKMAN:            rgblight_sethsv_noeeprom_goldenrod(); break;          default: diff --git a/users/drashna/rgb_stuff.h b/users/drashna/rgb_stuff.h index 6426ea266f..50c75c8c3c 100644 --- a/users/drashna/rgb_stuff.h +++ b/users/drashna/rgb_stuff.h @@ -13,4 +13,3 @@ void matrix_init_rgb(void);  void matrix_scan_rgb(void);  uint32_t layer_state_set_rgb(uint32_t state); - diff --git a/users/drashna/template.c b/users/drashna/template.c index 20dbb96d7f..e6b50c961b 100644 --- a/users/drashna/template.c +++ b/users/drashna/template.c @@ -1,7 +1,5 @@ -#include "drashna.h" -#include "quantum.h" -#include "action.h" -#include "version.h" +#include "template.h" +  // Add reconfigurable functions here, for keymap customization  // This allows for a global, userspace functions, and continued @@ -10,25 +8,15 @@  __attribute__ ((weak))  void matrix_init_keymap(void) {} -__attribute__ ((weak)) -void matrix_scan_keymap(void) {} - -__attribute__ ((weak)) -bool process_record_keymap(uint16_t keycode, keyrecord_t *record) { -  return true; -} -__attribute__ ((weak)) -uint32_t layer_state_set_keymap (uint32_t state) { -  return state; -} -__attribute__ ((weak)) -void led_set_keymap(uint8_t usb_led) {} -  // Call user matrix init, then call the keymap's init function  void matrix_init_user(void) {    matrix_init_keymap();  } + +__attribute__ ((weak)) +void matrix_scan_keymap(void) {} +  // No global matrix scan code, so just run keymap's matix  // scan function  void matrix_scan_user(void) { @@ -36,11 +24,16 @@ void matrix_scan_user(void) {  } +__attribute__ ((weak)) +bool process_record_keymap(uint16_t keycode, keyrecord_t *record) { +  return true; +} +  // Defines actions tor my global custom keycodes. Defined in drashna.h file  // Then runs the _keymap's recod handier if not processed here,  // And use "NEWPLACEHOLDER" for new safe range  bool process_record_user(uint16_t keycode, keyrecord_t *record) { -   +    switch (keycode) {    case KC_MAKE:      if (!record->event.pressed) { @@ -56,12 +49,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {      }      return false;      break; -  case KC_RESET: -    if (!record->event.pressed) { -      reset_keyboard(); -    } -    return false; -    break; +    case EPRM:      if (record->event.pressed) {        eeconfig_init(); @@ -78,13 +66,66 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {    return process_record_keymap(keycode, record);  } -// Runs state check and changes underglow color and animation -// on layer change, no matter where the change was initiated -// Then runs keymap's layer change check + +__attribute__ ((weak)) +uint32_t layer_state_set_keymap (uint32_t state) { +  return state; +} +  uint32_t layer_state_set_user (uint32_t state) {    return layer_state_set_keymap (state);  } + + +__attribute__ ((weak)) +void led_set_keymap(uint8_t usb_led) {} +  void led_set_user(uint8_t usb_led) {     led_set_keymap(usb_led);  } + + + +__attribute__ ((weak)) +void suspend_power_down_keymap(void) {} + +void suspend_power_down_user(void) +{ +    suspend_power_down_keymap(); +} + + + +__attribute__ ((weak)) +void suspend_wakeup_init_keymap(void) {} + +void suspend_wakeup_init_user(void) +{ +  suspend_wakeup_init_keymap(); +  #ifdef KEYBOARD_ergodox_ez +  wait_ms(10); +  #endif +} + + + +__attribute__ ((weak)) +void startup_keymap(void) {} + +void startup_user (void) { +  #ifdef RGBLIGHT_ENABLE +    matrix_init_rgb(); +  #endif //RGBLIGHT_ENABLE +  startup_keymap(); +} + + + +__attribute__ ((weak)) +void shutdown_keymap(void) {} + +void shutdown_user (void) { +  shutdown_keymap(); +} + diff --git a/users/drashna/template.h b/users/drashna/template.h index d1251462b2..5b3a93de5f 100644 --- a/users/drashna/template.h +++ b/users/drashna/template.h @@ -2,8 +2,10 @@  #define USERSPACE  #include "quantum.h" +#include "version.h" +#include "eeprom.h" -// Define layer names  +// Define layer names  #define BASE 0  enum custom_keycodes { | 
