diff options
Diffstat (limited to 'users/dshields/dshields.c')
| -rw-r--r-- | users/dshields/dshields.c | 43 |
1 files changed, 22 insertions, 21 deletions
diff --git a/users/dshields/dshields.c b/users/dshields/dshields.c index 6aff5c671..bc88cae56 100644 --- a/users/dshields/dshields.c +++ b/users/dshields/dshields.c | |||
| @@ -1,30 +1,31 @@ | |||
| 1 | extern keymap_config_t keymap_config; | 1 | #include "quantum.h" |
| 2 | #include "dshields.h" | ||
| 2 | 3 | ||
| 3 | /* uncomment to reset | 4 | extern bool process_record_dynamic_macro(uint16_t keycode, keyrecord_t *record); |
| 4 | void matrix_init_user(void) { | ||
| 5 | eeconfig_init(); | ||
| 6 | }; | ||
| 7 | */ | ||
| 8 | 5 | ||
| 9 | bool process_record_user(uint16_t keycode, keyrecord_t *record) { | 6 | bool process_record_user(uint16_t keycode, keyrecord_t *record) { |
| 10 | if (!process_record_dynamic_macro(keycode, record)) { | 7 | if (!process_record_dynamic_macro(keycode, record)) { |
| 11 | return false; | 8 | return false; |
| 12 | } | 9 | } |
| 13 | return true; | 10 | if (keycode == KC_ESC && record->event.pressed) { |
| 14 | } | 11 | bool rc = true; |
| 15 | 12 | uint8_t mods = 0; | |
| 16 | // work in progress | 13 | if ((mods = get_oneshot_mods()) && !has_oneshot_mods_timed_out()) { |
| 17 | uint32_t layer_state_set_user(uint32_t state) { | 14 | clear_oneshot_mods(); |
| 18 | switch (biton32(state)) { | 15 | unregister_mods(mods); |
| 19 | case DEF: | 16 | rc = false; |
| 20 | set_all_leds_to(0,0,0); | 17 | } |
| 21 | break; | 18 | if ((mods = get_oneshot_locked_mods())) { |
| 22 | case FUN: | 19 | clear_oneshot_locked_mods(); |
| 23 | // TODO light the fn keys | 20 | unregister_mods(mods); |
| 24 | // set_led_to(?, 0, 128, 0); | 21 | rc = false; |
| 25 | // set_led_to(?, 0, 128, 0); | 22 | } |
| 26 | break; | 23 | if (is_oneshot_layer_active()) { |
| 24 | layer_clear(); | ||
| 25 | rc = false; | ||
| 26 | } | ||
| 27 | return rc; | ||
| 27 | } | 28 | } |
| 28 | return state; | 29 | return true; |
| 29 | } | 30 | } |
| 30 | 31 | ||
