forked from mirrors/qmk_userspace
Add keymap clear/reset action
This commit is contained in:
parent
e0f960a576
commit
c3d57b69e0
3 changed files with 44 additions and 17 deletions
|
@ -355,26 +355,50 @@ static void process_action(keyrecord_t *record)
|
|||
|
||||
case ACT_KEYMAP:
|
||||
switch (action.layer.code) {
|
||||
/* Keymap Reset */
|
||||
/* Keymap clear */
|
||||
case OP_RESET:
|
||||
default_layer_set(action.layer.val);
|
||||
switch (action.layer.val & 0x03) {
|
||||
case 0:
|
||||
overlay_clear();
|
||||
keymap_clear();
|
||||
break;
|
||||
case ON_PRESS:
|
||||
if (event.pressed) {
|
||||
overlay_clear();
|
||||
keymap_clear();
|
||||
}
|
||||
break;
|
||||
case ON_RELEASE:
|
||||
if (!event.pressed) {
|
||||
overlay_clear();
|
||||
keymap_clear();
|
||||
}
|
||||
break;
|
||||
case ON_BOTH:
|
||||
overlay_clear();
|
||||
keymap_clear();
|
||||
break;
|
||||
}
|
||||
break;
|
||||
/* Keymap Reset default layer */
|
||||
case (OP_RESET | ON_PRESS):
|
||||
if (event.pressed) {
|
||||
default_layer_set(action.layer.val);
|
||||
overlay_clear();
|
||||
keymap_clear();
|
||||
default_layer_set(action.layer.val);
|
||||
}
|
||||
break;
|
||||
case (OP_RESET | ON_RELEASE):
|
||||
if (!event.pressed) {
|
||||
default_layer_set(action.layer.val);
|
||||
overlay_clear();
|
||||
keymap_clear();
|
||||
default_layer_set(action.layer.val);
|
||||
}
|
||||
break;
|
||||
case (OP_RESET | ON_BOTH):
|
||||
default_layer_set(action.layer.val);
|
||||
overlay_clear();
|
||||
keymap_clear();
|
||||
default_layer_set(action.layer.val);
|
||||
break;
|
||||
|
||||
/* Keymap Bit invert */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue