From 2bf20ec32cd252ab9a8847dea0c9300714734798 Mon Sep 17 00:00:00 2001 From: Mitchell Hashimoto Date: Thu, 15 Aug 2024 19:50:25 -0700 Subject: [PATCH] fix compilation but logic broken --- src/Surface.zig | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/Surface.zig b/src/Surface.zig index 4b5b3f98c..2c6a87608 100644 --- a/src/Surface.zig +++ b/src/Surface.zig @@ -1325,7 +1325,7 @@ pub fn keyCallback( // Before encoding, we see if we have any keybindings for this // key. Those always intercept before any encoding tasks. binding: { - const binding_action: input.Binding.Action, const binding_trigger: input.Binding.Trigger, const consumed = action: { + const binding_entry: input.Binding.Set.Entry, const binding_trigger: input.Binding.Trigger = action: { const binding_mods = event.mods.binding(); var trigger: input.Binding.Trigger = .{ .mods = binding_mods, @@ -1336,14 +1336,12 @@ pub fn keyCallback( if (set.get(trigger)) |v| break :action .{ v, trigger, - set.getConsumed(trigger), }; trigger.key = .{ .physical = event.physical_key }; if (set.get(trigger)) |v| break :action .{ v, trigger, - set.getConsumed(trigger), }; if (event.unshifted_codepoint > 0) { @@ -1351,12 +1349,16 @@ pub fn keyCallback( if (set.get(trigger)) |v| break :action .{ v, trigger, - set.getConsumed(trigger), }; } break :binding; }; + const binding_action = switch (binding_entry) { + .leader => break :binding, // TODO + .action, .action_unconsumed => |action| action, + }; + const consumed = binding_entry == .action; // We only execute the binding on press/repeat but we still consume // the key on release so that we don't send any release events.