aboutsummaryrefslogtreecommitdiff
path: root/keyboards/iris/keymaps/drashna/keymap.c
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/iris/keymaps/drashna/keymap.c')
-rw-r--r--keyboards/iris/keymaps/drashna/keymap.c108
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
6extern userspace_config_t userspace_config;
7
8uint8_t last_mod;
9uint8_t last_led;
10uint8_t last_osm;
11bool 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)
16const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 7const 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
83void matrix_init_keymap(void) { 74bool 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;
91uint32_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
116void 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}