@@ -311,8 +311,7 @@ static void terminfo_start(UI *ui)
311311// Enable bracketed paste
312312unibi_out_ext (ui ,data -> unibi_ext .enable_bracketed_paste );
313313
314- // Enable extended keys (also known as 'modifyOtherKeys' or CSI u). On terminals that don't
315- // support this, this sequence is ignored.
314+ // Enable extended keys (also known as 'modifyOtherKeys' or CSI u)
316315unibi_out_ext (ui ,data -> unibi_ext .enable_extended_keys );
317316
318317int ret ;
@@ -2075,13 +2074,15 @@ static void augment_terminfo(TUIData *data, const char *term, long vte_version,
20752074"\x1b[58:2::%p1%d:%p2%d:%p3%dm" );
20762075 }
20772076
2078- if (!kitty ) {
2079- // Kitty does not support these sequences; it only supports it's own CSI > 1 u which enables the
2080- // Kitty keyboard protocol
2081- data -> unibi_ext .enable_extended_keys = (int )unibi_add_ext_str (ut ,"ext.enable_extended_keys" ,
2082- "\x1b[>4;2m" );
2083- data -> unibi_ext .disable_extended_keys = (int )unibi_add_ext_str (ut ,"ext.disable_extended_keys" ,
2084- "\x1b[>4;0m" );
2077+ data -> unibi_ext .enable_extended_keys = unibi_find_ext_str (ut ,"Eneks" );
2078+ data -> unibi_ext .disable_extended_keys = unibi_find_ext_str (ut ,"Dseks" );
2079+ if (data -> unibi_ext .enable_extended_keys == -1 ) {
2080+ if (!kitty && (vte_version == 0 || vte_version >=5400 )) {
2081+ data -> unibi_ext .enable_extended_keys = (int )unibi_add_ext_str (ut ,"ext.enable_extended_keys" ,
2082+ "\x1b[>4;2m" );
2083+ data -> unibi_ext .disable_extended_keys = (int )unibi_add_ext_str (ut ,"ext.disable_extended_keys" ,
2084+ "\x1b[>4m" );
2085+ }
20852086 }
20862087}
20872088