Browse Source

Fix tap key bug: layer stuck

- Can't use Invert action for tap key, use On/Off insted.
core
tmk 11 years ago
parent
commit
b0558b5f77
1 changed files with 12 additions and 12 deletions
  1. 12
    12
      common/action.c

+ 12
- 12
common/action.c View File

/* Keymap Bit invert with tap key */ /* Keymap Bit invert with tap key */
default: default:
if (event.pressed) { if (event.pressed) {
if (IS_TAPPING_KEY(event.key) && tap_count > 0) {
if (tap_count > 0) {
debug("KEYMAP_TAP_KEY: Tap: register_code\n"); debug("KEYMAP_TAP_KEY: Tap: register_code\n");
register_code(action.layer.code); register_code(action.layer.code);
} else { } else {
debug("KEYMAP_TAP_KEY: No tap: invert on press\n");
keymap_invert(action.layer.val);
debug("KEYMAP_TAP_KEY: No tap: On on press\n");
keymap_on(action.layer.val);
} }
} else { } else {
if (IS_TAPPING_KEY(event.key) && tap_count > 0) {
if (tap_count > 0) {
debug("KEYMAP_TAP_KEY: Tap: unregister_code\n"); debug("KEYMAP_TAP_KEY: Tap: unregister_code\n");
unregister_code(action.layer.code); unregister_code(action.layer.code);
} else { } else {
debug("KEYMAP_TAP_KEY: No tap: invert on release\n");
keymap_invert(action.layer.val);
debug("KEYMAP_TAP_KEY: No tap: Off on release\n");
keymap_off(action.layer.val);
} }
} }
break; break;
/* Overlay Bit invert with tap key */ /* Overlay Bit invert with tap key */
default: default:
if (event.pressed) { if (event.pressed) {
if (IS_TAPPING_KEY(event.key) && tap_count > 0) {
if (tap_count > 0) {
debug("OVERLAY_TAP_KEY: Tap: register_code\n"); debug("OVERLAY_TAP_KEY: Tap: register_code\n");
register_code(action.layer.code); register_code(action.layer.code);
} else { } else {
debug("OVERLAY_TAP_KEY: No tap: invert on press\n");
overlay_invert(action.layer.val);
debug("OVERLAY_TAP_KEY: No tap: On on press\n");
overlay_on(action.layer.val);
} }
} else { } else {
if (IS_TAPPING_KEY(event.key) && tap_count > 0) {
if (tap_count > 0) {
debug("OVERLAY_TAP_KEY: Tap: unregister_code\n"); debug("OVERLAY_TAP_KEY: Tap: unregister_code\n");
unregister_code(action.layer.code); unregister_code(action.layer.code);
} else { } else {
debug("OVERLAY_TAP_KEY: No tap: invert on release\n");
overlay_invert(action.layer.val);
debug("OVERLAY_TAP_KEY: No tap: Off on release\n");
overlay_off(action.layer.val);
} }
} }
break; break;