diff --git a/src/Surface.zig b/src/Surface.zig index 3677c04e5..ce70d56ff 100644 --- a/src/Surface.zig +++ b/src/Surface.zig @@ -1941,10 +1941,16 @@ fn maybeHandleBinding( return .closed; } + // If we have the performable flag and the + // action was not performed do nothing at all + if (leaf.flags.performable and !performed) { + return null; + } + // If we consume this event, then we are done. If we don't consume // it, we processed the action but we still want to process our // encodings, too. - if (performed and consumed) { + if (consumed) { // If we had queued events, we deinit them since we consumed self.endKeySequence(.drop, .retain);