summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMitja Felicijan <mitja.felicijan@gmail.com>2026-01-22 09:34:20 +0100
committerMitja Felicijan <mitja.felicijan@gmail.com>2026-01-22 09:34:23 +0100
commitb3d11e9787ac11c41949dea044b57afdbcc5836a (patch)
treec9555252d469aba3e4ecaae301f7db66e72cdbfc
parent6dab452ef4ae69d39635e96153b009b6ada2f8f8 (diff)
downloadqwe-editor-b3d11e9787ac11c41949dea044b57afdbcc5836a.tar.gz
Fix key event fallthrough
-rw-r--r--kevent.go25
1 files changed, 25 insertions, 0 deletions
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 {