diff --git a/src/ncurses_ui.cc b/src/ncurses_ui.cc index 18be7bd2..31c5269a 100644 --- a/src/ncurses_ui.cc +++ b/src/ncurses_ui.cc @@ -725,7 +725,13 @@ Optional NCursesUI::get_next_key() auto masked_key = [&](Codepoint key) { int mask = std::max(params[1] - 1, 0); - return Key{parse_mask(mask), key}; + Key::Modifiers modifiers = parse_mask(mask); + if (is_basic_alpha(key) and (modifiers & Key::Modifiers::Shift)) + { + modifiers &= ~Key::Modifiers::Shift; + key = to_upper(key); + } + return Key{modifiers, key}; }; switch (c)