Fix ACT_MODS action and switch_default_layer command
This commit is contained in:
parent
a967301331
commit
70db9e1dc7
@ -72,22 +72,17 @@ void process_action(keyrecord_t *record)
|
|||||||
uint8_t mods = (action.kind.id == ACT_LMODS) ? action.key.mods :
|
uint8_t mods = (action.kind.id == ACT_LMODS) ? action.key.mods :
|
||||||
action.key.mods<<4;
|
action.key.mods<<4;
|
||||||
if (event.pressed) {
|
if (event.pressed) {
|
||||||
uint8_t tmp_mods = host_get_mods();
|
|
||||||
if (mods) {
|
if (mods) {
|
||||||
host_add_mods(mods);
|
host_add_mods(mods);
|
||||||
host_send_keyboard_report();
|
host_send_keyboard_report();
|
||||||
}
|
}
|
||||||
register_code(action.key.code);
|
register_code(action.key.code);
|
||||||
if (mods && action.key.code) {
|
|
||||||
host_set_mods(tmp_mods);
|
|
||||||
host_send_keyboard_report();
|
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
if (mods && !action.key.code) {
|
unregister_code(action.key.code);
|
||||||
|
if (mods) {
|
||||||
host_del_mods(mods);
|
host_del_mods(mods);
|
||||||
host_send_keyboard_report();
|
host_send_keyboard_report();
|
||||||
}
|
}
|
||||||
unregister_code(action.key.code);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
@ -574,7 +574,7 @@ static uint8_t numkey2num(uint8_t code)
|
|||||||
static void switch_default_layer(uint8_t layer)
|
static void switch_default_layer(uint8_t layer)
|
||||||
{
|
{
|
||||||
print("switch_default_layer: "); print_dec(biton32(default_layer_state));
|
print("switch_default_layer: "); print_dec(biton32(default_layer_state));
|
||||||
|
print(" to "); print_dec(layer); print("\n");
|
||||||
default_layer_set(layer);
|
default_layer_set(layer);
|
||||||
print(" to "); print_dec(biton32(default_layer_state)); print("\n");
|
|
||||||
clear_keyboard();
|
clear_keyboard();
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user