From 02f7828a0833e551bc9a4a0886176b12c812bc4e Mon Sep 17 00:00:00 2001 From: Nat Quayle Nelson Date: Sat, 29 Mar 2025 08:33:33 -0500 Subject: [PATCH] map ctrl+f to key_find (which does nothing) --- src/dialogxml/keycodes.hpp | 2 +- src/dialogxml/widgets/control.cpp | 1 + src/dialogxml/widgets/field.cpp | 4 ++++ 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/dialogxml/keycodes.hpp b/src/dialogxml/keycodes.hpp index 2acc700d0..b3221e761 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_none + key_word_left, key_word_right, key_word_bsp, key_word_del, key_find, key_none }; /// Represents a keypress. diff --git a/src/dialogxml/widgets/control.cpp b/src/dialogxml/widgets/control.cpp index ec962edcf..416bd1ada 100644 --- a/src/dialogxml/widgets/control.cpp +++ b/src/dialogxml/widgets/control.cpp @@ -354,6 +354,7 @@ std::string cControl::getAttachedKeyDescription() const { case key_word_bsp: keyName = "backspace"; mod += mod_ctrl; break; case key_word_del: keyName = "delete"; mod += mod_ctrl; break; #endif + case key_find: keyName = "f"; mod += mod_ctrl; break; } if(mod_contains(mod, mod_ctrl)) s += '^'; if(mod_contains(mod, mod_alt)) s += '#'; diff --git a/src/dialogxml/widgets/field.cpp b/src/dialogxml/widgets/field.cpp index b3e3a9de9..c2e02c112 100644 --- a/src/dialogxml/widgets/field.cpp +++ b/src/dialogxml/widgets/field.cpp @@ -376,6 +376,9 @@ static cKey divineFunction(cKey key) { } else if(key.c == 'y') { key.spec = true; key.k = key_redo; + } else if(key.c == 'f') { + key.spec = true; + key.k = key_find; } else { // Ctrl+random key: do nothing. Don't type the key. key.spec = true; @@ -661,6 +664,7 @@ void cTextField::handleInput(cKey key, bool record) { case key_tab: case key_help: case key_insert: + case key_find: break; } // Setting the text normally resets insertion/selection point, but we don't want that here.