1
0
Fork 0

[Keymap] Various enhancements for dshields user space and keymaps. (#6816)

- Add oneshot mod/layer unlocking
- Fix Planck rev 3 backlight breathing
- Fix Planck rev 6 build with arm gcc 9.2.0
- General code clean up
This commit is contained in:
Daniel Shields 2019-09-25 17:21:07 +01:00 committed by noroadsleft
parent 0f9e2659c9
commit 00abe5d8ed
6 changed files with 54 additions and 47 deletions

View file

@ -1,30 +1,31 @@
extern keymap_config_t keymap_config;
#include "quantum.h"
#include "dshields.h"
/* uncomment to reset
void matrix_init_user(void) {
eeconfig_init();
};
*/
extern bool process_record_dynamic_macro(uint16_t keycode, keyrecord_t *record);
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
if (!process_record_dynamic_macro(keycode, record)) {
return false;
}
if (keycode == KC_ESC && record->event.pressed) {
bool rc = true;
uint8_t mods = 0;
if ((mods = get_oneshot_mods()) && !has_oneshot_mods_timed_out()) {
clear_oneshot_mods();
unregister_mods(mods);
rc = false;
}
if ((mods = get_oneshot_locked_mods())) {
clear_oneshot_locked_mods();
unregister_mods(mods);
rc = false;
}
if (is_oneshot_layer_active()) {
layer_clear();
rc = false;
}
return rc;
}
return true;
}
// work in progress
uint32_t layer_state_set_user(uint32_t state) {
switch (biton32(state)) {
case DEF:
set_all_leds_to(0,0,0);
break;
case FUN:
// TODO light the fn keys
// set_led_to(?, 0, 128, 0);
// set_led_to(?, 0, 128, 0);
break;
}
return state;
}