From b3d11e9787ac11c41949dea044b57afdbcc5836a Mon Sep 17 00:00:00 2001 From: Mitja Felicijan Date: Thu, 22 Jan 2026 09:34:20 +0100 Subject: Fix key event fallthrough --- kevent.go | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/kevent.go b/kevent.go index d96f088..377a5f7 100644 --- a/kevent.go +++ b/kevent.go @@ -121,6 +121,11 @@ func (e *Editor) handleNormalMode(ev termbox.Event) { e.triggerHover() } + // Prevent key event fallthrough. + if ev.Key != 0 { + return + } + switch ev.Ch { case 'i': e.saveState() @@ -640,6 +645,11 @@ func (e *Editor) handleVisualMode(ev termbox.Event) { e.moveCursor(0, 1) } + // Prevent key event fallthrough. + if ev.Key != 0 { + return + } + switch ev.Ch { case Config.LeaderKey: e.pendingKey = Config.LeaderKey @@ -740,6 +750,11 @@ func (e *Editor) handleVisualLineMode(ev termbox.Event) { e.moveCursor(0, 1) } + // Prevent key event fallthrough. + if ev.Key != 0 { + return + } + switch ev.Ch { case Config.LeaderKey: e.pendingKey = Config.LeaderKey @@ -839,6 +854,11 @@ func (e *Editor) handleVisualBlockMode(ev termbox.Event) { e.moveCursor(0, 1) } + // Prevent key event fallthrough. + if ev.Key != 0 { + return + } + switch ev.Ch { case Config.LeaderKey: e.pendingKey = Config.LeaderKey @@ -947,6 +967,11 @@ func (e *Editor) handleConfirmMode(ev termbox.Event) { return } + // Prevent key event fallthrough. + if ev.Key != 0 { + return + } + switch ev.Ch { case 'y', 'Y': if e.pendingConfirm != nil { -- cgit v1.2.3