diff --git a/kitty/terminfo.py b/kitty/terminfo.py index 63fc9ab63..b8d9de169 100644 --- a/kitty/terminfo.py +++ b/kitty/terminfo.py @@ -231,6 +231,7 @@ string_capabilities = { 'smso': r'\E[7m', # Enter underline mode 'smul': r'\E[4m', + 'Smulx': r'\E[4:%p1%dm', # this is a non-standard extension that some terminals use, so match them # Enter strikethrough mode 'smxx': r'\E[9m', # Clear all tab stops @@ -436,7 +437,7 @@ queryable_capabilities = cast(Dict[str, str], numeric_capabilities.copy()) queryable_capabilities.update(string_capabilities) extra = (bool_capabilities | numeric_capabilities.keys() | string_capabilities.keys()) - set(termcap_aliases.values()) no_termcap_for = frozenset( - 'Su Tc setrgbf setrgbb fullkbd kUP kDN'.split() + [ + 'Su Smulx Tc setrgbf setrgbb fullkbd kUP kDN'.split() + [ 'k{}{}'.format(key, mod) for key in 'UP DN RIT LFT END HOM IC DC PRV NXT'.split() for mod in range(3, 8)]) diff --git a/terminfo/kitty.terminfo b/terminfo/kitty.terminfo index d081293ab..f74dc4e89 100644 --- a/terminfo/kitty.terminfo +++ b/terminfo/kitty.terminfo @@ -16,6 +16,7 @@ xterm-kitty|KovIdTTY, it#8, lines#24, pairs#32767, + Smulx=\E[4:%p1%dm, acsc=++\,\,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, bel=^G, bold=\E[1m, diff --git a/terminfo/x/xterm-kitty b/terminfo/x/xterm-kitty index bde658ee9..7b1a2abb5 100644 Binary files a/terminfo/x/xterm-kitty and b/terminfo/x/xterm-kitty differ