From aa029f6bdca87d5ede7bdaf26ce84d0359e6e2d9 Mon Sep 17 00:00:00 2001 From: Nat Quayle Nelson Date: Thu, 20 Mar 2025 19:58:40 -0500 Subject: [PATCH] Ctrl+f in text field should not type 'f' --- src/dialogxml/keycodes.hpp | 2 +- src/dialogxml/widgets/field.cpp | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/dialogxml/keycodes.hpp b/src/dialogxml/keycodes.hpp index 19d1ea72..2acc700d 100644 --- a/src/dialogxml/keycodes.hpp +++ b/src/dialogxml/keycodes.hpp @@ -40,7 +40,7 @@ enum eSpecKey { key_esc, key_enter, key_tab, key_help, // key_help should bind to the help key on Mac and the F1 key on Windows key_bsp, key_del, key_home, key_end, key_pgup, key_pgdn, key_top, key_bottom, key_insert, key_copy, key_cut, key_paste, key_selectall, key_undo, key_redo, - key_word_left, key_word_right, key_word_bsp, key_word_del, + key_word_left, key_word_right, key_word_bsp, key_word_del, key_none }; /// Represents a keypress. diff --git a/src/dialogxml/widgets/field.cpp b/src/dialogxml/widgets/field.cpp index 34e67c89..b3e3a9de 100644 --- a/src/dialogxml/widgets/field.cpp +++ b/src/dialogxml/widgets/field.cpp @@ -376,6 +376,10 @@ static cKey divineFunction(cKey key) { } else if(key.c == 'y') { key.spec = true; key.k = key_redo; + } else { + // Ctrl+random key: do nothing. Don't type the key. + key.spec = true; + key.k = key_none; } } if(key.spec) key.mod -= mod_ctrl;