From 0fd6439f5a48add948c575eba9e6d6c0889e6a6a Mon Sep 17 00:00:00 2001 From: Markus Gans Date: Wed, 29 Apr 2020 02:24:48 +0200 Subject: [PATCH] Static code for the special built-in key sequences --- src/fkey_map.cpp | 10 +++++----- src/ftermcap.cpp | 4 +++- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/src/fkey_map.cpp b/src/fkey_map.cpp index 3497615b..aeff0b90 100644 --- a/src/fkey_map.cpp +++ b/src/fkey_map.cpp @@ -206,11 +206,11 @@ FKeyMap fkey[] = // Fallback for TERM=ansi { fc::Fkey_end , CSI "K", "@7X"}, // end key // Keypad keys - { fc::Fkey_enter , ESC "OM", "@8x"}, // enter key - { fc::Fkey_slash , ESC "Oo", "KP1"}, // keypad slash - { fc::Fkey_asterisk , ESC "Oj", "KP2"}, // keypad asterisk - { fc::Fkey_minus_sign, ESC "Om", "KP3"}, // keypad minus sign - { fc::Fkey_plus_sign , ESC "Ok", "KP4"}, // keypad plus sign + { fc::Fkey_enter , ESC "OM", "@8x"}, // enter key + { fc::Fkey_slash , ESC "Oo", "KP1"}, // keypad slash + { fc::Fkey_asterisk , ESC "Oj", "KP2"}, // keypad asterisk + { fc::Fkey_minus_sign, ESC "Om", "KP3"}, // keypad minus sign + { fc::Fkey_plus_sign , ESC "Ok", "KP4"}, // keypad plus sign { 0 , nullptr, "\0" } }; diff --git a/src/ftermcap.cpp b/src/ftermcap.cpp index 3e1ecf22..33352d0b 100644 --- a/src/ftermcap.cpp +++ b/src/ftermcap.cpp @@ -231,7 +231,9 @@ void FTermcap::termcapKeys (char*& buffer) // Get termcap keys // Read termcap key sequences - for (std::size_t i{0}; fc::fkey[i].tname[0] != 0; i++) + for ( std::size_t i{0}; + fc::fkey[i].string == nullptr && fc::fkey[i].tname[0] != 0; + i++ ) fc::fkey[i].string = tgetstr(C_STR(fc::fkey[i].tname), &buffer); }