From 24f7c38a5be3d80d9d65fd8e4f77fcf1cea77279 Mon Sep 17 00:00:00 2001 From: Nils Stinnesbeck Date: Wed, 21 Oct 2026 12:11:13 +0200 Subject: [PATCH] Space presses form buttons, as the help says Only the Test button turned Space into Enter; Save, Revert and the buttons of the dialogs ignored it. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_019reK4DUGYqDUjniWYJvwUW --- internal/ui/form.go | 3 +++ internal/ui/form_test.go | 10 ++++++++++ 2 files changed, 13 insertions(+) diff --git a/internal/ui/form.go b/internal/ui/form.go index ae7341a..3f5c398 100644 --- a/internal/ui/form.go +++ b/internal/ui/form.go @@ -44,6 +44,9 @@ func arrowNavigation(f *tview.Form, cancel func(), hooks *browseHooks) { return ev } b.dd = nil + if button >= 0 && ev.Key() == tcell.KeyRune && ev.Rune() == ' ' { + return tcell.NewEventKey(tcell.KeyEnter, 0, 0) // Space presses a button too + } total := f.GetFormItemCount() + f.GetButtonCount() pos := item if button >= 0 { diff --git a/internal/ui/form_test.go b/internal/ui/form_test.go index 3459710..e2be1b5 100644 --- a/internal/ui/form_test.go +++ b/internal/ui/form_test.go @@ -48,6 +48,16 @@ func TestArrowNavigation(t *testing.T) { if item, _ := f.GetFocusedItemIndex(); item != 1 { t.Fatalf("Up from first button: item %d, want 1", item) } + + // Space on a button is Enter; on a checkbox it stays Space. + send(tcell.KeyDown) + if got := cap(tcell.NewEventKey(tcell.KeyRune, ' ', 0)); got == nil || got.Key() != tcell.KeyEnter { + t.Errorf("Space on a button: %v", got) + } + send(tcell.KeyUp) + if got := cap(tcell.NewEventKey(tcell.KeyRune, ' ', 0)); got == nil || got.Key() != tcell.KeyRune { + t.Errorf("Space on a checkbox: %v", got) + } } func TestSearchNowFollowsMonitored(t *testing.T) {