diff --git a/src/features.xml b/src/features.xml index be08ced6932..4a555d7d4e6 100644 --- a/src/features.xml +++ b/src/features.xml @@ -177,4 +177,14 @@ + + Feature_KeypadModeEnabled + Enables the DECKPAM, DECKPNM sequences to work as intended + 16654 + AlwaysDisabled + + Dev + + + diff --git a/src/terminal/input/terminalInput.cpp b/src/terminal/input/terminalInput.cpp index a8fd364e2ed..7c09ef46155 100644 --- a/src/terminal/input/terminalInput.cpp +++ b/src/terminal/input/terminalInput.cpp @@ -438,7 +438,7 @@ try // the ASCII character assigned by the keyboard layout, but when set // they transmit SS3 escape sequences. When used with a modifier, the // modifier is embedded as a parameter value (not standard). - if (_inputMode.test(Mode::Keypad)) + if (Feature_KeypadModeEnabled::IsEnabled() && _inputMode.test(Mode::Keypad)) { defineNumericKey(VK_MULTIPLY, L'j'); defineNumericKey(VK_ADD, L'k'); @@ -490,7 +490,7 @@ try // Keypad keys also depend on Keypad mode, the same as ANSI mappings, // but the sequences use an ESC ? prefix instead of SS3. - if (_inputMode.test(Mode::Keypad)) + if (Feature_KeypadModeEnabled::IsEnabled() && _inputMode.test(Mode::Keypad)) { defineKeyWithUnusedModifiers(VK_MULTIPLY, L"\033?j"s); defineKeyWithUnusedModifiers(VK_ADD, L"\033?k"s);