~ruther/qmk_firmware

f9a7e224a4de28e52d268c801dc12c8de8c79b3f — tmk 12 years ago ebe798f
Fix ACT_MODS action and switch_default_layer command
2 files changed, 3 insertions(+), 8 deletions(-)

M common/action.c
M common/command.c
M common/action.c => common/action.c +2 -7
@@ 72,22 72,17 @@ void process_action(keyrecord_t *record)
                uint8_t mods = (action.kind.id == ACT_LMODS) ?  action.key.mods :
                                                                action.key.mods<<4;
                if (event.pressed) {
                    uint8_t tmp_mods = host_get_mods();
                    if (mods) {
                        host_add_mods(mods);
                        host_send_keyboard_report();
                    }
                    register_code(action.key.code);
                    if (mods && action.key.code) {
                        host_set_mods(tmp_mods);
                        host_send_keyboard_report();
                    }
                } else {
                    if (mods && !action.key.code) {
                    unregister_code(action.key.code);
                    if (mods) {
                        host_del_mods(mods);
                        host_send_keyboard_report();
                    }
                    unregister_code(action.key.code);
                }
            }
            break;

M common/command.c => common/command.c +1 -1
@@ 574,7 574,7 @@ static uint8_t numkey2num(uint8_t code)
static void switch_default_layer(uint8_t layer)
{
    print("switch_default_layer: "); print_dec(biton32(default_layer_state));
    print(" to "); print_dec(layer); print("\n");
    default_layer_set(layer);
    print(" to "); print_dec(biton32(default_layer_state)); print("\n");
    clear_keyboard();
}