diff options
author | Drashna Jaelre <drashna@live.com> | 2018-05-02 08:39:46 -0700 |
---|---|---|
committer | Jack Humbert <jack.humb@gmail.com> | 2018-05-02 11:39:46 -0400 |
commit | e5540dd055b16eaebb28e25e0cb9b314e397e854 (patch) | |
tree | 798a05c6335c11ad55231337883003ea248b4df9 /keyboards/orthodox/keymaps/drashna/keymap.c | |
parent | 9b8fc6f1c0129ee119965a2a4d025b0f5c9c613b (diff) |
Update to drashna keymaps and userspace (#2876)
* Fix Unicode sample
* Add irony mark
* Remove unpretty keymaps
* Add QMK DFU and Conditional Music Mode
* Unicode fixes
* Unicode fixes
* Make layer indication more modular
* Finish removing Faux Click
* Cleanup of UserSpace and addition of 'update_tri_layer_state' function
* Add modifier status indicators to Orthodox
* Remove tri layer function
* Minor tweaks
* Remove the Orthodox's Indicator's reliance on layer_state_set
* Add custom EEPROM settings
* Make EEPROM config more efficient
* Viterbi Config
* Add Iris Keyboard layout and Userspace cleanup
* Iris keyboard tweaks
* Use Grave Escape on Iris
* Update Readmes
Diffstat (limited to 'keyboards/orthodox/keymaps/drashna/keymap.c')
-rw-r--r-- | keyboards/orthodox/keymaps/drashna/keymap.c | 71 |
1 files changed, 67 insertions, 4 deletions
diff --git a/keyboards/orthodox/keymaps/drashna/keymap.c b/keyboards/orthodox/keymaps/drashna/keymap.c index ed5f32b987..fd10faa5ee 100644 --- a/keyboards/orthodox/keymaps/drashna/keymap.c +++ b/keyboards/orthodox/keymaps/drashna/keymap.c @@ -32,7 +32,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #define _______ KC_TRNS #define XXXXXXX KC_NO -#define MG_NKRO MAGIC_TOGGLE_NKRO const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { @@ -67,21 +66,85 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_LOWER] = LAYOUT(\ KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, 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, - KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, _______, _______, KC_COMM, KC_DOT, _______, _______ + KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, _______, _______, KC_COMM, KC_DOT, _______, _______ ), [_RAISE] = LAYOUT(\ - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, + KC_GRV, ________________NUMBER_LEFT________________, ________________NUMBER_RIGHT_______________, KC_BSPC, _______, _______, _______, _______, _______, _______, KC_PGUP, KC_PGDN, KC_HOME, KC_END, _______, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_COMM, KC_DOT, _______, _______ ), [_ADJUST] = LAYOUT(\ KC_MAKE,KC_RESET, EPRM, _______, _______, _______, _______, _______, _______, _______, _______, _______, - RGB_SMOD,RGB_HUI, CK_TOGG, AUD_ON, AUD_OFF, AG_NORM, _______, _______, _______, _______, AG_SWAP, KC_QWERTY, KC_COLEMAK, KC_DVORAK, KC_WORKMAN, TG(_MODS), + RGB_SMOD,RGB_HUI, CK_TOGG, AU_ON, AU_OFF, AG_NORM, _______, _______, _______, _______, AG_SWAP, KC_QWERTY, KC_COLEMAK, KC_DVORAK, KC_WORKMAN, TG(_MODS), 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 ) }; +#ifdef RGBLIGHT_ENABLE +uint32_t layer_state_set_keymap (uint32_t state) { + uint8_t modifiders = get_mods(); + uint8_t led_usb_state = host_keyboard_leds(); + uint8_t one_shot = get_oneshot_mods(); + + + if (modifiders & MODS_SHIFT_MASK || led_usb_state & (1<<USB_LED_CAPS_LOCK) || one_shot & MODS_SHIFT_MASK) { + rgblight_sethsv_at(0, 255, 255, 5); + rgblight_sethsv_at(0, 255, 255, 10); + } + if (modifiders & MODS_CTRL_MASK || one_shot & MODS_CTRL_MASK) { + rgblight_sethsv_at(51, 255, 255, 6); + rgblight_sethsv_at(51, 255, 255, 9); + } + if (modifiders & MODS_ALT_MASK || one_shot & MODS_ALT_MASK) { + rgblight_sethsv_at(120, 255, 255, 7); + rgblight_sethsv_at(120, 255, 255, 8); + } + + return state; +} + + +void matrix_scan_keymap (void) { + static uint8_t current_mods; + static uint8_t current_host_leds; + static uint8_t current_oneshot_mods; + static bool has_status_changed = true; + + if ( current_mods != get_mods() || current_host_leds != host_keyboard_leds() || current_oneshot_mods != get_oneshot_mods()) { + has_status_changed = true; + current_mods = get_mods(); + current_host_leds = host_keyboard_leds(); + current_oneshot_mods = get_oneshot_mods(); + } + if (has_status_changed) { + has_status_changed = false; + + if (current_mods & MODS_SHIFT_MASK || current_host_leds & (1<<USB_LED_CAPS_LOCK) || current_oneshot_mods & MODS_SHIFT_MASK) { + rgblight_sethsv_at(0, 255, 255, 5); + rgblight_sethsv_at(0, 255, 255, 10); + } else { + rgblight_sethsv_default_helper(5); + rgblight_sethsv_default_helper(10); + } + if (current_mods & MODS_CTRL_MASK || current_oneshot_mods & MODS_CTRL_MASK) { + rgblight_sethsv_at(51, 255, 255, 6); + rgblight_sethsv_at(51, 255, 255, 9); + } else { + rgblight_sethsv_default_helper(6); + rgblight_sethsv_default_helper(9); + } + if (current_mods & MODS_GUI_MASK || current_oneshot_mods & MODS_GUI_MASK) { + rgblight_sethsv_at(120, 255, 255, 7); + rgblight_sethsv_at(120, 255, 255, 8); + } else { + rgblight_sethsv_default_helper(7); + rgblight_sethsv_default_helper(8); + + } + } +} +#endif |