Fix ACT_MODS action and switch_default_layer command

daktil_manuform
tmk 2013-04-04 16:29:44 +09:00
parent ebe798f081
commit f9a7e224a4
2 changed files with 3 additions and 8 deletions

View File

@ -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;

View File

@ -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();
} }