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