Missing the '=' and '>' control codes
I ran across this bug while using pyte to strip control codes from output for an expectation script. The two codes are
- DECKPAM - Set alternate keypad mode
- DECKPNM - Set alternate numeric keypad mode
I suspect my terminal inserts the DECKPAM code because I use a non-QWERTY keyboard layout.
This issue affects applications interacting with FISH Shell 4.0+, which sends \x1b[=0u and \x1b[=5u sequences by default.
related with: https://github.com/fish-shell/fish-shell/issues/11054
implementation details: https://sw.kovidgoyal.net/kitty/keyboard-protocol/
It causes Terminus package for Sublime Text to display misterious 0u and 5u characters in terminal output.
see: https://forum.sublimetext.com/t/latest-dev-builds-broke-terminus-with-fish-shell/75587/6
Feel free to send a PR adding them.
It turns out alternative keyboard modes being unrelated with keypad mode escape sequences.
While keypad mode is controlled via ESC = and ESC >, keyboard modes use CSI =, CSI < and CSI >.