diff options
| author | Drashna Jaelre <drashna@live.com> | 2018-05-15 19:34:34 -0700 |
|---|---|---|
| committer | Jack Humbert <jack.humb@gmail.com> | 2018-05-15 22:34:34 -0400 |
| commit | 53a6501d71cabbe4c5c41652cf24fdc059609e5d (patch) | |
| tree | 4662908d245fe7176307f99a994d1f8d8ef12158 | |
| parent | a572323f94b533582edab4402867dc994cc8c75f (diff) | |
| download | qmk_firmware-53a6501d71cabbe4c5c41652cf24fdc059609e5d.tar.gz qmk_firmware-53a6501d71cabbe4c5c41652cf24fdc059609e5d.zip | |
Yet another update to drashna keymaps and userspace (EEPROM, RGB indicators) (#2959)
* More Iris Tweaks
* Mess with iris arrow keys
* Massive layout overhaul to make everything more OLKB
* Additional tweaks
* Cleanup Userspace
Remove unused layer code, and properly set userspace eeprom structure.
* EEPROM stuff
* Only use indicators if layer indication is enabled
* Iris and Orthodox Tweaks (Status Indicators)
* Additional tweaks to finish tri layer conversion
* Disable ProMicro ligths globally
* Add Pro Micro hacking info
* Successfully get mod indication working on thumb clusters
* Enable printing when console is enabled
* Make Modifier Indicator lights more modular
* Keymap cleanup
* Tapping test changes
* Cleanup and minor tweaks
| -rw-r--r-- | keyboards/iris/keymaps/drashna/config.h | 2 | ||||
| -rw-r--r-- | keyboards/iris/keymaps/drashna/keymap.c | 130 | ||||
| -rw-r--r-- | keyboards/iris/keymaps/drashna/rules.mk | 1 | ||||
| -rw-r--r-- | keyboards/orthodox/keymaps/drashna/keymap.c | 73 | ||||
| -rw-r--r-- | keyboards/orthodox/keymaps/drashna/rules.mk | 1 | ||||
| -rw-r--r-- | keyboards/viterbi/keymaps/drashna/keymap.c | 16 | ||||
| -rw-r--r-- | layouts/community/ergodox/drashna/keymap.c | 114 | ||||
| -rw-r--r-- | users/drashna/config.h | 7 | ||||
| -rw-r--r-- | users/drashna/drashna.c | 132 | ||||
| -rw-r--r-- | users/drashna/drashna.h | 24 | ||||
| -rw-r--r-- | users/drashna/readme.md | 22 | ||||
| -rw-r--r-- | users/drashna/rules.mk | 4 |
12 files changed, 275 insertions, 251 deletions
diff --git a/keyboards/iris/keymaps/drashna/config.h b/keyboards/iris/keymaps/drashna/config.h index 2a451e7c7..bfdd0022b 100644 --- a/keyboards/iris/keymaps/drashna/config.h +++ b/keyboards/iris/keymaps/drashna/config.h | |||
| @@ -41,6 +41,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. | |||
| 41 | #define RGBLIGHT_EFFECT_KNIGHT_LENGTH 2 | 41 | #define RGBLIGHT_EFFECT_KNIGHT_LENGTH 2 |
| 42 | #define RGBLIGHT_EFFECT_SNAKE_LENGTH 2 | 42 | #define RGBLIGHT_EFFECT_SNAKE_LENGTH 2 |
| 43 | #define RGBLIGHT_EFFECT_BREATHE_CENTER 1 | 43 | #define RGBLIGHT_EFFECT_BREATHE_CENTER 1 |
| 44 | |||
| 45 | #define RGBLIGHT_LIMIT_VAL 225 | ||
| 44 | #endif // RGBLIGHT_ENABLE | 46 | #endif // RGBLIGHT_ENABLE |
| 45 | 47 | ||
| 46 | #ifdef AUDIO_ENABLE | 48 | #ifdef AUDIO_ENABLE |
diff --git a/keyboards/iris/keymaps/drashna/keymap.c b/keyboards/iris/keymaps/drashna/keymap.c index 64d074fc9..b24e5fe53 100644 --- a/keyboards/iris/keymaps/drashna/keymap.c +++ b/keyboards/iris/keymaps/drashna/keymap.c | |||
| @@ -2,79 +2,94 @@ | |||
| 2 | #include QMK_KEYBOARD_H | 2 | #include QMK_KEYBOARD_H |
| 3 | #include "drashna.h" | 3 | #include "drashna.h" |
| 4 | 4 | ||
| 5 | #ifdef INDICATOR_LIGHTS | ||
| 6 | extern userspace_config_t userspace_config; | ||
| 5 | 7 | ||
| 6 | #define KC_ALAP ALT_T(KC_APP) | 8 | uint8_t last_mod; |
| 9 | uint8_t last_led; | ||
| 10 | uint8_t last_osm; | ||
| 11 | bool has_mods_changed = false; | ||
| 12 | #endif | ||
| 7 | 13 | ||
| 14 | #define KC_ALAP ALT_T(KC_APP) | ||
| 15 | #define KC_OSLG OSM(MOD_LGUI) | ||
| 8 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | 16 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { |
| 9 | 17 | ||
| 10 | [_QWERTY] = LAYOUT_wrapper( | 18 | [_QWERTY] = LAYOUT_wrapper( |
| 11 | KC_GESC, ________________NUMBER_LEFT________________, ________________NUMBER_RIGHT_______________, KC_MINS, | 19 | KC_ESC, ________________NUMBER_LEFT________________, ________________NUMBER_RIGHT_______________, KC_MINS, |
| 12 | KC_TAB , _________________QWERTY_L1_________________, _________________QWERTY_R1_________________, KC_BSLS, | 20 | KC_TAB , _________________QWERTY_L1_________________, _________________QWERTY_R1_________________, KC_BSLS, |
| 13 | KC_C1R3, _________________QWERTY_L2_________________, _________________QWERTY_R2_________________, KC_QUOT, | 21 | KC_CCCV, _________________QWERTY_L2_________________, _________________QWERTY_R2_________________, KC_QUOT, |
| 14 | KC_MLSF, _________________QWERTY_L3_________________, KC_ALAP, KC_LGUI, _________________QWERTY_R3_________________, KC_MRSF, | 22 | KC_MLSF, _________________QWERTY_L3_________________, KC_ALAP, KC_OSLG, _________________QWERTY_R3_________________, KC_MRSF, |
| 15 | LOWER, KC_SPC, KC_BSPC, KC_DEL, KC_ENT, RAISE | 23 | LT(_LOWER,KC_GRV), KC_SPC, KC_BSPC, KC_DEL, KC_ENT, RAISE |
| 16 | ), | 24 | ), |
| 17 | [_COLEMAK] = LAYOUT_wrapper( | 25 | [_COLEMAK] = LAYOUT_wrapper( |
| 18 | KC_GESC, ________________NUMBER_LEFT________________, ________________NUMBER_RIGHT_______________, KC_MINS, | 26 | KC_ESC , ________________NUMBER_LEFT________________, ________________NUMBER_RIGHT_______________, KC_MINS, |
| 19 | KC_TAB , _________________COLEMAK_L1________________, _________________COLEMAK_R1________________, KC_BSLS, | 27 | KC_TAB , _________________COLEMAK_L1________________, _________________COLEMAK_R1________________, KC_BSLS, |
| 20 | KC_C1R3, _________________COLEMAK_L2________________, _________________COLEMAK_R2________________, KC_QUOT, | 28 | KC_CCCV, _________________COLEMAK_L2________________, _________________COLEMAK_R2________________, KC_QUOT, |
| 21 | KC_MLSF, _________________COLEMAK_L3________________, KC_ALAP, KC_LGUI, _________________COLEMAK_R3________________, KC_MRSF, | 29 | KC_MLSF, _________________COLEMAK_L3________________, KC_ALAP, KC_OSLG, _________________COLEMAK_R3________________, KC_MRSF, |
| 22 | LOWER, KC_SPC, KC_BSPC, KC_DEL, KC_ENT, RAISE | 30 | LT(_LOWER,KC_GRV), KC_SPC, KC_BSPC, KC_DEL, KC_ENT, RAISE |
| 23 | ), | 31 | ), |
| 24 | [_DVORAK] = LAYOUT_wrapper( | 32 | [_DVORAK] = LAYOUT_wrapper( |
| 25 | KC_GESC, ________________NUMBER_LEFT________________, ________________NUMBER_RIGHT_______________, KC_MINS, | 33 | KC_ESC, ________________NUMBER_LEFT________________, ________________NUMBER_RIGHT_______________, KC_MINS, |
| 26 | KC_TAB , _________________DVORAK_L1_________________, _________________DVORAK_R1_________________, KC_BSLS, | 34 | KC_TAB , _________________DVORAK_L1_________________, _________________DVORAK_R1_________________, KC_BSLS, |
| 27 | KC_C1R3, _________________DVORAK_L2_________________, _________________DVORAK_R2_________________, KC_QUOT, | 35 | KC_CCCV, _________________DVORAK_L2_________________, _________________DVORAK_R2_________________, KC_QUOT, |
| 28 | KC_MLSF, _________________DVORAK_L3_________________, KC_ALAP, KC_LGUI, _________________DVORAK_R3_________________, KC_MRSF, | 36 | KC_MLSF, _________________DVORAK_L3_________________, KC_ALAP, KC_OSLG, _________________DVORAK_R3_________________, KC_MRSF, |
| 29 | LOWER, KC_SPC, KC_BSPC, KC_DEL, KC_ENT, RAISE | 37 | LT(_LOWER,KC_GRV), KC_SPC, KC_BSPC, KC_DEL, KC_ENT, RAISE |
| 30 | ), | 38 | ), |
| 31 | [_WORKMAN] = LAYOUT_wrapper( | 39 | [_WORKMAN] = LAYOUT_wrapper( |
| 32 | KC_GESC, ________________NUMBER_LEFT________________, ________________NUMBER_RIGHT_______________, KC_MINS, | 40 | KC_ESC, ________________NUMBER_LEFT________________, ________________NUMBER_RIGHT_______________, KC_MINS, |
| 33 | KC_TAB , _________________WORKMAN_L1________________, _________________WORKMAN_R1________________, KC_BSLS, | 41 | KC_TAB , _________________WORKMAN_L1________________, _________________WORKMAN_R1________________, KC_BSLS, |
| 34 | KC_C1R3, _________________WORKMAN_L2________________, _________________WORKMAN_R2________________, KC_QUOT, | 42 | KC_CCCV, _________________WORKMAN_L2________________, _________________WORKMAN_R2________________, KC_QUOT, |
| 35 | KC_MLSF, _________________WORKMAN_L3________________, KC_ALAP, KC_LGUI, _________________WORKMAN_R3________________, KC_MRSF, | 43 | KC_MLSF, _________________WORKMAN_L3________________, KC_ALAP, KC_OSLG, _________________WORKMAN_R3________________, KC_MRSF, |
| 36 | LOWER, KC_SPC, KC_BSPC, KC_DEL, KC_ENT, RAISE | 44 | LT(_LOWER,KC_GRV), KC_SPC, KC_BSPC, KC_DEL, KC_ENT, RAISE |
| 37 | ), | 45 | ), |
| 38 | 46 | ||
| 39 | [_MODS] = LAYOUT( | 47 | [_MODS] = LAYOUT_wrapper( |
| 40 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | 48 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, |
| 41 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | 49 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, |
| 42 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | 50 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, |
| 43 | KC_LSFT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | 51 | KC_LSFT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_RSFT, |
| 44 | _______, _______, _______, _______, _______, _______ | 52 | _______, _______, _______, _______, _______, _______ |
| 45 | ), | 53 | ), |
| 46 | 54 | ||
| 47 | 55 | ||
| 48 | [_LOWER] = LAYOUT( | 56 | [_LOWER] = LAYOUT_wrapper( |
| 49 | KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, | 57 | _______, _________________FUNC_LEFT_________________, _________________FUNC_RIGHT________________, _______, |
| 50 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | 58 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, |
| 51 | KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_RBRC, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, | 59 | _______, _______, _______, _______, _______, _______, _______, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, |
| 52 | KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_LPRN, KC_RPRN, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, | 60 | _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, |
| 53 | _______, _______, KC_DEL, _______, _______, _______ | 61 | _______, _______, _______, _______, _______, _______ |
| 54 | ), | 62 | ), |
| 55 | 63 | ||
| 56 | [_RAISE] = LAYOUT( | 64 | [_RAISE] = LAYOUT_wrapper( |
| 57 | KC_F12, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, | 65 | _______, _________________FUNC_LEFT_________________, _________________FUNC_RIGHT________________, _______, |
| 58 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | 66 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, |
| 59 | _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_UNDS, KC_EQL , KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, | 67 | _______, _______, _______, _______, _______, _______, _______, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, |
| 60 | _______, _______, _______, _______, _______, _______, _______, _______, KC_PLUS, KC_END, _______, _______, _______, _______, | 68 | _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END, _______, |
| 61 | _______, _______, _______, _______, _______, _______ | 69 | _______, _______, _______, _______, _______, _______ |
| 62 | ), | 70 | ), |
| 63 | 71 | ||
| 64 | [_ADJUST] = LAYOUT( | 72 | [_ADJUST] = LAYOUT_wrapper( |
| 65 | KC_MAKE, KC_RST, EPRM, _______, _______, _______, _______, _______, _______, _______, _______, _______, | 73 | KC_MAKE, _______, _______, _______, _______, _______, KC_SEC1, KC_SEC2, KC_SEC3, KC_SEC4, KC_SEC5, KC_RST, |
| 66 | RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, | 74 | VRSN, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_TOG, _______, _______, _______, _______, _______, EPRM, |
| 67 | RGB_SMOD,RGB_HUI, CK_TOGG, AU_ON, AU_OFF, AG_NORM, AG_SWAP, KC_QWERTY, KC_COLEMAK, KC_DVORAK, KC_WORKMAN, TG(_MODS), | 75 | _______, _______, CK_TOGG, AU_ON, AU_OFF, AG_NORM, AG_SWAP, KC_QWERTY, KC_COLEMAK, KC_DVORAK, KC_WORKMAN, _______, |
| 68 | KC_RGB_T,RGB_SMOD,RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, MG_NKRO, KC_MUTE, KC_VOLD, KC_VOLU, KC_MNXT, KC_MPLY, | 76 | TG(_MODS),RGB_SMOD,RGB_HUD,RGB_SAD, RGB_VAD, KC_RGB_T,_______, _______, MG_NKRO, KC_MUTE, KC_VOLD, KC_VOLU, KC_MNXT, KC_MPLY, |
| 69 | _______, _______, _______, _______, _______, _______ | 77 | _______, _______, _______, _______, _______, _______ |
| 70 | ) | 78 | ) |
| 71 | 79 | ||
| 72 | }; | 80 | }; |
| 73 | 81 | ||
| 74 | 82 | ||
| 83 | void matrix_init_keymap(void) { | ||
| 84 | #ifdef INDICATOR_LIGHTS | ||
| 85 | last_mod = get_mods(); | ||
| 86 | last_led = host_keyboard_leds(); | ||
| 87 | last_osm =get_oneshot_mods(); | ||
| 88 | #endif | ||
| 89 | } | ||
| 75 | 90 | ||
| 76 | #ifdef INDICATOR_LIGHT | ||
| 77 | uint32_t layer_state_set_keymap (uint32_t state) { | 91 | uint32_t layer_state_set_keymap (uint32_t state) { |
| 92 | #ifdef INDICATOR_LIGHTS | ||
| 78 | uint8_t modifiders = get_mods(); | 93 | uint8_t modifiders = get_mods(); |
| 79 | uint8_t led_usb_state = host_keyboard_leds(); | 94 | uint8_t led_usb_state = host_keyboard_leds(); |
| 80 | uint8_t one_shot = get_oneshot_mods(); | 95 | uint8_t one_shot = get_oneshot_mods(); |
| @@ -92,41 +107,49 @@ uint32_t layer_state_set_keymap (uint32_t state) { | |||
| 92 | rgblight_sethsv_at(120, 255, 255, 7); | 107 | rgblight_sethsv_at(120, 255, 255, 7); |
| 93 | rgblight_sethsv_at(120, 255, 255, 8); | 108 | rgblight_sethsv_at(120, 255, 255, 8); |
| 94 | } | 109 | } |
| 110 | #endif | ||
| 95 | 111 | ||
| 96 | return state; | 112 | return state; |
| 97 | } | 113 | } |
| 98 | 114 | ||
| 99 | 115 | ||
| 100 | void matrix_scan_keymap (void) { | 116 | void matrix_scan_keymap (void) { |
| 101 | static uint8_t current_mods; | 117 | |
| 102 | static uint8_t current_host_leds; | 118 | #ifdef INDICATOR_LIGHTS |
| 103 | static uint8_t current_oneshot_mods; | 119 | uint8_t current_mod = get_mods(); |
| 104 | static bool has_status_changed = true; | 120 | uint8_t current_led = host_keyboard_leds(); |
| 105 | 121 | uint8_t current_osm =get_oneshot_mods(); | |
| 106 | if ( current_mods != get_mods() || current_host_leds != host_keyboard_leds() || current_oneshot_mods != get_oneshot_mods()) { | 122 | |
| 107 | has_status_changed = true; | 123 | if (last_mod == current_mod) { |
| 108 | current_mods = get_mods(); | 124 | last_mod = current_mod; |
| 109 | current_host_leds = host_keyboard_leds(); | 125 | has_mods_changed = true; |
| 110 | current_oneshot_mods = get_oneshot_mods(); | 126 | } |
| 127 | if (last_led == current_led) { | ||
| 128 | last_led = current_led; | ||
| 129 | has_mods_changed = true; | ||
| 111 | } | 130 | } |
| 112 | if (has_status_changed) { | 131 | if (last_osm == current_osm) { |
| 113 | has_status_changed = false; | 132 | last_osm = current_osm; |
| 133 | has_mods_changed = true; | ||
| 134 | } | ||
| 135 | |||
| 114 | 136 | ||
| 115 | if (current_mods & MODS_SHIFT_MASK || current_host_leds & (1<<USB_LED_CAPS_LOCK) || current_oneshot_mods & MODS_SHIFT_MASK) { | 137 | if (userspace_config.rgb_layer_change && has_mods_changed && biton32(layer_state) == 0) { |
| 138 | if (current_mod & MODS_SHIFT_MASK || current_led & (1<<USB_LED_CAPS_LOCK) || current_osm & MODS_SHIFT_MASK) { | ||
| 116 | rgblight_sethsv_at(0, 255, 255, 5); | 139 | rgblight_sethsv_at(0, 255, 255, 5); |
| 117 | rgblight_sethsv_at(0, 255, 255, 10); | 140 | rgblight_sethsv_at(0, 255, 255, 10); |
| 118 | } else { | 141 | } else { |
| 119 | rgblight_sethsv_default_helper(5); | 142 | rgblight_sethsv_default_helper(5); |
| 120 | rgblight_sethsv_default_helper(10); | 143 | rgblight_sethsv_default_helper(10); |
| 121 | } | 144 | } |
| 122 | if (current_mods & MODS_CTRL_MASK || current_oneshot_mods & MODS_CTRL_MASK) { | 145 | if (current_mod & MODS_CTRL_MASK || current_osm & MODS_CTRL_MASK) { |
| 123 | rgblight_sethsv_at(51, 255, 255, 6); | 146 | rgblight_sethsv_at(51, 255, 255, 6); |
| 124 | rgblight_sethsv_at(51, 255, 255, 9); | 147 | rgblight_sethsv_at(51, 255, 255, 9); |
| 125 | } else { | 148 | } else { |
| 126 | rgblight_sethsv_default_helper(6); | 149 | rgblight_sethsv_default_helper(6); |
| 127 | rgblight_sethsv_default_helper(9); | 150 | rgblight_sethsv_default_helper(9); |
| 128 | } | 151 | } |
| 129 | if (current_mods & MODS_GUI_MASK || current_oneshot_mods & MODS_GUI_MASK) { | 152 | if (current_mod & MODS_GUI_MASK || current_osm & MODS_GUI_MASK) { |
| 130 | rgblight_sethsv_at(120, 255, 255, 7); | 153 | rgblight_sethsv_at(120, 255, 255, 7); |
| 131 | rgblight_sethsv_at(120, 255, 255, 8); | 154 | rgblight_sethsv_at(120, 255, 255, 8); |
| 132 | } else { | 155 | } else { |
| @@ -135,7 +158,6 @@ void matrix_scan_keymap (void) { | |||
| 135 | 158 | ||
| 136 | } | 159 | } |
| 137 | } | 160 | } |
| 138 | } | ||
| 139 | #endif | 161 | #endif |
| 140 | 162 | ||
| 141 | 163 | } | |
diff --git a/keyboards/iris/keymaps/drashna/rules.mk b/keyboards/iris/keymaps/drashna/rules.mk index 8f19384f6..2608985c6 100644 --- a/keyboards/iris/keymaps/drashna/rules.mk +++ b/keyboards/iris/keymaps/drashna/rules.mk | |||
| @@ -9,3 +9,4 @@ AUDIO_ENABLE = yes | |||
| 9 | NKRO_ENABLE = yes | 9 | NKRO_ENABLE = yes |
| 10 | BACKLIGHT_ENABLE = no | 10 | BACKLIGHT_ENABLE = no |
| 11 | SWAP_HANDS_ENABLE = yes | 11 | SWAP_HANDS_ENABLE = yes |
| 12 | INDICATOR_LIGHTS = yes | ||
diff --git a/keyboards/orthodox/keymaps/drashna/keymap.c b/keyboards/orthodox/keymaps/drashna/keymap.c index 3c99e9cb8..bcc59268c 100644 --- a/keyboards/orthodox/keymaps/drashna/keymap.c +++ b/keyboards/orthodox/keymaps/drashna/keymap.c | |||
| @@ -22,6 +22,14 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. | |||
| 22 | #include QMK_KEYBOARD_H | 22 | #include QMK_KEYBOARD_H |
| 23 | #include "drashna.h" | 23 | #include "drashna.h" |
| 24 | 24 | ||
| 25 | #ifdef INDICATOR_LIGHTS | ||
| 26 | extern userspace_config_t userspace_config; | ||
| 27 | |||
| 28 | uint8_t last_mod; | ||
| 29 | uint8_t last_led; | ||
| 30 | uint8_t last_osm; | ||
| 31 | bool has_mods_changed = false; | ||
| 32 | #endif | ||
| 25 | 33 | ||
| 26 | // Each layer gets a name for readability, which is then used in the keymap matrix below. | 34 | // Each layer gets a name for readability, which is then used in the keymap matrix below. |
| 27 | // The underscores don't mean anything - you can have a layer called STUFF or any other name. | 35 | // The underscores don't mean anything - you can have a layer called STUFF or any other name. |
| @@ -33,6 +41,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. | |||
| 33 | #define XXXXXXX KC_NO | 41 | #define XXXXXXX KC_NO |
| 34 | 42 | ||
| 35 | 43 | ||
| 44 | |||
| 36 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | 45 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { |
| 37 | 46 | ||
| 38 | [_QWERTY] = LAYOUT_wrapper(\ | 47 | [_QWERTY] = LAYOUT_wrapper(\ |
| @@ -65,27 +74,35 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
| 65 | 74 | ||
| 66 | [_LOWER] = LAYOUT_wrapper(\ | 75 | [_LOWER] = LAYOUT_wrapper(\ |
| 67 | KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, | 76 | KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, |
| 68 | KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_PGUP, KC_PGDN, KC_HOME, KC_END, _______, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, | 77 | _______, _________________FUNC_LEFT_________________, KC_PGUP, KC_PGDN, KC_HOME, KC_END, _______, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, |
| 69 | KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, _______, _______, KC_COMM, KC_DOT, _______, _______ | 78 | _______, _________________FUNC_RIGHT________________, _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______ |
| 70 | ), | 79 | ), |
| 71 | 80 | ||
| 72 | [_RAISE] = LAYOUT_wrapper(\ | 81 | [_RAISE] = LAYOUT_wrapper(\ |
| 73 | KC_GRV, ________________NUMBER_LEFT________________, ________________NUMBER_RIGHT_______________, KC_BSPC, | 82 | KC_GRV, ________________NUMBER_LEFT________________, ________________NUMBER_RIGHT_______________, KC_BSPC, |
| 74 | _______, _______, _______, _______, _______, _______, KC_PGUP, KC_PGDN, KC_HOME, KC_END, _______, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, | 83 | _______, _______, _______, _______, _______, _______, KC_PGUP, KC_PGDN, KC_HOME, KC_END, _______, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, |
| 75 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_COMM, KC_DOT, _______, _______ | 84 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END, _______ |
| 76 | ), | 85 | ), |
| 77 | 86 | ||
| 78 | [_ADJUST] = LAYOUT_wrapper(\ | 87 | [_ADJUST] = LAYOUT_wrapper(\ |
| 79 | KC_MAKE,KC_RESET, EPRM, _______, _______, _______, _______, _______, _______, _______, _______, _______, | 88 | KC_MAKE, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_TOG, KC_SEC1, KC_SEC2, KC_SEC3, KC_SEC4, KC_SEC5, KC_RESET, |
| 80 | RGB_SMOD,RGB_HUI, CK_TOGG, AU_ON, AU_OFF, AG_NORM, _______, _______, _______, _______, AG_SWAP, KC_QWERTY, KC_COLEMAK, KC_DVORAK, KC_WORKMAN, TG(_MODS), | 89 | VRSN, _______, CK_TOGG, AU_ON, AU_OFF, AG_NORM, _______, _______, _______, _______, AG_SWAP, KC_QWERTY, KC_COLEMAK, KC_DVORAK, KC_WORKMAN, EPRM, |
| 81 | KC_RGB_T,RGB_HUD, MU_ON, MU_OFF, MU_TOG, MU_MOD, _______, _______, _______, _______, _______, _______, MG_NKRO, KC_MUTE, KC_VOLD, KC_VOLU, KC_MNXT, KC_MPLY | 90 | TG(_MODS),RGB_RMOD,RGB_HUD,RGB_SAD, RGB_VAD, KC_RGB_T,_______, _______, _______, _______, _______, _______, MG_NKRO, KC_MUTE, KC_VOLD, KC_VOLU, KC_MNXT, KC_MPLY |
| 82 | ) | 91 | ) |
| 83 | 92 | ||
| 84 | 93 | ||
| 85 | }; | 94 | }; |
| 86 | 95 | ||
| 87 | #ifdef RGBLIGHT_ENABLE | 96 | void matrix_init_keymap(void) { |
| 97 | #ifdef INDICATOR_LIGHTS | ||
| 98 | last_mod = get_mods(); | ||
| 99 | last_led = host_keyboard_leds(); | ||
| 100 | last_osm =get_oneshot_mods(); | ||
| 101 | #endif | ||
| 102 | } | ||
| 103 | |||
| 88 | uint32_t layer_state_set_keymap (uint32_t state) { | 104 | uint32_t layer_state_set_keymap (uint32_t state) { |
| 105 | #ifdef INDICATOR_LIGHTS | ||
| 89 | uint8_t modifiders = get_mods(); | 106 | uint8_t modifiders = get_mods(); |
| 90 | uint8_t led_usb_state = host_keyboard_leds(); | 107 | uint8_t led_usb_state = host_keyboard_leds(); |
| 91 | uint8_t one_shot = get_oneshot_mods(); | 108 | uint8_t one_shot = get_oneshot_mods(); |
| @@ -103,41 +120,49 @@ uint32_t layer_state_set_keymap (uint32_t state) { | |||
| 103 | rgblight_sethsv_at(120, 255, 255, 7); | 120 | rgblight_sethsv_at(120, 255, 255, 7); |
| 104 | rgblight_sethsv_at(120, 255, 255, 8); | 121 | rgblight_sethsv_at(120, 255, 255, 8); |
| 105 | } | 122 | } |
| 123 | #endif | ||
| 106 | 124 | ||
| 107 | return state; | 125 | return state; |
| 108 | } | 126 | } |
| 109 | 127 | ||
| 110 | 128 | ||
| 111 | void matrix_scan_keymap (void) { | 129 | void matrix_scan_keymap (void) { |
| 112 | static uint8_t current_mods; | 130 | |
| 113 | static uint8_t current_host_leds; | 131 | #ifdef INDICATOR_LIGHTS |
| 114 | static uint8_t current_oneshot_mods; | 132 | uint8_t current_mod = get_mods(); |
| 115 | static bool has_status_changed = true; | 133 | uint8_t current_led = host_keyboard_leds(); |
| 116 | 134 | uint8_t current_osm =get_oneshot_mods(); | |
| 117 | if ( current_mods != get_mods() || current_host_leds != host_keyboard_leds() || current_oneshot_mods != get_oneshot_mods()) { | 135 | |
| 118 | has_status_changed = true; | 136 | if (last_mod == current_mod) { |
| 119 | current_mods = get_mods(); | 137 | last_mod = current_mod; |
| 120 | current_host_leds = host_keyboard_leds(); | 138 | has_mods_changed = true; |
| 121 | current_oneshot_mods = get_oneshot_mods(); | 139 | } |
| 140 | if (last_led == current_led) { | ||
| 141 | last_led = current_led; | ||
| 142 | has_mods_changed = true; | ||
| 122 | } | 143 | } |
| 123 | if (has_status_changed) { | 144 | if (last_osm == current_osm) { |
| 124 | has_status_changed = false; | 145 | last_osm = current_osm; |
| 146 | has_mods_changed = true; | ||
| 147 | } | ||
| 148 | |||
| 125 | 149 | ||
| 126 | if (current_mods & MODS_SHIFT_MASK || current_host_leds & (1<<USB_LED_CAPS_LOCK) || current_oneshot_mods & MODS_SHIFT_MASK) { | 150 | if (userspace_config.rgb_layer_change && has_mods_changed && biton32(layer_state) == 0) { |
| 151 | if (current_mod & MODS_SHIFT_MASK || current_led & (1<<USB_LED_CAPS_LOCK) || current_osm & MODS_SHIFT_MASK) { | ||
| 127 | rgblight_sethsv_at(0, 255, 255, 5); | 152 | rgblight_sethsv_at(0, 255, 255, 5); |
| 128 | rgblight_sethsv_at(0, 255, 255, 10); | 153 | rgblight_sethsv_at(0, 255, 255, 10); |
| 129 | } else { | 154 | } else { |
| 130 | rgblight_sethsv_default_helper(5); | 155 | rgblight_sethsv_default_helper(5); |
| 131 | rgblight_sethsv_default_helper(10); | 156 | rgblight_sethsv_default_helper(10); |
| 132 | } | 157 | } |
| 133 | if (current_mods & MODS_CTRL_MASK || current_oneshot_mods & MODS_CTRL_MASK) { | 158 | if (current_mod & MODS_CTRL_MASK || current_osm & MODS_CTRL_MASK) { |
| 134 | rgblight_sethsv_at(51, 255, 255, 6); | 159 | rgblight_sethsv_at(51, 255, 255, 6); |
| 135 | rgblight_sethsv_at(51, 255, 255, 9); | 160 | rgblight_sethsv_at(51, 255, 255, 9); |
| 136 | } else { | 161 | } else { |
| 137 | rgblight_sethsv_default_helper(6); | 162 | rgblight_sethsv_default_helper(6); |
| 138 | rgblight_sethsv_default_helper(9); | 163 | rgblight_sethsv_default_helper(9); |
| 139 | } | 164 | } |
| 140 | if (current_mods & MODS_GUI_MASK || current_oneshot_mods & MODS_GUI_MASK) { | 165 | if (current_mod & MODS_GUI_MASK || current_osm & MODS_GUI_MASK) { |
| 141 | rgblight_sethsv_at(120, 255, 255, 7); | 166 | rgblight_sethsv_at(120, 255, 255, 7); |
| 142 | rgblight_sethsv_at(120, 255, 255, 8); | 167 | rgblight_sethsv_at(120, 255, 255, 8); |
| 143 | } else { | 168 | } else { |
| @@ -146,5 +171,7 @@ void matrix_scan_keymap (void) { | |||
| 146 | 171 | ||
| 147 | } | 172 | } |
| 148 | } | 173 | } |
| 149 | } | ||
| 150 | #endif | 174 | #endif |
| 175 | |||
| 176 | } | ||
| 177 | |||
diff --git a/keyboards/orthodox/keymaps/drashna/rules.mk b/keyboards/orthodox/keymaps/drashna/rules.mk index 222a43640..7ea609ede 100644 --- a/keyboards/orthodox/keymaps/drashna/rules.mk +++ b/keyboards/orthodox/keymaps/drashna/rules.mk | |||
| @@ -7,3 +7,4 @@ TAP_DANCE_ENABLE = no | |||
| 7 | RGBLIGHT_ENABLE = yes | 7 | RGBLIGHT_ENABLE = yes |
| 8 | AUDIO_ENABLE = yes | 8 | AUDIO_ENABLE = yes |
| 9 | NKRO_ENABLE = yes | 9 | NKRO_ENABLE = yes |
| 10 | INDICATOR_LIGHTS = yes | ||
diff --git a/keyboards/viterbi/keymaps/drashna/keymap.c b/keyboards/viterbi/keymaps/drashna/keymap.c index 09e8bc599..11ffe6ebd 100644 --- a/keyboards/viterbi/keymaps/drashna/keymap.c +++ b/keyboards/viterbi/keymaps/drashna/keymap.c | |||
| @@ -17,7 +17,6 @@ extern keymap_config_t keymap_config; | |||
| 17 | #define DIABLO TG(_DIABLO) | 17 | #define DIABLO TG(_DIABLO) |
| 18 | #define GAMEPAD TG(_GAMEPAD) | 18 | #define GAMEPAD TG(_GAMEPAD) |
| 19 | #define MEDIA TT(_MEDIA) | 19 | #define MEDIA TT(_MEDIA) |
| 20 | #define COVECUBE TG(_COVECUBE) | ||
| 21 | 20 | ||
| 22 | 21 | ||
| 23 | //enum more_custom_keycodes { | 22 | //enum more_custom_keycodes { |
| @@ -28,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
| 28 | 27 | ||
| 29 | [_NUMLOCK] = LAYOUT_ortho_5x7( | 28 | [_NUMLOCK] = LAYOUT_ortho_5x7( |
| 30 | LMACRO, DIABLO, GAMEPAD, KC_NLCK, KC_SLCK, KC_COLN, KC_PSLS, | 29 | LMACRO, DIABLO, GAMEPAD, KC_NLCK, KC_SLCK, KC_COLN, KC_PSLS, |
| 31 | MEDIA, KC_CALC, COVECUBE,KC_P7, KC_P8, KC_P9, KC_PAST, | 30 | MEDIA, KC_CALC, XXXXXXX, KC_P7, KC_P8, KC_P9, KC_PAST, |
| 32 | KC_HOME, KC_DEL, KC_PGUP, KC_P4, KC_P5, KC_P6, KC_PMNS, | 31 | KC_HOME, KC_DEL, KC_PGUP, KC_P4, KC_P5, KC_P6, KC_PMNS, |
| 33 | KC_END, KC_UP, KC_PGDN, KC_P1, KC_P2, KC_P3, KC_PPLS, | 32 | KC_END, KC_UP, KC_PGDN, KC_P1, KC_P2, KC_P3, KC_PPLS, |
| 34 | KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_COLN, KC_PENT | 33 | KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_COLN, KC_PENT |
| @@ -58,13 +57,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
| 58 | KC_SALT, KC_MORESALT, KC_SALTHARD, KC_JUSTGAME, KC_AIM, XXXXXXX, KC_PENT | 57 | KC_SALT, KC_MORESALT, KC_SALTHARD, KC_JUSTGAME, KC_AIM, XXXXXXX, KC_PENT |
| 59 | ), | 58 | ), |
| 60 | 59 | ||
| 61 | [_COVECUBE] = LAYOUT_ortho_5x7( | ||
| 62 | XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, | ||
| 63 | XXXXXXX, XXXXXXX, COVECUBE, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, | ||
| 64 | XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, | ||
| 65 | XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, | ||
| 66 | XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX | ||
| 67 | ), | ||
| 68 | 60 | ||
| 69 | [_MEDIA] = LAYOUT_ortho_5x7( | 61 | [_MEDIA] = LAYOUT_ortho_5x7( |
| 70 | KC_MAKE, KC_RESET,MU_TOG, AU_ON, AU_OFF, CK_TOGG, RGB_SAD, | 62 | KC_MAKE, KC_RESET,MU_TOG, AU_ON, AU_OFF, CK_TOGG, RGB_SAD, |
| @@ -77,13 +69,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
| 77 | 69 | ||
| 78 | }; | 70 | }; |
| 79 | 71 | ||
| 80 | void matrix_init_keymap(void) { | ||
| 81 | DDRD &= ~(1<<5); | ||
| 82 | PORTD &= ~(1<<5); | ||
| 83 | 72 | ||
| 84 | DDRB &= ~(1<<0); | ||
| 85 | PORTB &= ~(1<<0); | ||
| 86 | } | ||
| 87 | 73 | ||
| 88 | bool process_record_keymap(uint16_t keycode, keyrecord_t *record) { | 74 | bool process_record_keymap(uint16_t keycode, keyrecord_t *record) { |
| 89 | 75 | ||
diff --git a/layouts/community/ergodox/drashna/keymap.c b/layouts/community/ergodox/drashna/keymap.c index 03fa67a7d..b3fe274a5 100644 --- a/layouts/community/ergodox/drashna/keymap.c +++ b/layouts/community/ergodox/drashna/keymap.c | |||
| @@ -57,11 +57,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
| 57 | */ | 57 | */ |
| 58 | [_QWERTY] = LAYOUT_ergodox_pretty_wrapper( | 58 | [_QWERTY] = LAYOUT_ergodox_pretty_wrapper( |
| 59 | // left hand // right hand | 59 | // left hand // right hand |
| 60 | KC_EQL, ________________NUMBER_LEFT________________, OSL(_MOUS), OSL(_MOUS), ________________NUMBER_RIGHT_______________, KC_MINS, | 60 | KC_EQL, ________________NUMBER_LEFT________________, _______, _______, ________________NUMBER_RIGHT_______________, KC_MINS, |
| 61 | KC_TAB, _________________QWERTY_L1_________________, TG(_DIABLO), TG(_DIABLO), _________________QWERTY_R1_________________, KC_BSLS, | 61 | KC_TAB, _________________QWERTY_L1_________________, TG(_DIABLO), TG(_DIABLO), _________________QWERTY_R1_________________, KC_BSLS, |
| 62 | KC_C1R3, _________________QWERTY_L2_________________, _________________QWERTY_R2_________________, KC_QUOT, | 62 | KC_C1R3, _________________QWERTY_L2_________________, _________________QWERTY_R2_________________, KC_QUOT, |
| 63 | KC_MLSF, _________________QWERTY_L3_________________, TG(_GAMEPAD), TG(_GAMEPAD), _________________QWERTY_R3_________________, KC_MRSF, | 63 | KC_MLSF, _________________QWERTY_L3_________________, TG(_GAMEPAD), TG(_GAMEPAD), _________________QWERTY_R3_________________, KC_MRSF, |
| 64 | LT(_SYMB,KC_GRV), ___________ERGODOX_BOTTOM_LEFT_____________, ___________ERGODOX_BOTTOM_RIGHT____________, TT(_SYMB), | 64 | KC_GRV, ___________ERGODOX_BOTTOM_LEFT_____________, ___________ERGODOX_BOTTOM_RIGHT____________, KC_CCCV, |
| 65 | __________________ERGODOX_THUMB_CLUSTER_____________________ | 65 | __________________ERGODOX_THUMB_CLUSTER_____________________ |
| 66 | ), | 66 | ), |
| 67 | /* Keymap 0: COLEMAK layer | 67 | /* Keymap 0: COLEMAK layer |
| @@ -89,11 +89,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
| 89 | // Otherwise, it needs KC_* | 89 | // Otherwise, it needs KC_* |
| 90 | [_COLEMAK] = LAYOUT_ergodox_pretty_wrapper( | 90 | [_COLEMAK] = LAYOUT_ergodox_pretty_wrapper( |
| 91 | // left hand // right hand | 91 | // left hand // right hand |
| 92 | KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, OSL(_MOUS), OSL(_MOUS), KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, | 92 | KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, _______, _______, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, |
| 93 | KC_TAB, _________________COLEMAK_L1________________, TG(_DIABLO), TG(_DIABLO), _________________COLEMAK_R1________________, KC_BSLS, | 93 | KC_TAB, _________________COLEMAK_L1________________, TG(_DIABLO), TG(_DIABLO), _________________COLEMAK_R1________________, KC_BSLS, |
| 94 | KC_C1R3, _________________COLEMAK_L2________________, _________________COLEMAK_R2________________, KC_QUOT, | 94 | KC_C1R3, _________________COLEMAK_L2________________, _________________COLEMAK_R2________________, KC_QUOT, |
| 95 | KC_MLSF, _________________COLEMAK_L3________________, TG(_GAMEPAD), TG(_GAMEPAD), _________________COLEMAK_R3________________, KC_MRSF, | 95 | KC_MLSF, _________________COLEMAK_L3________________, TG(_GAMEPAD), TG(_GAMEPAD), _________________COLEMAK_R3________________, KC_MRSF, |
| 96 | LT(_SYMB,KC_GRV), ___________ERGODOX_BOTTOM_LEFT_____________, ___________ERGODOX_BOTTOM_RIGHT____________, TT(_SYMB), | 96 | KC_GRV, ___________ERGODOX_BOTTOM_LEFT_____________, ___________ERGODOX_BOTTOM_RIGHT____________, KC_CCCV, |
| 97 | __________________ERGODOX_THUMB_CLUSTER_____________________ | 97 | __________________ERGODOX_THUMB_CLUSTER_____________________ |
| 98 | ), | 98 | ), |
| 99 | /* Keymap 0: DVORAK Layout | 99 | /* Keymap 0: DVORAK Layout |
| @@ -121,11 +121,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
| 121 | // Otherwise, it needs KC_* | 121 | // Otherwise, it needs KC_* |
| 122 | [_DVORAK] = LAYOUT_ergodox_pretty_wrapper( | 122 | [_DVORAK] = LAYOUT_ergodox_pretty_wrapper( |
| 123 | // left hand // right hand | 123 | // left hand // right hand |
| 124 | KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, OSL(_MOUS), OSL(_MOUS), KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLS, | 124 | KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, _______, _______, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLS, |
| 125 | KC_TAB, _________________DVORAK_L1_________________, TG(_DIABLO), TG(_DIABLO), _________________DVORAK_R1_________________, KC_SLSH, | 125 | KC_TAB, _________________DVORAK_L1_________________, TG(_DIABLO), TG(_DIABLO), _________________DVORAK_R1_________________, KC_SLSH, |
| 126 | KC_C1R3, _________________DVORAK_L2_________________, _________________DVORAK_R2_________________, KC_MINS, | 126 | KC_C1R3, _________________DVORAK_L2_________________, _________________DVORAK_R2_________________, KC_MINS, |
| 127 | KC_MLSF, _________________DVORAK_L3_________________, TG(_GAMEPAD), TG(_GAMEPAD), _________________DVORAK_R3_________________, KC_MRSF, | 127 | KC_MLSF, _________________DVORAK_L3_________________, TG(_GAMEPAD), TG(_GAMEPAD), _________________DVORAK_R3_________________, KC_MRSF, |
| 128 | LT(_SYMB,KC_GRV), ___________ERGODOX_BOTTOM_LEFT_____________, ___________ERGODOX_BOTTOM_RIGHT____________, TT(_SYMB), | 128 | KC_GRV, ___________ERGODOX_BOTTOM_LEFT_____________, ___________ERGODOX_BOTTOM_RIGHT____________, KC_CCCV, |
| 129 | __________________ERGODOX_THUMB_CLUSTER_____________________ | 129 | __________________ERGODOX_THUMB_CLUSTER_____________________ |
| 130 | ), | 130 | ), |
| 131 | /* Keymap 0: WORKMAN layer | 131 | /* Keymap 0: WORKMAN layer |
| @@ -153,16 +153,16 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
| 153 | // Otherwise, it needs KC_* | 153 | // Otherwise, it needs KC_* |
| 154 | [_WORKMAN] = LAYOUT_ergodox_pretty_wrapper( | 154 | [_WORKMAN] = LAYOUT_ergodox_pretty_wrapper( |
| 155 | // left hand | 155 | // left hand |
| 156 | KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, OSL(_MOUS), OSL(_MOUS), KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, | 156 | KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, _______, _______, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, |
| 157 | KC_TAB, _________________WORKMAN_L1________________, TG(_DIABLO), TG(_DIABLO), _________________WORKMAN_R1________________, KC_BSLS, | 157 | KC_TAB, _________________WORKMAN_L1________________, TG(_DIABLO), TG(_DIABLO), _________________WORKMAN_R1________________, KC_BSLS, |
| 158 | KC_C1R3, _________________WORKMAN_L2________________, _________________WORKMAN_R2________________, KC_QUOT, | 158 | KC_C1R3, _________________WORKMAN_L2________________, _________________WORKMAN_R2________________, KC_QUOT, |
| 159 | KC_MLSF, _________________WORKMAN_L3________________, TG(_GAMEPAD), TG(_GAMEPAD), _________________WORKMAN_R3________________, KC_MRSF, | 159 | KC_MLSF, _________________WORKMAN_L3________________, TG(_GAMEPAD), TG(_GAMEPAD), _________________WORKMAN_R3________________, KC_MRSF, |
| 160 | LT(_SYMB,KC_GRV), ___________ERGODOX_BOTTOM_LEFT_____________, ___________ERGODOX_BOTTOM_RIGHT____________, TT(_SYMB), | 160 | KC_GRV, ___________ERGODOX_BOTTOM_LEFT_____________, ___________ERGODOX_BOTTOM_RIGHT____________, KC_CCCV, |
| 161 | __________________ERGODOX_THUMB_CLUSTER_____________________ | 161 | __________________ERGODOX_THUMB_CLUSTER_____________________ |
| 162 | ), | 162 | ), |
| 163 | 163 | ||
| 164 | // Reverts OSM(Shift) to normal Shifts. However, may not need since we fixed the issue with RDP (LOCAL RESOURCES) | 164 | // Reverts OSM(Shift) to normal Shifts. However, may not need since we fixed the issue with RDP (LOCAL RESOURCES) |
| 165 | [_MODS] = LAYOUT_ergodox_pretty( | 165 | [_MODS] = LAYOUT_ergodox_pretty_wrapper( |
| 166 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | 166 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, |
| 167 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | 167 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, |
| 168 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | 168 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, |
| @@ -173,37 +173,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
| 173 | _______, _______, _______, _______, _______, _______ | 173 | _______, _______, _______, _______, _______, _______ |
| 174 | ), | 174 | ), |
| 175 | 175 | ||
| 176 | /* Keymap 3: Symbol Layer | ||
| 177 | * | ||
| 178 | * ,--------------------------------------------------. ,--------------------------------------------------. | ||
| 179 | * | ESC | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F11 | | ||
| 180 | * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| | ||
| 181 | * | RESET | ! | @ | { | } | | | | | | + | 7 | 8 | 9 | * | F12 | | ||
| 182 | * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| | ||
| 183 | * | MAKE | # | $ | ( | ) | ` |------| |------| - | 4 | 5 | 6 | / | PrtSc | | ||
| 184 | * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| | ||
| 185 | * | VRSN | % | ^ | [ | ] | ~ | | | | NUM | 1 | 2 | 3 | = | PAUSE | | ||
| 186 | * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' | ||
| 187 | * | LT0 | & | * | : | ; | | | 0 | NUM. | ENT | ENT | | ||
| 188 | * `----------------------------------' `----------------------------------' | ||
| 189 | * ,-------------. ,-------------. | ||
| 190 | * | RGBM | RED | | OFF | SOLID| | ||
| 191 | * ,------|------|------| |------+------+------. | ||
| 192 | * | | | GREEN| | | | | | ||
| 193 | * | RGB | RGB |------| |------| NUM0 | NUME | | ||
| 194 | * | DARK |BRITE | BLUE | | | | | | ||
| 195 | * `--------------------' `--------------------' | ||
| 196 | */ | ||
| 197 | [_SYMB] = LAYOUT_ergodox_pretty( | ||
| 198 | EPRM, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_QWERTY, KC_QWERTY, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, | ||
| 199 | KC_RST, KC_EXLM, KC_AT, KC_LCBR, KC_RCBR, KC_PIPE, KC_COLEMAK, KC_WORKMAN, KC_PPLS, KC_KP_7, KC_KP_8, KC_KP_9, KC_PAST, KC_F12, | ||
| 200 | KC_MAKE, KC_HASH, KC_DLR, KC_LPRN, KC_RPRN, KC_GRAVE, KC_PMNS, KC_KP_4, KC_KP_5, KC_KP_6, KC_PSLS, KC_PSCREEN, | ||
| 201 | VRSN, KC_PERC, KC_CIRC, KC_LBRC, KC_RBRC, KC_TILD, KC_DVORAK, TG(_MODS), KC_NLCK, KC_KP_1, KC_KP_2, KC_KP_3, KC_PEQL, KC_PAUSE, | ||
| 202 | KC_TRNS, KC_AMPR, KC_ASTR, KC_COLN, KC_SCLN, KC_KP_0, KC_KP_0, KC_PDOT, KC_PENT, KC_TRNS, | ||
| 203 | RGB_SMOD, KC_RGB_T, KC_TRNS, KC_TRNS, | ||
| 204 | RGB_HUI, KC_TRNS, | ||
| 205 | RGB_M_R, RGB_M_SW, RGB_HUD, KC_PDOT, KC_KP_0, KC_PENT | ||
| 206 | ), | ||
| 207 | 176 | ||
| 208 | /* Keymap 4: Customized Overwatch Layout | 177 | /* Keymap 4: Customized Overwatch Layout |
| 209 | * | 178 | * |
| @@ -226,7 +195,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
| 226 | * | | | H | | | | | | 195 | * | | | H | | | | | |
| 227 | * `--------------------' `--------------------' | 196 | * `--------------------' `--------------------' |
| 228 | */ | 197 | */ |
| 229 | [_GAMEPAD] = LAYOUT_ergodox_pretty( | 198 | [_GAMEPAD] = LAYOUT_ergodox_pretty_wrapper( |
| 230 | KC_ESC, KC_TRNS, KC_TRNS, KC_TRNS, HYPR(KC_D), HYPR(KC_Q), HYPR(KC_GRV), KC_TRNS, KC_F9, KC_F10, KC_F11, KC_F12, KC_NO, KC_NO, | 199 | KC_ESC, KC_TRNS, KC_TRNS, KC_TRNS, HYPR(KC_D), HYPR(KC_Q), HYPR(KC_GRV), KC_TRNS, KC_F9, KC_F10, KC_F11, KC_F12, KC_NO, KC_NO, |
| 231 | KC_F1, KC_K, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, | 200 | KC_F1, KC_K, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, |
| 232 | KC_TAB, KC_G, KC_A, KC_S, KC_D, KC_F, KC_I, KC_O, KC_NO, KC_NO, KC_NO, KC_NO, | 201 | KC_TAB, KC_G, KC_A, KC_S, KC_D, KC_F, KC_I, KC_O, KC_NO, KC_NO, KC_NO, KC_NO, |
| @@ -258,7 +227,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
| 258 | * | SHIFT| ALT | 0MAC | | | | | | 227 | * | SHIFT| ALT | 0MAC | | | | | |
| 259 | * `--------------------' `--------------------' | 228 | * `--------------------' `--------------------' |
| 260 | */ | 229 | */ |
| 261 | [_DIABLO] = LAYOUT_ergodox_pretty( | 230 | [_DIABLO] = LAYOUT_ergodox_pretty_wrapper( |
| 262 | KC_ESC, KC_V, KC_D, KC_LALT, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_F9, KC_F10, KC_F11, KC_F12, KC_NO, KC_NO, | 231 | KC_ESC, KC_V, KC_D, KC_LALT, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_F9, KC_F10, KC_F11, KC_F12, KC_NO, KC_NO, |
| 263 | KC_TAB, KC_S, KC_I, KC_F, KC_M, KC_T, KC_TRNS, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, | 232 | KC_TAB, KC_S, KC_I, KC_F, KC_M, KC_T, KC_TRNS, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, |
| 264 | KC_Q, KC_1, KC_2, KC_3, KC_4, KC_G, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, | 233 | KC_Q, KC_1, KC_2, KC_3, KC_4, KC_G, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, |
| @@ -269,36 +238,37 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
| 269 | SFT_T(KC_SPACE), ALT_T(KC_Q), KC_DIABLO_CLEAR, KC_PGDN, KC_DEL, KC_ENT | 238 | SFT_T(KC_SPACE), ALT_T(KC_Q), KC_DIABLO_CLEAR, KC_PGDN, KC_DEL, KC_ENT |
| 270 | ), | 239 | ), |
| 271 | 240 | ||
| 272 | /* Keymap 4: Media and mouse keys | 241 | [_LOWER] = LAYOUT_ergodox_pretty_wrapper( |
| 273 | * | 242 | _______, _________________FUNC_LEFT_________________, _______, _______, _________________FUNC_RIGHT________________, KC_F11, |
| 274 | * ,--------------------------------------------------. ,--------------------------------------------------. | 243 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, |
| 275 | * | | | | | | | | | | | | | | | | | 244 | _______, _______, _______, _______, _______, _______, _______, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, |
| 276 | * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| | 245 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, |
| 277 | * | | | MsUp | | | | | | | | | | | | | | 246 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, |
| 278 | * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| | 247 | _______, _______, _______, _______, |
| 279 | * | |MsLeft|MsDown|MsRght| | |------| |------| | | Acc0 | Acc1 | Acc2 | | | 248 | _______, _______, |
| 280 | * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| | 249 | _______, _______, _______, _______, _______, _______ |
| 281 | * | | Acc0 | Acc1 | Acc2 | | | | | | | Mute |VolDn |VolUp | | | | 250 | ), |
| 282 | * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' | 251 | |
| 283 | * | | | | | | | Play | Stop | | | | | 252 | [_RAISE] = LAYOUT_ergodox_pretty_wrapper( |
| 284 | * `----------------------------------' `----------------------------------' | 253 | _______, _________________FUNC_LEFT_________________, _______, _______, _________________FUNC_RIGHT________________, _______, |
| 285 | * ,-------------. ,-------------. | 254 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, |
| 286 | * | | | | | | | 255 | _______, _______, _______, _______, _______, _______, _______, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, |
| 287 | * ,------|------|------| |------+------+------. | 256 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_RSFT, |
| 288 | * | | | MWUp | | | | | | 257 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, |
| 289 | * | Lclk | Rclk |------| |------| MBn4 | MBn5 | | 258 | _______, _______, _______, _______, |
| 290 | * | | | MWDn | | Mclk | | | | 259 | _______, _______, |
| 291 | * `--------------------' `--------------------' | 260 | _______, _______, _______, _______, _______, _______ |
| 292 | */ | 261 | ), |
| 293 | [_MOUS] = LAYOUT_ergodox_pretty( | 262 | |
| 294 | KC_NO, KC_SEC1, KC_SEC2, KC_SEC3, KC_SEC4, KC_SEC5, KC_TRNS, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, | 263 | [_ADJUST] = LAYOUT_ergodox_pretty_wrapper( |
| 295 | KC_NO, KC_NO, KC_MS_U, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, | 264 | KC_MAKE, _______, _______, _______, _______, _______, _______, _______, KC_SEC1, KC_SEC2, KC_SEC3, KC_SEC4, KC_SEC5, KC_RST, |
| 296 | KC_NO, KC_MS_L, KC_MS_D, KC_MS_R, KC_NO, KC_NO, KC_NO, KC_ACL0, KC_ACL1, KC_ACL2, KC_NO, KC_NO, | 265 | VRSN, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_TOG, _______, _______, _______, _______, _______, _______, _______, EPRM, |
| 297 | KC_NO, KC_ACL0, KC_ACL1, KC_ACL2, KC_NO, KC_NO, KC_TRNS, KC_TRNS, KC_NO, KC_MUTE, KC_VOLD, KC_VOLU, KC_NO, KC_NO, | 266 | RGB_SMOD,RGB_HUI, CK_TOGG, AU_ON, AU_OFF, AG_NORM, AG_SWAP, KC_QWERTY, KC_COLEMAK, KC_DVORAK, KC_WORKMAN, TG(_MODS), |
| 298 | KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, | 267 | TG(_MODS),RGB_SMOD,RGB_HUD,RGB_SAD, RGB_VAD, KC_RGB_T,_______, _______, MG_NKRO, KC_MUTE, KC_VOLD, KC_VOLU, KC_MNXT, KC_MPLY, |
| 299 | KC_NO, KC_NO, KC_NO, KC_NO, | 268 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, |
| 300 | KC_WH_U, KC_NO, | 269 | _______, _______, _______, _______, |
| 301 | KC_BTN1, KC_BTN2, KC_WH_D, KC_BTN3, KC_BTN4, KC_BTN5 | 270 | _______, _______, |
| 271 | _______, _______, _______, _______, _______, _______ | ||
| 302 | ), | 272 | ), |
| 303 | 273 | ||
| 304 | }; | 274 | }; |
diff --git a/users/drashna/config.h b/users/drashna/config.h index 0a59ad026..ef1860778 100644 --- a/users/drashna/config.h +++ b/users/drashna/config.h | |||
| @@ -4,7 +4,6 @@ | |||
| 4 | 4 | ||
| 5 | #ifdef AUDIO_ENABLE | 5 | #ifdef AUDIO_ENABLE |
| 6 | #define AUDIO_CLICKY | 6 | #define AUDIO_CLICKY |
| 7 | #define AUDIO_CLICKY_ON | ||
| 8 | #define STARTUP_SONG SONG(E1M1_DOOM) | 7 | #define STARTUP_SONG SONG(E1M1_DOOM) |
| 9 | #define GOODBYE_SONG SONG(SONIC_RING) | 8 | #define GOODBYE_SONG SONG(SONIC_RING) |
| 10 | #define DEFAULT_LAYER_SONGS { SONG(QWERTY_SOUND), \ | 9 | #define DEFAULT_LAYER_SONGS { SONG(QWERTY_SOUND), \ |
| @@ -43,6 +42,8 @@ | |||
| 43 | #define IGNORE_MOD_TAP_INTERRUPT | 42 | #define IGNORE_MOD_TAP_INTERRUPT |
| 44 | #undef PERMISSIVE_HOLD | 43 | #undef PERMISSIVE_HOLD |
| 45 | #undef PREVENT_STUCK_MODIFIERS | 44 | #undef PREVENT_STUCK_MODIFIERS |
| 45 | #define TAPPING_FORCE_HOLD | ||
| 46 | //#define RETRO_TAPPING | ||
| 46 | 47 | ||
| 47 | #define FORCE_NKRO | 48 | #define FORCE_NKRO |
| 48 | 49 | ||
| @@ -53,7 +54,7 @@ | |||
| 53 | #ifdef TAPPING_TERM | 54 | #ifdef TAPPING_TERM |
| 54 | #undef TAPPING_TERM | 55 | #undef TAPPING_TERM |
| 55 | #endif // TAPPING_TERM | 56 | #endif // TAPPING_TERM |
| 56 | #define TAPPING_TERM 176 | 57 | #define TAPPING_TERM 200 |
| 57 | 58 | ||
| 58 | 59 | ||
| 59 | // Disable action_get_macro and fn_actions, since we don't use these | 60 | // Disable action_get_macro and fn_actions, since we don't use these |
| @@ -61,7 +62,7 @@ | |||
| 61 | #ifndef NO_DEBUG | 62 | #ifndef NO_DEBUG |
| 62 | #define NO_DEBUG | 63 | #define NO_DEBUG |
| 63 | #endif // !NO_DEBUG | 64 | #endif // !NO_DEBUG |
| 64 | #ifndef NO_PRINT | 65 | #if !defined(NO_PRINT) && !defined(CONSOLE_ENABLE) |
| 65 | #define NO_PRINT | 66 | #define NO_PRINT |
| 66 | #endif // !NO_PRINT | 67 | #endif // !NO_PRINT |
| 67 | #define NO_ACTION_MACRO | 68 | #define NO_ACTION_MACRO |
diff --git a/users/drashna/drashna.c b/users/drashna/drashna.c index 86c16b826..6ce541bfb 100644 --- a/users/drashna/drashna.c +++ b/users/drashna/drashna.c | |||
| @@ -38,10 +38,6 @@ float tone_paste[][2] = SONG(SCROLL_LOCK_OFF_SOUND); | |||
| 38 | 38 | ||
| 39 | 39 | ||
| 40 | static uint16_t copy_paste_timer; | 40 | static uint16_t copy_paste_timer; |
| 41 | #ifdef RGBLIGHT_ENABLE | ||
| 42 | bool rgb_layer_change = true; | ||
| 43 | #endif | ||
| 44 | |||
| 45 | userspace_config_t userspace_config; | 41 | userspace_config_t userspace_config; |
| 46 | 42 | ||
| 47 | // Helper Functions | 43 | // Helper Functions |
| @@ -164,31 +160,42 @@ void led_set_keymap(uint8_t usb_led) {} | |||
| 164 | // call the keymap's init function | 160 | // call the keymap's init function |
| 165 | void matrix_init_user(void) { | 161 | void matrix_init_user(void) { |
| 166 | uint8_t default_layer = eeconfig_read_default_layer(); | 162 | uint8_t default_layer = eeconfig_read_default_layer(); |
| 163 | userspace_config.raw = eeprom_read_byte(EECONFIG_USERSPACE); | ||
| 167 | 164 | ||
| 168 | #ifdef RGBLIGHT_ENABLE | 165 | #ifdef BOOTLOADER_CATERINA |
| 169 | rgblight_enable(); | 166 | DDRD &= ~(1<<5); |
| 170 | #endif // RGBLIGHT_ENABLE | 167 | PORTD &= ~(1<<5); |
| 171 | 168 | ||
| 172 | if (default_layer & (1UL << _COLEMAK)) { | 169 | DDRB &= ~(1<<0); |
| 173 | #ifdef RGBLIGHT_ENABLE | 170 | PORTB &= ~(1<<0); |
| 174 | rgblight_sethsv_magenta(); | 171 | #endif |
| 175 | #endif // RGBLIGHT_ENABLE | 172 | |
| 176 | } else if (default_layer & (1UL << _DVORAK)) { | 173 | if (userspace_config.rgb_layer_change) { |
| 177 | #ifdef RGBLIGHT_ENABLE | ||
| 178 | rgblight_sethsv_green(); | ||
| 179 | #endif // RGBLIGHT_ENABLE | ||
| 180 | } else if (default_layer & (1UL << _WORKMAN)) { | ||
| 181 | #ifdef RGBLIGHT_ENABLE | ||
| 182 | rgblight_sethsv_goldenrod(); | ||
| 183 | #endif // RGBLIGHT_ENABLE | ||
| 184 | } else { | ||
| 185 | #ifdef RGBLIGHT_ENABLE | 174 | #ifdef RGBLIGHT_ENABLE |
| 186 | rgblight_sethsv_teal(); | 175 | rgblight_enable(); |
| 187 | #endif // RGBLIGHT_ENABLE | 176 | #endif // RGBLIGHT_ENABLE |
| 177 | if (default_layer & (1UL << _COLEMAK)) { | ||
| 178 | #ifdef RGBLIGHT_ENABLE | ||
| 179 | rgblight_sethsv_magenta(); | ||
| 180 | #endif // RGBLIGHT_ENABLE | ||
| 181 | } else if (default_layer & (1UL << _DVORAK)) { | ||
| 182 | #ifdef RGBLIGHT_ENABLE | ||
| 183 | rgblight_sethsv_green(); | ||
| 184 | #endif // RGBLIGHT_ENABLE | ||
| 185 | } else if (default_layer & (1UL << _WORKMAN)) { | ||
| 186 | #ifdef RGBLIGHT_ENABLE | ||
| 187 | rgblight_sethsv_goldenrod(); | ||
| 188 | #endif // RGBLIGHT_ENABLE | ||
| 189 | } else { | ||
| 190 | #ifdef RGBLIGHT_ENABLE | ||
| 191 | rgblight_sethsv_teal(); | ||
| 192 | #endif // RGBLIGHT_ENABLE | ||
| 193 | } | ||
| 188 | } | 194 | } |
| 189 | 195 | ||
| 190 | userspace_config.raw = eeprom_read_byte(EECONFIG_USERSPACE); | 196 | #ifdef AUDIO_CLICKY |
| 191 | clicky_enable = userspace_config.clicky_enable; | 197 | clicky_enable = userspace_config.clicky_enable; |
| 198 | #endif | ||
| 192 | 199 | ||
| 193 | #if ( defined(UNICODE_ENABLE) || defined(UNICODEMAP_ENABLE) || defined(UCIS_ENABLE) ) | 200 | #if ( defined(UNICODE_ENABLE) || defined(UNICODEMAP_ENABLE) || defined(UCIS_ENABLE) ) |
| 194 | set_unicode_input_mode(UC_WINC); | 201 | set_unicode_input_mode(UC_WINC); |
| @@ -364,8 +371,9 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { | |||
| 364 | case KC_RGB_T: // This allows me to use underglow as layer indication, or as normal | 371 | case KC_RGB_T: // This allows me to use underglow as layer indication, or as normal |
| 365 | #ifdef RGBLIGHT_ENABLE | 372 | #ifdef RGBLIGHT_ENABLE |
| 366 | if (record->event.pressed) { | 373 | if (record->event.pressed) { |
| 367 | rgb_layer_change = !rgb_layer_change; | 374 | userspace_config.rgb_layer_change ^= 1; |
| 368 | if (rgb_layer_change) { | 375 | eeprom_update_byte(EECONFIG_USERSPACE, userspace_config.raw); |
| 376 | if (userspace_config.rgb_layer_change) { | ||
| 369 | layer_state_set(layer_state); // This is needed to immediately set the layer color (looks better) | 377 | layer_state_set(layer_state); // This is needed to immediately set the layer color (looks better) |
| 370 | } | 378 | } |
| 371 | } | 379 | } |
| @@ -374,7 +382,8 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { | |||
| 374 | #ifdef RGBLIGHT_ENABLE | 382 | #ifdef RGBLIGHT_ENABLE |
| 375 | case RGB_MODE_FORWARD ... RGB_MODE_GRADIENT: // quantum_keycodes.h L400 for definitions | 383 | case RGB_MODE_FORWARD ... RGB_MODE_GRADIENT: // quantum_keycodes.h L400 for definitions |
| 376 | if (record->event.pressed) { //This disables layer indication, as it's assumed that if you're changing this ... you want that disabled | 384 | if (record->event.pressed) { //This disables layer indication, as it's assumed that if you're changing this ... you want that disabled |
| 377 | rgb_layer_change = false; | 385 | userspace_config.rgb_layer_change = false; |
| 386 | eeprom_update_byte(EECONFIG_USERSPACE, userspace_config.raw); | ||
| 378 | } | 387 | } |
| 379 | return true; break; | 388 | return true; break; |
| 380 | #endif // RGBLIGHT_ENABLE | 389 | #endif // RGBLIGHT_ENABLE |
| @@ -403,8 +412,10 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { | |||
| 403 | return false; | 412 | return false; |
| 404 | break; | 413 | break; |
| 405 | case CLICKY_TOGGLE: | 414 | case CLICKY_TOGGLE: |
| 415 | #ifdef AUDIO_CLICKY | ||
| 406 | userspace_config.clicky_enable = clicky_enable; | 416 | userspace_config.clicky_enable = clicky_enable; |
| 407 | eeprom_update_byte(EECONFIG_USERSPACE, userspace_config.raw); | 417 | eeprom_update_byte(EECONFIG_USERSPACE, userspace_config.raw); |
| 418 | #endif | ||
| 408 | break; | 419 | break; |
| 409 | #ifdef UNICODE_ENABLE | 420 | #ifdef UNICODE_ENABLE |
| 410 | case UC_FLIP: // (╯°□°)╯ ︵ ┻━┻ | 421 | case UC_FLIP: // (╯°□°)╯ ︵ ┻━┻ |
| @@ -445,123 +456,104 @@ uint32_t layer_state_set_user(uint32_t state) { | |||
| 445 | state = update_tri_layer_state(state, _RAISE, _LOWER, _ADJUST); | 456 | state = update_tri_layer_state(state, _RAISE, _LOWER, _ADJUST); |
| 446 | 457 | ||
| 447 | switch (biton32(state)) { | 458 | switch (biton32(state)) { |
| 448 | case _NAV: | ||
| 449 | #ifdef RGBLIGHT_ENABLE | ||
| 450 | if (rgb_layer_change) { | ||
| 451 | rgblight_sethsv_blue(); | ||
| 452 | rgblight_mode(1); | ||
| 453 | } | ||
| 454 | #endif // RGBLIGHT_ENABLE | ||
| 455 | break; | ||
| 456 | case _SYMB: | ||
| 457 | #ifdef RGBLIGHT_ENABLE | ||
| 458 | if (rgb_layer_change) { | ||
| 459 | rgblight_sethsv_blue(); | ||
| 460 | rgblight_mode(2); | ||
| 461 | } | ||
| 462 | #endif // RGBLIGHT_ENABLE | ||
| 463 | break; | ||
| 464 | case _MOUS: | ||
| 465 | #ifdef RGBLIGHT_ENABLE | ||
| 466 | if (rgb_layer_change) { | ||
| 467 | rgblight_sethsv_yellow(); | ||
| 468 | rgblight_mode(1); | ||
| 469 | } | ||
| 470 | #endif // RGBLIGHT_ENABLE | ||
| 471 | break; | ||
| 472 | case _MACROS: | 459 | case _MACROS: |
| 473 | #ifdef RGBLIGHT_ENABLE | 460 | #ifdef RGBLIGHT_ENABLE |
| 474 | if (rgb_layer_change) { | 461 | if (userspace_config.rgb_layer_change) { |
| 475 | rgblight_sethsv_orange(); | 462 | rgblight_sethsv_orange(); |
| 476 | userspace_config.is_overwatch ? rgblight_mode(17) : rgblight_mode(18); | 463 | userspace_config.is_overwatch ? rgblight_mode(17) : rgblight_mode(18); |
| 477 | } | 464 | } |
| 478 | #endif // RGBLIGHT_ENABLE | 465 | #endif // RGBLIGHT_ENABLE |
| 466 | |||
| 479 | break; | 467 | break; |
| 480 | case _MEDIA: | 468 | case _MEDIA: |
| 481 | #ifdef RGBLIGHT_ENABLE | 469 | #ifdef RGBLIGHT_ENABLE |
| 482 | if (rgb_layer_change) { | 470 | if (userspace_config.rgb_layer_change) { |
| 483 | rgblight_sethsv_chartreuse(); | 471 | rgblight_sethsv_chartreuse(); |
| 484 | rgblight_mode(22); | 472 | rgblight_mode(22); |
| 485 | } | 473 | } |
| 486 | #endif // RGBLIGHT_ENABLE | 474 | #endif // RGBLIGHT_ENABLE |
| 475 | |||
| 487 | break; | 476 | break; |
| 488 | case _GAMEPAD: | 477 | case _GAMEPAD: |
| 489 | #ifdef RGBLIGHT_ENABLE | 478 | #ifdef RGBLIGHT_ENABLE |
| 490 | if (rgb_layer_change) { | 479 | if (userspace_config.rgb_layer_change) { |
| 491 | rgblight_sethsv_orange(); | 480 | rgblight_sethsv_orange(); |
| 492 | rgblight_mode(17); | 481 | rgblight_mode(17); |
| 493 | } | 482 | } |
| 494 | #endif // RGBLIGHT_ENABLE | 483 | #endif // RGBLIGHT_ENABLE |
| 484 | |||
| 495 | break; | 485 | break; |
| 496 | case _DIABLO: | 486 | case _DIABLO: |
| 497 | #ifdef RGBLIGHT_ENABLE | 487 | #ifdef RGBLIGHT_ENABLE |
| 498 | if (rgb_layer_change) { | 488 | if (userspace_config.rgb_layer_change) { |
| 499 | rgblight_sethsv_red(); | 489 | rgblight_sethsv_red(); |
| 500 | rgblight_mode(5); | 490 | rgblight_mode(5); |
| 501 | } | 491 | } |
| 502 | #endif // RGBLIGHT_ENABLE | 492 | #endif // RGBLIGHT_ENABLE |
| 493 | |||
| 503 | break; | 494 | break; |
| 504 | case _RAISE: | 495 | case _RAISE: |
| 505 | #ifdef RGBLIGHT_ENABLE | 496 | #ifdef RGBLIGHT_ENABLE |
| 506 | if (rgb_layer_change) { | 497 | if (userspace_config.rgb_layer_change) { |
| 507 | rgblight_sethsv_yellow(); | 498 | rgblight_sethsv_yellow(); |
| 508 | rgblight_mode(5); | 499 | rgblight_mode(5); |
| 509 | } | 500 | } |
| 510 | #endif // RGBLIGHT_ENABLE | 501 | #endif // RGBLIGHT_ENABLE |
| 502 | |||
| 511 | break; | 503 | break; |
| 512 | case _LOWER: | 504 | case _LOWER: |
| 513 | #ifdef RGBLIGHT_ENABLE | 505 | #ifdef RGBLIGHT_ENABLE |
| 514 | if (rgb_layer_change) { | 506 | if (userspace_config.rgb_layer_change) { |
| 515 | rgblight_sethsv_orange(); | 507 | rgblight_sethsv_orange(); |
| 516 | rgblight_mode(5); | 508 | rgblight_mode(5); |
| 517 | } | 509 | } |
| 518 | #endif // RGBLIGHT_ENABLE | 510 | #endif // RGBLIGHT_ENABLE |
| 511 | |||
| 519 | break; | 512 | break; |
| 520 | case _ADJUST: | 513 | case _ADJUST: |
| 521 | #ifdef RGBLIGHT_ENABLE | 514 | #ifdef RGBLIGHT_ENABLE |
| 522 | if (rgb_layer_change) { | 515 | if (userspace_config.rgb_layer_change) { |
| 523 | rgblight_sethsv_red(); | 516 | rgblight_sethsv_red(); |
| 524 | rgblight_mode(23); | 517 | rgblight_mode(23); |
| 525 | } | 518 | } |
| 526 | #endif // RGBLIGHT_ENABLE | 519 | #endif // RGBLIGHT_ENABLE |
| 527 | break; | 520 | |
| 528 | case _COVECUBE: | ||
| 529 | #ifdef RGBLIGHT_ENABLE | ||
| 530 | if (rgb_layer_change) { | ||
| 531 | rgblight_sethsv_green(); | ||
| 532 | rgblight_mode(2); | ||
| 533 | } | ||
| 534 | #endif // RGBLIGHT_ENABLE | ||
| 535 | break; | 521 | break; |
| 536 | default: // for any other layers, or the default layer | 522 | default: // for any other layers, or the default layer |
| 537 | if (default_layer & (1UL << _COLEMAK)) { | 523 | if (default_layer & (1UL << _COLEMAK)) { |
| 538 | #ifdef RGBLIGHT_ENABLE | 524 | #ifdef RGBLIGHT_ENABLE |
| 539 | if (rgb_layer_change) { rgblight_sethsv_magenta(); } | 525 | if (userspace_config.rgb_layer_change) { rgblight_sethsv_magenta(); } |
| 540 | #endif // RGBLIGHT_ENABLE | 526 | #endif // RGBLIGHT_ENABLE |
| 527 | |||
| 541 | } | 528 | } |
| 542 | else if (default_layer & (1UL << _DVORAK)) { | 529 | else if (default_layer & (1UL << _DVORAK)) { |
| 543 | #ifdef RGBLIGHT_ENABLE | 530 | #ifdef RGBLIGHT_ENABLE |
| 544 | if (rgb_layer_change) { rgblight_sethsv_green(); } | 531 | if (userspace_config.rgb_layer_change) { rgblight_sethsv_green(); } |
| 545 | #endif // RGBLIGHT_ENABLE | 532 | #endif // RGBLIGHT_ENABLE |
| 533 | |||
| 546 | } | 534 | } |
| 547 | else if (default_layer & (1UL << _WORKMAN)) { | 535 | else if (default_layer & (1UL << _WORKMAN)) { |
| 548 | #ifdef RGBLIGHT_ENABLE | 536 | #ifdef RGBLIGHT_ENABLE |
| 549 | if (rgb_layer_change) { rgblight_sethsv_goldenrod(); } | 537 | if (userspace_config.rgb_layer_change) { rgblight_sethsv_goldenrod(); } |
| 550 | #endif // RGBLIGHT_ENABLE | 538 | #endif // RGBLIGHT_ENABLE |
| 539 | |||
| 551 | } | 540 | } |
| 552 | else { | 541 | else { |
| 553 | #ifdef RGBLIGHT_ENABLE | 542 | #ifdef RGBLIGHT_ENABLE |
| 554 | if (rgb_layer_change) { rgblight_sethsv_teal(); } | 543 | if (userspace_config.rgb_layer_change) { rgblight_sethsv_teal(); } |
| 555 | #endif // RGBLIGHT_ENABLE | 544 | #endif // RGBLIGHT_ENABLE |
| 545 | |||
| 556 | } | 546 | } |
| 557 | if (biton32(state) == _MODS) { // If the non-OSM layer is enabled, then breathe | 547 | if (biton32(state) == _MODS) { // If the non-OSM layer is enabled, then breathe |
| 558 | #ifdef RGBLIGHT_ENABLE | 548 | #ifdef RGBLIGHT_ENABLE |
| 559 | if (rgb_layer_change) { rgblight_mode(2); } | 549 | if (userspace_config.rgb_layer_change) { rgblight_mode(2); } |
| 560 | #endif // RGBLIGHT_ENABLE | 550 | #endif // RGBLIGHT_ENABLE |
| 551 | |||
| 561 | } else { // otherwise, stay solid | 552 | } else { // otherwise, stay solid |
| 562 | #ifdef RGBLIGHT_ENABLE | 553 | #ifdef RGBLIGHT_ENABLE |
| 563 | if (rgb_layer_change) { rgblight_mode(1); } | 554 | if (userspace_config.rgb_layer_change) { rgblight_mode(1); } |
| 564 | #endif // RGBLIGHT_ENABLE | 555 | #endif // RGBLIGHT_ENABLE |
| 556 | |||
| 565 | } | 557 | } |
| 566 | break; | 558 | break; |
| 567 | } | 559 | } |
diff --git a/users/drashna/drashna.h b/users/drashna/drashna.h index 5ef25333b..87a72f528 100644 --- a/users/drashna/drashna.h +++ b/users/drashna/drashna.h | |||
| @@ -27,12 +27,8 @@ enum userspace_layers { | |||
| 27 | _DVORAK, | 27 | _DVORAK, |
| 28 | _WORKMAN, | 28 | _WORKMAN, |
| 29 | _MODS, | 29 | _MODS, |
| 30 | _NAV, | ||
| 31 | _COVECUBE, | ||
| 32 | _SYMB, | ||
| 33 | _GAMEPAD, | 30 | _GAMEPAD, |
| 34 | _DIABLO, | 31 | _DIABLO, |
| 35 | _MOUS, | ||
| 36 | _MACROS, | 32 | _MACROS, |
| 37 | _MEDIA, | 33 | _MEDIA, |
| 38 | _LOWER, | 34 | _LOWER, |
| @@ -49,7 +45,6 @@ enum userspace_layers { | |||
| 49 | // RGB color codes are no longer located here anymore. Instead, you will want to | 45 | // RGB color codes are no longer located here anymore. Instead, you will want to |
| 50 | // head to https://github.com/qmk/qmk_firmware/blob/master/quantum/rgblight_list.h | 46 | // head to https://github.com/qmk/qmk_firmware/blob/master/quantum/rgblight_list.h |
| 51 | 47 | ||
| 52 | extern bool rgb_layer_change; | ||
| 53 | extern bool clicky_enable; | 48 | extern bool clicky_enable; |
| 54 | 49 | ||
| 55 | #ifdef RGBLIGHT_ENABLE | 50 | #ifdef RGBLIGHT_ENABLE |
| @@ -59,10 +54,11 @@ void rgblight_sethsv_default_helper(uint8_t index); | |||
| 59 | #define EECONFIG_USERSPACE (uint8_t *)20 | 54 | #define EECONFIG_USERSPACE (uint8_t *)20 |
| 60 | 55 | ||
| 61 | typedef union { | 56 | typedef union { |
| 62 | uint32_t raw; | 57 | uint8_t raw; |
| 63 | struct { | 58 | struct { |
| 64 | bool clicky_enable :1; | 59 | bool clicky_enable :1; |
| 65 | bool is_overwatch :1; | 60 | bool rgb_layer_change :1; |
| 61 | bool is_overwatch :1; | ||
| 66 | }; | 62 | }; |
| 67 | } userspace_config_t; | 63 | } userspace_config_t; |
| 68 | 64 | ||
| @@ -166,10 +162,10 @@ enum { | |||
| 166 | #define LAYOUT KEYMAP | 162 | #define LAYOUT KEYMAP |
| 167 | #endif | 163 | #endif |
| 168 | 164 | ||
| 169 | #define LAYOUT_ergodox_wrapper(...) LAYOUT_ergodox(__VA_ARGS__) | 165 | #define LAYOUT_ergodox_wrapper(...) LAYOUT_ergodox(__VA_ARGS__) |
| 170 | #define LAYOUT_ergodox_pretty_wrapper(...) LAYOUT_ergodox_pretty(__VA_ARGS__) | 166 | #define LAYOUT_ergodox_pretty_wrapper(...) LAYOUT_ergodox_pretty(__VA_ARGS__) |
| 171 | #define KEYMAP_wrapper(...) LAYOUT(__VA_ARGS__) | 167 | #define KEYMAP_wrapper(...) LAYOUT(__VA_ARGS__) |
| 172 | #define LAYOUT_wrapper(...) LAYOUT(__VA_ARGS__) | 168 | #define LAYOUT_wrapper(...) LAYOUT(__VA_ARGS__) |
| 173 | 169 | ||
| 174 | 170 | ||
| 175 | // Blocks for each of the four major keyboard layouts | 171 | // Blocks for each of the four major keyboard layouts |
| @@ -236,6 +232,8 @@ enum { | |||
| 236 | 232 | ||
| 237 | #define ________________NUMBER_LEFT________________ KC_1, KC_2, KC_3, KC_4, KC_5 | 233 | #define ________________NUMBER_LEFT________________ KC_1, KC_2, KC_3, KC_4, KC_5 |
| 238 | #define ________________NUMBER_RIGHT_______________ KC_6, KC_7, KC_8, KC_9, KC_0 | 234 | #define ________________NUMBER_RIGHT_______________ KC_6, KC_7, KC_8, KC_9, KC_0 |
| 235 | #define _________________FUNC_LEFT_________________ KC_F1, KC_F2, KC_F3, KC_F4, KC_F5 | ||
| 236 | #define _________________FUNC_RIGHT________________ KC_F6, KC_F7, KC_F8, KC_F9, KC_F10 | ||
| 239 | 237 | ||
| 240 | // Since we have 4 default layouts (QWERTY, DVORAK, COLEMAK and WORKMAN), | 238 | // Since we have 4 default layouts (QWERTY, DVORAK, COLEMAK and WORKMAN), |
| 241 | // this allows us to quickly modify the bottom row for all of the layouts | 239 | // this allows us to quickly modify the bottom row for all of the layouts |
| @@ -245,9 +243,9 @@ enum { | |||
| 245 | #define ___________ERGODOX_BOTTOM_RIGHT____________ KC_LEFT, KC_DOWN, KC_UP, KC_RGHT | 243 | #define ___________ERGODOX_BOTTOM_RIGHT____________ KC_LEFT, KC_DOWN, KC_UP, KC_RGHT |
| 246 | 244 | ||
| 247 | 245 | ||
| 248 | #define __________________ERGODOX_THUMB_CLUSTER_____________________ ALT_T(KC_APP), KC_LGUI, KC_RGUI, CTL_T(KC_ESCAPE), \ | 246 | #define __________________ERGODOX_THUMB_CLUSTER_____________________ ALT_T(KC_APP), KC_LGUI, KC_RGUI, CTL_T(KC_ESCAPE), \ |
| 249 | KC_HOME, KC_PGUP, \ | 247 | KC_HOME, KC_PGUP, \ |
| 250 | KC_SPACE,KC_BSPC, KC_END, KC_PGDN, KC_DEL, KC_ENTER | 248 | LT(_LOWER, KC_SPACE),KC_BSPC, KC_END, KC_PGDN, KC_DEL, LT(_RAISE, KC_ENTER) |
| 251 | 249 | ||
| 252 | 250 | ||
| 253 | #endif // !USERSPACE | 251 | #endif // !USERSPACE |
diff --git a/users/drashna/readme.md b/users/drashna/readme.md index 79758e7e5..ddf24b24f 100644 --- a/users/drashna/readme.md +++ b/users/drashna/readme.md | |||
| @@ -162,7 +162,7 @@ This tells us where in the EEPROM that the data structure is located, and this s | |||
| 162 | 162 | ||
| 163 | ```c | 163 | ```c |
| 164 | typedef union { | 164 | typedef union { |
| 165 | uint32_t raw; | 165 | uint8_t raw; |
| 166 | struct { | 166 | struct { |
| 167 | bool clicky_enable :1; | 167 | bool clicky_enable :1; |
| 168 | bool is_overwatch :1; | 168 | bool is_overwatch :1; |
| @@ -174,3 +174,23 @@ Then, in your C file, you want to add: `userspace_config_t userspace_config;`, a | |||
| 174 | From there, you'd want to use the data structure (such as `userspace_config.is_overwatch`) when you want to check this value. | 174 | From there, you'd want to use the data structure (such as `userspace_config.is_overwatch`) when you want to check this value. |
| 175 | 175 | ||
| 176 | And if you want to update it, update directly and then use `eeprom_update_byte(EECONFIG_USERSPACE, userspace_config.raw);` to write the value back to the EEPROM. | 176 | And if you want to update it, update directly and then use `eeprom_update_byte(EECONFIG_USERSPACE, userspace_config.raw);` to write the value back to the EEPROM. |
| 177 | |||
| 178 | |||
| 179 | Pro Micro Hacking | ||
| 180 | ----------------- | ||
| 181 | |||
| 182 | Well, you can get the QMK DFU bootloader working on the ProMicro. But you need to change fuses. | ||
| 183 | |||
| 184 | What worked to get into the firmware properly was: | ||
| 185 | |||
| 186 | ``` | ||
| 187 | Low: 0x5E High: 0x99 Extended: 0xF3 Lock: 0xFF | ||
| 188 | ``` | ||
| 189 | |||
| 190 | But some of the columns and rows didn't work, like the pin mapping was wrong. Even when setting the bootloader settings. | ||
| 191 | |||
| 192 | This is here for future reference. And the default fuse settings I believe were: | ||
| 193 | |||
| 194 | ``` | ||
| 195 | Low: 0xFF High: 0xD8 Extended: 0xC3 Lock: 0x3F | ||
| 196 | ``` | ||
diff --git a/users/drashna/rules.mk b/users/drashna/rules.mk index 123c0cc70..e2c5a2995 100644 --- a/users/drashna/rules.mk +++ b/users/drashna/rules.mk | |||
| @@ -5,3 +5,7 @@ EXTRAFLAGS += -flto | |||
| 5 | ifeq ($(strip $(NO_SECRETS)), yes) | 5 | ifeq ($(strip $(NO_SECRETS)), yes) |
| 6 | OPT_DEFS += -DNO_SECRETS | 6 | OPT_DEFS += -DNO_SECRETS |
| 7 | endif | 7 | endif |
| 8 | |||
| 9 | ifeq ($(strip $(INDICATOR_LIGHTS)), yes) | ||
| 10 | OPT_DEFS += -DINDICATOR_LIGHTS | ||
| 11 | endif | ||
