diff options
Diffstat (limited to 'keyboards/iris/keymaps/drashna/keymap.c')
| -rw-r--r-- | keyboards/iris/keymaps/drashna/keymap.c | 108 |
1 files changed, 17 insertions, 91 deletions
diff --git a/keyboards/iris/keymaps/drashna/keymap.c b/keyboards/iris/keymaps/drashna/keymap.c index b24e5fe53..bc3cd38ad 100644 --- a/keyboards/iris/keymaps/drashna/keymap.c +++ b/keyboards/iris/keymaps/drashna/keymap.c | |||
| @@ -2,15 +2,6 @@ | |||
| 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; | ||
| 7 | |||
| 8 | uint8_t last_mod; | ||
| 9 | uint8_t last_led; | ||
| 10 | uint8_t last_osm; | ||
| 11 | bool has_mods_changed = false; | ||
| 12 | #endif | ||
| 13 | |||
| 14 | #define KC_ALAP ALT_T(KC_APP) | 5 | #define KC_ALAP ALT_T(KC_APP) |
| 15 | #define KC_OSLG OSM(MOD_LGUI) | 6 | #define KC_OSLG OSM(MOD_LGUI) |
| 16 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | 7 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { |
| @@ -55,7 +46,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
| 55 | 46 | ||
| 56 | [_LOWER] = LAYOUT_wrapper( | 47 | [_LOWER] = LAYOUT_wrapper( |
| 57 | _______, _________________FUNC_LEFT_________________, _________________FUNC_RIGHT________________, _______, | 48 | _______, _________________FUNC_LEFT_________________, _________________FUNC_RIGHT________________, _______, |
| 58 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | 49 | KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______, |
| 59 | _______, _______, _______, _______, _______, _______, _______, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, | 50 | _______, _______, _______, _______, _______, _______, _______, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, |
| 60 | _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, | 51 | _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, |
| 61 | _______, _______, _______, _______, _______, _______ | 52 | _______, _______, _______, _______, _______, _______ |
| @@ -63,7 +54,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
| 63 | 54 | ||
| 64 | [_RAISE] = LAYOUT_wrapper( | 55 | [_RAISE] = LAYOUT_wrapper( |
| 65 | _______, _________________FUNC_LEFT_________________, _________________FUNC_RIGHT________________, _______, | 56 | _______, _________________FUNC_LEFT_________________, _________________FUNC_RIGHT________________, _______, |
| 66 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | 57 | KC_GRV, ________________NUMBER_LEFT________________, ________________NUMBER_RIGHT_______________, _______, |
| 67 | _______, _______, _______, _______, _______, _______, _______, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, | 58 | _______, _______, _______, _______, _______, _______, _______, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, |
| 68 | _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END, _______, | 59 | _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END, _______, |
| 69 | _______, _______, _______, _______, _______, _______ | 60 | _______, _______, _______, _______, _______, _______ |
| @@ -71,93 +62,28 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
| 71 | 62 | ||
| 72 | [_ADJUST] = LAYOUT_wrapper( | 63 | [_ADJUST] = LAYOUT_wrapper( |
| 73 | KC_MAKE, _______, _______, _______, _______, _______, KC_SEC1, KC_SEC2, KC_SEC3, KC_SEC4, KC_SEC5, KC_RST, | 64 | KC_MAKE, _______, _______, _______, _______, _______, KC_SEC1, KC_SEC2, KC_SEC3, KC_SEC4, KC_SEC5, KC_RST, |
| 74 | VRSN, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_TOG, _______, _______, _______, _______, _______, EPRM, | 65 | VRSN, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_TOG, KC_NUKE, _______, _______, _______, _______, EPRM, |
| 75 | _______, _______, CK_TOGG, AU_ON, AU_OFF, AG_NORM, AG_SWAP, KC_QWERTY, KC_COLEMAK, KC_DVORAK, KC_WORKMAN, _______, | 66 | _______, _______, CK_TOGG, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, WORKMAN, TG(_MODS), |
| 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, | 67 | _______, RGB_SMOD,RGB_HUD, RGB_SAD, RGB_VAD, KC_RGB_T,_______, _______, MG_NKRO, KC_MUTE, KC_VOLD, KC_VOLU, KC_MNXT, KC_MPLY, |
| 77 | _______, _______, _______, _______, _______, _______ | 68 | _______, _______, _______, _______, _______, _______ |
| 78 | ) | 69 | ) |
| 79 | 70 | ||
| 80 | }; | 71 | }; |
| 81 | 72 | ||
| 82 | 73 | ||
| 83 | void matrix_init_keymap(void) { | 74 | bool indicator_is_this_led_used(uint8_t index) { |
| 75 | switch (index) { | ||
| 84 | #ifdef INDICATOR_LIGHTS | 76 | #ifdef INDICATOR_LIGHTS |
| 85 | last_mod = get_mods(); | 77 | case SHFT_LED1: |
| 86 | last_led = host_keyboard_leds(); | 78 | case SHFT_LED2: |
| 87 | last_osm =get_oneshot_mods(); | 79 | case CTRL_LED1: |
| 80 | case CTRL_LED2: | ||
| 81 | case GUI_LED1: | ||
| 82 | case GUI_LED2: | ||
| 83 | return true; | ||
| 84 | break; | ||
| 88 | #endif | 85 | #endif |
| 89 | } | 86 | default: |
| 90 | 87 | return false; | |
| 91 | uint32_t layer_state_set_keymap (uint32_t state) { | ||
| 92 | #ifdef INDICATOR_LIGHTS | ||
| 93 | uint8_t modifiders = get_mods(); | ||
| 94 | uint8_t led_usb_state = host_keyboard_leds(); | ||
| 95 | uint8_t one_shot = get_oneshot_mods(); | ||
| 96 | |||
| 97 | |||
| 98 | if (modifiders & MODS_SHIFT_MASK || led_usb_state & (1<<USB_LED_CAPS_LOCK) || one_shot & MODS_SHIFT_MASK) { | ||
| 99 | rgblight_sethsv_at(0, 255, 255, 5); | ||
| 100 | rgblight_sethsv_at(0, 255, 255, 10); | ||
| 101 | } | ||
| 102 | if (modifiders & MODS_CTRL_MASK || one_shot & MODS_CTRL_MASK) { | ||
| 103 | rgblight_sethsv_at(51, 255, 255, 6); | ||
| 104 | rgblight_sethsv_at(51, 255, 255, 9); | ||
| 105 | } | ||
| 106 | if (modifiders & MODS_ALT_MASK || one_shot & MODS_ALT_MASK) { | ||
| 107 | rgblight_sethsv_at(120, 255, 255, 7); | ||
| 108 | rgblight_sethsv_at(120, 255, 255, 8); | ||
| 109 | } | 88 | } |
| 110 | #endif | ||
| 111 | |||
| 112 | return state; | ||
| 113 | } | ||
| 114 | |||
| 115 | |||
| 116 | void matrix_scan_keymap (void) { | ||
| 117 | |||
| 118 | #ifdef INDICATOR_LIGHTS | ||
| 119 | uint8_t current_mod = get_mods(); | ||
| 120 | uint8_t current_led = host_keyboard_leds(); | ||
| 121 | uint8_t current_osm =get_oneshot_mods(); | ||
| 122 | |||
| 123 | if (last_mod == current_mod) { | ||
| 124 | last_mod = current_mod; | ||
| 125 | has_mods_changed = true; | ||
| 126 | } | ||
| 127 | if (last_led == current_led) { | ||
| 128 | last_led = current_led; | ||
| 129 | has_mods_changed = true; | ||
| 130 | } | ||
| 131 | if (last_osm == current_osm) { | ||
| 132 | last_osm = current_osm; | ||
| 133 | has_mods_changed = true; | ||
| 134 | } | ||
| 135 | |||
| 136 | |||
| 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) { | ||
| 139 | rgblight_sethsv_at(0, 255, 255, 5); | ||
| 140 | rgblight_sethsv_at(0, 255, 255, 10); | ||
| 141 | } else { | ||
| 142 | rgblight_sethsv_default_helper(5); | ||
| 143 | rgblight_sethsv_default_helper(10); | ||
| 144 | } | ||
| 145 | if (current_mod & MODS_CTRL_MASK || current_osm & MODS_CTRL_MASK) { | ||
| 146 | rgblight_sethsv_at(51, 255, 255, 6); | ||
| 147 | rgblight_sethsv_at(51, 255, 255, 9); | ||
| 148 | } else { | ||
| 149 | rgblight_sethsv_default_helper(6); | ||
| 150 | rgblight_sethsv_default_helper(9); | ||
| 151 | } | ||
| 152 | if (current_mod & MODS_GUI_MASK || current_osm & MODS_GUI_MASK) { | ||
| 153 | rgblight_sethsv_at(120, 255, 255, 7); | ||
| 154 | rgblight_sethsv_at(120, 255, 255, 8); | ||
| 155 | } else { | ||
| 156 | rgblight_sethsv_default_helper(7); | ||
| 157 | rgblight_sethsv_default_helper(8); | ||
| 158 | |||
| 159 | } | ||
| 160 | } | ||
| 161 | #endif | ||
| 162 | |||
| 163 | } | 89 | } |
