terminfo_builtin.h (65363B)
1 // uncrustify:off 2 3 // Generated by src/gen/gen_terminfo.lua and ncurses 6.5.20240427 4 5 #pragma once 6 7 #include "nvim/tui/terminfo_defs.h" 8 9 static const TerminfoEntry ansi_terminfo = { 10 .bce = false, 11 .has_Tc_or_RGB = false, 12 .Su = false, 13 .max_colors = 8, 14 .lines = 24, 15 .columns = 80, 16 .defs = { 17 [kTerm_carriage_return] = "\r", 18 [kTerm_change_scroll_region] = NULL, 19 [kTerm_clear_screen] = "\033[H\033[J", 20 [kTerm_clr_eol] = "\033[K", 21 [kTerm_clr_eos] = "\033[J", 22 [kTerm_cursor_address] = "\033[%i%p1%d;%p2%dH", 23 [kTerm_cursor_down] = "\033[B", 24 [kTerm_cursor_invisible] = NULL, 25 [kTerm_cursor_left] = "\033[D", 26 [kTerm_cursor_home] = "\033[H", 27 [kTerm_cursor_normal] = NULL, 28 [kTerm_cursor_up] = "\033[A", 29 [kTerm_cursor_right] = "\033[C", 30 [kTerm_delete_line] = "\033[M", 31 [kTerm_enter_blink_mode] = "\033[5m", 32 [kTerm_enter_bold_mode] = "\033[1m", 33 [kTerm_enter_ca_mode] = NULL, 34 [kTerm_enter_dim_mode] = NULL, 35 [kTerm_enter_italics_mode] = NULL, 36 [kTerm_enter_reverse_mode] = "\033[7m", 37 [kTerm_enter_secure_mode] = "\033[8m", 38 [kTerm_enter_standout_mode] = "\033[7m", 39 [kTerm_enter_underline_mode] = "\033[4m", 40 [kTerm_erase_chars] = "\033[%p1%dX", 41 [kTerm_exit_attribute_mode] = "\033[0;10m", 42 [kTerm_exit_ca_mode] = NULL, 43 [kTerm_from_status_line] = NULL, 44 [kTerm_insert_line] = "\033[L", 45 [kTerm_keypad_local] = NULL, 46 [kTerm_keypad_xmit] = NULL, 47 [kTerm_parm_delete_line] = "\033[%p1%dM", 48 [kTerm_parm_down_cursor] = "\033[%p1%dB", 49 [kTerm_parm_insert_line] = "\033[%p1%dL", 50 [kTerm_parm_left_cursor] = "\033[%p1%dD", 51 [kTerm_parm_right_cursor] = "\033[%p1%dC", 52 [kTerm_parm_up_cursor] = "\033[%p1%dA", 53 [kTerm_set_a_background] = "\033[4%p1%dm", 54 [kTerm_set_a_foreground] = "\033[3%p1%dm", 55 [kTerm_set_attributes] = "\033[0;10%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;%?%p7%t;8%;%?%p9%t;11%;m", 56 [kTerm_set_lr_margin] = NULL, 57 [kTerm_to_status_line] = NULL, 58 [kTerm_reset_cursor_style] = NULL, 59 [kTerm_set_cursor_style] = NULL, 60 [kTerm_enter_strikethrough_mode] = NULL, 61 [kTerm_set_rgb_foreground] = NULL, 62 [kTerm_set_rgb_background] = NULL, 63 [kTerm_set_cursor_color] = NULL, 64 [kTerm_reset_cursor_color] = NULL, 65 [kTerm_set_underline_style] = NULL, 66 }, 67 .keys = { 68 [kTermKey_backspace] = {"\b", NULL}, 69 [kTermKey_beg] = {NULL, NULL}, 70 [kTermKey_btab] = {"\033[Z", NULL}, 71 [kTermKey_clear] = {NULL, NULL}, 72 [kTermKey_dc] = {NULL, NULL}, 73 [kTermKey_end] = {NULL, NULL}, 74 [kTermKey_find] = {NULL, NULL}, 75 [kTermKey_home] = {"\033[H", NULL}, 76 [kTermKey_ic] = {"\033[L", NULL}, 77 [kTermKey_npage] = {NULL, NULL}, 78 [kTermKey_ppage] = {NULL, NULL}, 79 [kTermKey_select] = {NULL, NULL}, 80 [kTermKey_suspend] = {NULL, NULL}, 81 [kTermKey_undo] = {NULL, NULL}, 82 }, 83 .f_keys = { 84 NULL, 85 }, 86 }; 87 88 static const TerminfoEntry ghostty_terminfo = { 89 .bce = true, 90 .has_Tc_or_RGB = false, 91 .Su = false, 92 .max_colors = 0x100, 93 .lines = 24, 94 .columns = 80, 95 .defs = { 96 [kTerm_carriage_return] = "\r", 97 [kTerm_change_scroll_region] = "\033[%i%p1%d;%p2%dr", 98 [kTerm_clear_screen] = "\033[H\033[2J", 99 [kTerm_clr_eol] = "\033[K", 100 [kTerm_clr_eos] = "\033[J", 101 [kTerm_cursor_address] = "\033[%i%p1%d;%p2%dH", 102 [kTerm_cursor_down] = "\n", 103 [kTerm_cursor_invisible] = "\033[?25l", 104 [kTerm_cursor_left] = "\b", 105 [kTerm_cursor_home] = "\033[H", 106 [kTerm_cursor_normal] = "\033[?12l\033[?25h", 107 [kTerm_cursor_up] = "\033[A", 108 [kTerm_cursor_right] = "\033[C", 109 [kTerm_delete_line] = "\033[M", 110 [kTerm_enter_blink_mode] = NULL, 111 [kTerm_enter_bold_mode] = "\033[1m", 112 [kTerm_enter_ca_mode] = "\033[?1049h", 113 [kTerm_enter_dim_mode] = "\033[2m", 114 [kTerm_enter_italics_mode] = "\033[3m", 115 [kTerm_enter_reverse_mode] = "\033[7m", 116 [kTerm_enter_secure_mode] = "\033[8m", 117 [kTerm_enter_standout_mode] = "\033[7m", 118 [kTerm_enter_underline_mode] = "\033[4m", 119 [kTerm_erase_chars] = "\033[%p1%dX", 120 [kTerm_exit_attribute_mode] = "\033(B\033[m", 121 [kTerm_exit_ca_mode] = "\033[?1049l", 122 [kTerm_from_status_line] = "\a", 123 [kTerm_insert_line] = "\033[L", 124 [kTerm_keypad_local] = "\033[?1l\033>", 125 [kTerm_keypad_xmit] = "\033[?1h\033=", 126 [kTerm_parm_delete_line] = "\033[%p1%dM", 127 [kTerm_parm_down_cursor] = "\033[%p1%dB", 128 [kTerm_parm_insert_line] = "\033[%p1%dL", 129 [kTerm_parm_left_cursor] = "\033[%p1%dD", 130 [kTerm_parm_right_cursor] = "\033[%p1%dC", 131 [kTerm_parm_up_cursor] = "\033[%p1%dA", 132 [kTerm_set_a_background] = "\033[%?%p1%{8}%<%t4%p1%d%e%p1%{16}%<%t10%p1%{8}%-%d%e48;5;%p1%d%;m", 133 [kTerm_set_a_foreground] = "\033[%?%p1%{8}%<%t3%p1%d%e%p1%{16}%<%t9%p1%{8}%-%d%e38;5;%p1%d%;m", 134 [kTerm_set_attributes] = "%?%p9%t\033(0%e\033(B%;\033[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p5%t;2%;%?%p7%t;8%;m", 135 [kTerm_set_lr_margin] = "\033[?69h\033[%i%p1%d;%p2%ds", 136 [kTerm_to_status_line] = "\033]2;", 137 [kTerm_reset_cursor_style] = "\033[2 q", 138 [kTerm_set_cursor_style] = "\033[%p1%d q", 139 [kTerm_enter_strikethrough_mode] = "\033[9m", 140 [kTerm_set_rgb_foreground] = NULL, 141 [kTerm_set_rgb_background] = NULL, 142 [kTerm_set_cursor_color] = NULL, 143 [kTerm_reset_cursor_color] = NULL, 144 [kTerm_set_underline_style] = "\033[4\072%p1%dm", 145 }, 146 .keys = { 147 [kTermKey_backspace] = {"\177", NULL}, 148 [kTermKey_beg] = {NULL, NULL}, 149 [kTermKey_btab] = {"\033[Z", NULL}, 150 [kTermKey_clear] = {NULL, NULL}, 151 [kTermKey_dc] = {"\033[3~", "\033[3;2~"}, 152 [kTermKey_end] = {"\033OF", "\033[1;2F"}, 153 [kTermKey_find] = {NULL, NULL}, 154 [kTermKey_home] = {"\033OH", "\033[1;2H"}, 155 [kTermKey_ic] = {"\033[2~", "\033[2;2~"}, 156 [kTermKey_npage] = {"\033[6~", NULL}, 157 [kTermKey_ppage] = {"\033[5~", NULL}, 158 [kTermKey_select] = {NULL, NULL}, 159 [kTermKey_suspend] = {NULL, NULL}, 160 [kTermKey_undo] = {NULL, NULL}, 161 }, 162 .f_keys = { 163 // note: offset by one, f_keys[0] is F1 and so on 164 [0] = "\033OP", 165 [1] = "\033OQ", 166 [2] = "\033OR", 167 [3] = "\033OS", 168 [4] = "\033[15~", 169 [5] = "\033[17~", 170 [6] = "\033[18~", 171 [7] = "\033[19~", 172 [8] = "\033[20~", 173 [9] = "\033[21~", 174 [10] = "\033[23~", 175 [11] = "\033[24~", 176 [12] = "\033[1;2P", 177 [13] = "\033[1;2Q", 178 [14] = "\033[1;2R", 179 [15] = "\033[1;2S", 180 [16] = "\033[15;2~", 181 [17] = "\033[17;2~", 182 [18] = "\033[18;2~", 183 [19] = "\033[19;2~", 184 [20] = "\033[20;2~", 185 [21] = "\033[21;2~", 186 [22] = "\033[23;2~", 187 [23] = "\033[24;2~", 188 [24] = "\033[1;5P", 189 [25] = "\033[1;5Q", 190 [26] = "\033[1;5R", 191 [27] = "\033[1;5S", 192 [28] = "\033[15;5~", 193 [29] = "\033[17;5~", 194 [30] = "\033[18;5~", 195 [31] = "\033[19;5~", 196 [32] = "\033[20;5~", 197 [33] = "\033[21;5~", 198 [34] = "\033[23;5~", 199 [35] = "\033[24;5~", 200 [36] = "\033[1;6P", 201 [37] = "\033[1;6Q", 202 [38] = "\033[1;6R", 203 [39] = "\033[1;6S", 204 [40] = "\033[15;6~", 205 [41] = "\033[17;6~", 206 [42] = "\033[18;6~", 207 [43] = "\033[19;6~", 208 [44] = "\033[20;6~", 209 [45] = "\033[21;6~", 210 [46] = "\033[23;6~", 211 [47] = "\033[24;6~", 212 [48] = "\033[1;3P", 213 [49] = "\033[1;3Q", 214 [50] = "\033[1;3R", 215 [51] = "\033[1;3S", 216 [52] = "\033[15;3~", 217 [53] = "\033[17;3~", 218 [54] = "\033[18;3~", 219 [55] = "\033[19;3~", 220 [56] = "\033[20;3~", 221 [57] = "\033[21;3~", 222 [58] = "\033[23;3~", 223 [59] = "\033[24;3~", 224 [60] = "\033[1;4P", 225 [61] = "\033[1;4Q", 226 [62] = "\033[1;4R", 227 }, 228 }; 229 230 static const TerminfoEntry interix_8colour_terminfo = { 231 .bce = true, 232 .has_Tc_or_RGB = false, 233 .Su = false, 234 .max_colors = 8, 235 .lines = 25, 236 .columns = 80, 237 .defs = { 238 [kTerm_carriage_return] = "\r", 239 [kTerm_change_scroll_region] = NULL, 240 [kTerm_clear_screen] = "\033[2J", 241 [kTerm_clr_eol] = "\033[K", 242 [kTerm_clr_eos] = "\033[J", 243 [kTerm_cursor_address] = "\033[%i%p1%d;%p2%dH", 244 [kTerm_cursor_down] = "\n", 245 [kTerm_cursor_invisible] = NULL, 246 [kTerm_cursor_left] = "\033[D", 247 [kTerm_cursor_home] = "\033[H", 248 [kTerm_cursor_normal] = NULL, 249 [kTerm_cursor_up] = "\033[A", 250 [kTerm_cursor_right] = "\033[C", 251 [kTerm_delete_line] = "\033[M", 252 [kTerm_enter_blink_mode] = NULL, 253 [kTerm_enter_bold_mode] = "\033[1m", 254 [kTerm_enter_ca_mode] = "\033[s\033[1b", 255 [kTerm_enter_dim_mode] = NULL, 256 [kTerm_enter_italics_mode] = NULL, 257 [kTerm_enter_reverse_mode] = "\033[7m", 258 [kTerm_enter_secure_mode] = NULL, 259 [kTerm_enter_standout_mode] = "\033[7m", 260 [kTerm_enter_underline_mode] = "\033[4m", 261 [kTerm_erase_chars] = NULL, 262 [kTerm_exit_attribute_mode] = "\033[0m", 263 [kTerm_exit_ca_mode] = "\033[2b\033[u\r\033[K", 264 [kTerm_from_status_line] = NULL, 265 [kTerm_insert_line] = "\033[L", 266 [kTerm_keypad_local] = NULL, 267 [kTerm_keypad_xmit] = NULL, 268 [kTerm_parm_delete_line] = "\033[%p1%dM", 269 [kTerm_parm_down_cursor] = "\033[%p1%dB", 270 [kTerm_parm_insert_line] = "\033[%p1%dL", 271 [kTerm_parm_left_cursor] = "\033[%p1%dD", 272 [kTerm_parm_right_cursor] = "\033[%p1%dC", 273 [kTerm_parm_up_cursor] = "\033[%p1%dA", 274 [kTerm_set_a_background] = "\033[4%p1%dm", 275 [kTerm_set_a_foreground] = "\033[3%p1%dm", 276 [kTerm_set_attributes] = NULL, 277 [kTerm_set_lr_margin] = NULL, 278 [kTerm_to_status_line] = NULL, 279 [kTerm_reset_cursor_style] = NULL, 280 [kTerm_set_cursor_style] = NULL, 281 [kTerm_enter_strikethrough_mode] = NULL, 282 [kTerm_set_rgb_foreground] = NULL, 283 [kTerm_set_rgb_background] = NULL, 284 [kTerm_set_cursor_color] = NULL, 285 [kTerm_reset_cursor_color] = NULL, 286 [kTerm_set_underline_style] = NULL, 287 }, 288 .keys = { 289 [kTermKey_backspace] = {"\b", NULL}, 290 [kTermKey_beg] = {NULL, NULL}, 291 [kTermKey_btab] = {"\033[Z", NULL}, 292 [kTermKey_clear] = {NULL, NULL}, 293 [kTermKey_dc] = {"\177", NULL}, 294 [kTermKey_end] = {"\033[U", NULL}, 295 [kTermKey_find] = {NULL, NULL}, 296 [kTermKey_home] = {"\033[H", NULL}, 297 [kTermKey_ic] = {"\033[L", NULL}, 298 [kTermKey_npage] = {"\033[T", NULL}, 299 [kTermKey_ppage] = {"\033[S", NULL}, 300 [kTermKey_select] = {NULL, NULL}, 301 [kTermKey_suspend] = {NULL, NULL}, 302 [kTermKey_undo] = {NULL, NULL}, 303 }, 304 .f_keys = { 305 // note: offset by one, f_keys[0] is F1 and so on 306 [0] = "\033F1", 307 [1] = "\033F2", 308 [2] = "\033F3", 309 [3] = "\033F4", 310 [4] = "\033F5", 311 [5] = "\033F6", 312 [6] = "\033F7", 313 [7] = "\033F8", 314 [8] = "\033F9", 315 [9] = "\033FA", 316 [10] = "\033FB", 317 [11] = "\033FC", 318 [12] = "\033FD", 319 [13] = "\033FE", 320 [14] = "\033FF", 321 [15] = "\033FG", 322 [16] = "\033FH", 323 [17] = "\033FI", 324 [18] = "\033FJ", 325 [19] = "\033FK", 326 [20] = "\033FL", 327 [21] = "\033FM", 328 [22] = "\033FN", 329 [23] = "\033FO", 330 [24] = "\033FP", 331 [25] = "\033FQ", 332 [26] = "\033FR", 333 [27] = "\033FS", 334 [28] = "\033FT", 335 [29] = "\033FU", 336 [30] = "\033FV", 337 [31] = "\033FW", 338 [32] = "\033FX", 339 [33] = "\033FY", 340 [34] = "\033FZ", 341 [35] = "\033Fa", 342 [36] = "\033Fb", 343 [37] = "\033Fc", 344 [38] = "\033Fd", 345 [39] = "\033Fe", 346 [40] = "\033Ff", 347 [41] = "\033Fg", 348 [42] = "\033Fh", 349 [43] = "\033Fi", 350 [44] = "\033Fj", 351 [45] = "\033Fk", 352 [46] = "\033Fm", 353 [47] = "\033Fn", 354 [48] = "\033Fo", 355 [49] = "\033Fp", 356 [50] = "\033Fq", 357 [51] = "\033Fr", 358 [52] = "\033Fs", 359 [53] = "\033Ft", 360 [54] = "\033Fu", 361 [55] = "\033Fv", 362 [56] = "\033Fw", 363 [57] = "\033Fx", 364 [58] = "\033Fy", 365 [59] = "\033Fz", 366 }, 367 }; 368 369 static const TerminfoEntry iterm_256colour_terminfo = { 370 .bce = true, 371 .has_Tc_or_RGB = false, 372 .Su = false, 373 .max_colors = 0x100, 374 .lines = 24, 375 .columns = 80, 376 .defs = { 377 [kTerm_carriage_return] = "\r", 378 [kTerm_change_scroll_region] = "\033[%i%p1%d;%p2%dr", 379 [kTerm_clear_screen] = "\033[H\033[J", 380 [kTerm_clr_eol] = "\033[K", 381 [kTerm_clr_eos] = "\033[J", 382 [kTerm_cursor_address] = "\033[%i%p1%d;%p2%dH", 383 [kTerm_cursor_down] = "\n", 384 [kTerm_cursor_invisible] = "\033[?25l", 385 [kTerm_cursor_left] = "\b", 386 [kTerm_cursor_home] = "\033[H", 387 [kTerm_cursor_normal] = "\033[?25h", 388 [kTerm_cursor_up] = "\033[A", 389 [kTerm_cursor_right] = "\033[C", 390 [kTerm_delete_line] = "\033[M", 391 [kTerm_enter_blink_mode] = "\033[5m", 392 [kTerm_enter_bold_mode] = "\033[1m", 393 [kTerm_enter_ca_mode] = "\033[?1049h\033[22;0;0t", 394 [kTerm_enter_dim_mode] = "\033[2m", 395 [kTerm_enter_italics_mode] = "\033[3m", 396 [kTerm_enter_reverse_mode] = "\033[7m", 397 [kTerm_enter_secure_mode] = NULL, 398 [kTerm_enter_standout_mode] = "\033[7m", 399 [kTerm_enter_underline_mode] = "\033[4m", 400 [kTerm_erase_chars] = NULL, 401 [kTerm_exit_attribute_mode] = "\033[m\017", 402 [kTerm_exit_ca_mode] = "\033[?1049l\033[23;0;0t", 403 [kTerm_from_status_line] = "\a", 404 [kTerm_insert_line] = "\033[L", 405 [kTerm_keypad_local] = "\033[?1l\033>", 406 [kTerm_keypad_xmit] = "\033[?1h\033=", 407 [kTerm_parm_delete_line] = "\033[%p1%dM", 408 [kTerm_parm_down_cursor] = "\033[%p1%dB", 409 [kTerm_parm_insert_line] = "\033[%p1%dL", 410 [kTerm_parm_left_cursor] = "\033[%p1%dD", 411 [kTerm_parm_right_cursor] = "\033[%p1%dC", 412 [kTerm_parm_up_cursor] = "\033[%p1%dA", 413 [kTerm_set_a_background] = "\033[%?%p1%{8}%<%t4%p1%d%e%p1%{16}%<%t10%p1%{8}%-%d%e48;5;%p1%d%;m", 414 [kTerm_set_a_foreground] = "\033[%?%p1%{8}%<%t3%p1%d%e%p1%{16}%<%t9%p1%{8}%-%d%e38;5;%p1%d%;m", 415 [kTerm_set_attributes] = "\033[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;%?%p5%t;2%;m%?%p9%t^N%e\017%;", 416 [kTerm_set_lr_margin] = NULL, 417 [kTerm_to_status_line] = "\033]2;", 418 [kTerm_reset_cursor_style] = NULL, 419 [kTerm_set_cursor_style] = NULL, 420 [kTerm_enter_strikethrough_mode] = "\033[9m", 421 [kTerm_set_rgb_foreground] = NULL, 422 [kTerm_set_rgb_background] = NULL, 423 [kTerm_set_cursor_color] = NULL, 424 [kTerm_reset_cursor_color] = NULL, 425 [kTerm_set_underline_style] = "\033[4\072%p1%dm", 426 }, 427 .keys = { 428 [kTermKey_backspace] = {"\177", NULL}, 429 [kTermKey_beg] = {NULL, NULL}, 430 [kTermKey_btab] = {"\033[Z", NULL}, 431 [kTermKey_clear] = {NULL, NULL}, 432 [kTermKey_dc] = {"\033[3~", NULL}, 433 [kTermKey_end] = {"\033OF", "\033[1;2F"}, 434 [kTermKey_find] = {NULL, NULL}, 435 [kTermKey_home] = {"\033OH", "\033[1;2H"}, 436 [kTermKey_ic] = {NULL, NULL}, 437 [kTermKey_npage] = {"\033[6~", NULL}, 438 [kTermKey_ppage] = {"\033[5~", NULL}, 439 [kTermKey_select] = {NULL, NULL}, 440 [kTermKey_suspend] = {NULL, NULL}, 441 [kTermKey_undo] = {NULL, NULL}, 442 }, 443 .f_keys = { 444 // note: offset by one, f_keys[0] is F1 and so on 445 [0] = "\033OP", 446 [1] = "\033OQ", 447 [2] = "\033OR", 448 [3] = "\033OS", 449 [4] = "\033[15~", 450 [5] = "\033[17~", 451 [6] = "\033[18~", 452 [7] = "\033[19~", 453 [8] = "\033[20~", 454 [9] = "\033[21~", 455 [10] = "\033[23~", 456 [11] = "\033[24~", 457 [12] = "\033[1;2P", 458 [13] = "\033[1;2Q", 459 [14] = "\033[1;2R", 460 [15] = "\033[1;2S", 461 [16] = "\033[15;2~", 462 [17] = "\033[17;2~", 463 [18] = "\033[18;2~", 464 [19] = "\033[19;2~", 465 [20] = "\033[20;2~", 466 [21] = "\033[21;2~", 467 [22] = "\033[23;2~", 468 [23] = "\033[24;2~", 469 }, 470 }; 471 472 static const TerminfoEntry linux_16colour_terminfo = { 473 .bce = true, 474 .has_Tc_or_RGB = false, 475 .Su = false, 476 .max_colors = 8, 477 .lines = -1, 478 .columns = -1, 479 .defs = { 480 [kTerm_carriage_return] = "\r", 481 [kTerm_change_scroll_region] = "\033[%i%p1%d;%p2%dr", 482 [kTerm_clear_screen] = "\033[H\033[J", 483 [kTerm_clr_eol] = "\033[K", 484 [kTerm_clr_eos] = "\033[J", 485 [kTerm_cursor_address] = "\033[%i%p1%d;%p2%dH", 486 [kTerm_cursor_down] = "\n", 487 [kTerm_cursor_invisible] = "\033[?25l\033[?1c", 488 [kTerm_cursor_left] = "\b", 489 [kTerm_cursor_home] = "\033[H", 490 [kTerm_cursor_normal] = "\033[?25h\033[?0c", 491 [kTerm_cursor_up] = "\033[A", 492 [kTerm_cursor_right] = "\033[C", 493 [kTerm_delete_line] = "\033[M", 494 [kTerm_enter_blink_mode] = "\033[5m", 495 [kTerm_enter_bold_mode] = "\033[1m", 496 [kTerm_enter_ca_mode] = NULL, 497 [kTerm_enter_dim_mode] = "\033[2m", 498 [kTerm_enter_italics_mode] = NULL, 499 [kTerm_enter_reverse_mode] = "\033[7m", 500 [kTerm_enter_secure_mode] = NULL, 501 [kTerm_enter_standout_mode] = "\033[7m", 502 [kTerm_enter_underline_mode] = "\033[4m", 503 [kTerm_erase_chars] = "\033[%p1%dX", 504 [kTerm_exit_attribute_mode] = "\033[m\017", 505 [kTerm_exit_ca_mode] = NULL, 506 [kTerm_from_status_line] = NULL, 507 [kTerm_insert_line] = "\033[L", 508 [kTerm_keypad_local] = NULL, 509 [kTerm_keypad_xmit] = NULL, 510 [kTerm_parm_delete_line] = "\033[%p1%dM", 511 [kTerm_parm_down_cursor] = "\033[%p1%dB", 512 [kTerm_parm_insert_line] = "\033[%p1%dL", 513 [kTerm_parm_left_cursor] = "\033[%p1%dD", 514 [kTerm_parm_right_cursor] = "\033[%p1%dC", 515 [kTerm_parm_up_cursor] = "\033[%p1%dA", 516 [kTerm_set_a_background] = "\033[4%p1%dm", 517 [kTerm_set_a_foreground] = "\033[3%p1%dm", 518 [kTerm_set_attributes] = "\033[0;10%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p6%t;1%;m%?%p9%t^N%e\017%;", 519 [kTerm_set_lr_margin] = NULL, 520 [kTerm_to_status_line] = NULL, 521 [kTerm_reset_cursor_style] = NULL, 522 [kTerm_set_cursor_style] = NULL, 523 [kTerm_enter_strikethrough_mode] = NULL, 524 [kTerm_set_rgb_foreground] = NULL, 525 [kTerm_set_rgb_background] = NULL, 526 [kTerm_set_cursor_color] = NULL, 527 [kTerm_reset_cursor_color] = NULL, 528 [kTerm_set_underline_style] = NULL, 529 }, 530 .keys = { 531 [kTermKey_backspace] = {"\177", NULL}, 532 [kTermKey_beg] = {NULL, NULL}, 533 [kTermKey_btab] = {"\033^I", NULL}, 534 [kTermKey_clear] = {NULL, NULL}, 535 [kTermKey_dc] = {"\033[3~", NULL}, 536 [kTermKey_end] = {"\033[4~", NULL}, 537 [kTermKey_find] = {NULL, NULL}, 538 [kTermKey_home] = {"\033[1~", NULL}, 539 [kTermKey_ic] = {"\033[2~", NULL}, 540 [kTermKey_npage] = {"\033[6~", NULL}, 541 [kTermKey_ppage] = {"\033[5~", NULL}, 542 [kTermKey_select] = {NULL, NULL}, 543 [kTermKey_suspend] = {"^Z", NULL}, 544 [kTermKey_undo] = {NULL, NULL}, 545 }, 546 .f_keys = { 547 // note: offset by one, f_keys[0] is F1 and so on 548 [0] = "\033[[A", 549 [1] = "\033[[B", 550 [2] = "\033[[C", 551 [3] = "\033[[D", 552 [4] = "\033[[E", 553 [5] = "\033[17~", 554 [6] = "\033[18~", 555 [7] = "\033[19~", 556 [8] = "\033[20~", 557 [9] = "\033[21~", 558 [10] = "\033[23~", 559 [11] = "\033[24~", 560 [12] = "\033[25~", 561 [13] = "\033[26~", 562 [14] = "\033[28~", 563 [15] = "\033[29~", 564 [16] = "\033[31~", 565 [17] = "\033[32~", 566 [18] = "\033[33~", 567 [19] = "\033[34~", 568 }, 569 }; 570 571 static const TerminfoEntry putty_256colour_terminfo = { 572 .bce = true, 573 .has_Tc_or_RGB = false, 574 .Su = false, 575 .max_colors = 0x100, 576 .lines = -1, 577 .columns = -1, 578 .defs = { 579 [kTerm_carriage_return] = "\r", 580 [kTerm_change_scroll_region] = "\033[%i%p1%d;%p2%dr", 581 [kTerm_clear_screen] = "\033[H\033[J", 582 [kTerm_clr_eol] = "\033[K", 583 [kTerm_clr_eos] = "\033[J", 584 [kTerm_cursor_address] = "\033[%i%p1%d;%p2%dH", 585 [kTerm_cursor_down] = "\033D", 586 [kTerm_cursor_invisible] = "\033[?25l", 587 [kTerm_cursor_left] = "\b", 588 [kTerm_cursor_home] = "\033[H", 589 [kTerm_cursor_normal] = "\033[?25h", 590 [kTerm_cursor_up] = "\033M", 591 [kTerm_cursor_right] = "\033[C", 592 [kTerm_delete_line] = "\033[M", 593 [kTerm_enter_blink_mode] = "\033[5m", 594 [kTerm_enter_bold_mode] = "\033[1m", 595 [kTerm_enter_ca_mode] = "\033[?1049h", 596 [kTerm_enter_dim_mode] = NULL, 597 [kTerm_enter_italics_mode] = NULL, 598 [kTerm_enter_reverse_mode] = "\033[7m", 599 [kTerm_enter_secure_mode] = NULL, 600 [kTerm_enter_standout_mode] = "\033[7m", 601 [kTerm_enter_underline_mode] = "\033[4m", 602 [kTerm_erase_chars] = "\033[%p1%dX", 603 [kTerm_exit_attribute_mode] = "\033[m\017", 604 [kTerm_exit_ca_mode] = "\033[?1049l", 605 [kTerm_from_status_line] = "\a", 606 [kTerm_insert_line] = "\033[L", 607 [kTerm_keypad_local] = "\033[?1l\033>", 608 [kTerm_keypad_xmit] = "\033[?1h\033=", 609 [kTerm_parm_delete_line] = "\033[%p1%dM", 610 [kTerm_parm_down_cursor] = "\033[%p1%dB", 611 [kTerm_parm_insert_line] = "\033[%p1%dL", 612 [kTerm_parm_left_cursor] = "\033[%p1%dD", 613 [kTerm_parm_right_cursor] = "\033[%p1%dC", 614 [kTerm_parm_up_cursor] = "\033[%p1%dA", 615 [kTerm_set_a_background] = "\033[%?%p1%{8}%<%t4%p1%d%e%p1%{16}%<%t10%p1%{8}%-%d%e48;5;%p1%d%;m", 616 [kTerm_set_a_foreground] = "\033[%?%p1%{8}%<%t3%p1%d%e%p1%{16}%<%t9%p1%{8}%-%d%e38;5;%p1%d%;m", 617 [kTerm_set_attributes] = "\033[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t^N%e\017%;", 618 [kTerm_set_lr_margin] = NULL, 619 [kTerm_to_status_line] = "\033]0;", 620 [kTerm_reset_cursor_style] = NULL, 621 [kTerm_set_cursor_style] = NULL, 622 [kTerm_enter_strikethrough_mode] = "\033[9m", 623 [kTerm_set_rgb_foreground] = NULL, 624 [kTerm_set_rgb_background] = NULL, 625 [kTerm_set_cursor_color] = NULL, 626 [kTerm_reset_cursor_color] = NULL, 627 [kTerm_set_underline_style] = NULL, 628 }, 629 .keys = { 630 [kTermKey_backspace] = {"\177", NULL}, 631 [kTermKey_beg] = {NULL, NULL}, 632 [kTermKey_btab] = {"\033[Z", NULL}, 633 [kTermKey_clear] = {NULL, NULL}, 634 [kTermKey_dc] = {"\033[3~", NULL}, 635 [kTermKey_end] = {"\033[4~", NULL}, 636 [kTermKey_find] = {NULL, NULL}, 637 [kTermKey_home] = {"\033[1~", NULL}, 638 [kTermKey_ic] = {"\033[2~", NULL}, 639 [kTermKey_npage] = {"\033[6~", NULL}, 640 [kTermKey_ppage] = {"\033[5~", NULL}, 641 [kTermKey_select] = {NULL, NULL}, 642 [kTermKey_suspend] = {"^Z", NULL}, 643 [kTermKey_undo] = {NULL, NULL}, 644 }, 645 .f_keys = { 646 // note: offset by one, f_keys[0] is F1 and so on 647 [0] = "\033[11~", 648 [1] = "\033[12~", 649 [2] = "\033[13~", 650 [3] = "\033[14~", 651 [4] = "\033[15~", 652 [5] = "\033[17~", 653 [6] = "\033[18~", 654 [7] = "\033[19~", 655 [8] = "\033[20~", 656 [9] = "\033[21~", 657 [10] = "\033[23~", 658 [11] = "\033[24~", 659 [12] = "\033[25~", 660 [13] = "\033[26~", 661 [14] = "\033[28~", 662 [15] = "\033[29~", 663 [16] = "\033[31~", 664 [17] = "\033[32~", 665 [18] = "\033[33~", 666 [19] = "\033[34~", 667 }, 668 }; 669 670 static const TerminfoEntry rxvt_256colour_terminfo = { 671 .bce = true, 672 .has_Tc_or_RGB = false, 673 .Su = false, 674 .max_colors = 0x100, 675 .lines = 24, 676 .columns = 80, 677 .defs = { 678 [kTerm_carriage_return] = "\r", 679 [kTerm_change_scroll_region] = "\033[%i%p1%d;%p2%dr", 680 [kTerm_clear_screen] = "\033[H\033[2J", 681 [kTerm_clr_eol] = "\033[K", 682 [kTerm_clr_eos] = "\033[J", 683 [kTerm_cursor_address] = "\033[%i%p1%d;%p2%dH", 684 [kTerm_cursor_down] = "\n", 685 [kTerm_cursor_invisible] = "\033[?25l", 686 [kTerm_cursor_left] = "\b", 687 [kTerm_cursor_home] = "\033[H", 688 [kTerm_cursor_normal] = "\033[?25h", 689 [kTerm_cursor_up] = "\033[A", 690 [kTerm_cursor_right] = "\033[C", 691 [kTerm_delete_line] = "\033[M", 692 [kTerm_enter_blink_mode] = "\033[5m", 693 [kTerm_enter_bold_mode] = "\033[1m", 694 [kTerm_enter_ca_mode] = "\0337\033[?47h", 695 [kTerm_enter_dim_mode] = NULL, 696 [kTerm_enter_italics_mode] = NULL, 697 [kTerm_enter_reverse_mode] = "\033[7m", 698 [kTerm_enter_secure_mode] = NULL, 699 [kTerm_enter_standout_mode] = "\033[7m", 700 [kTerm_enter_underline_mode] = "\033[4m", 701 [kTerm_erase_chars] = NULL, 702 [kTerm_exit_attribute_mode] = "\033[m\017", 703 [kTerm_exit_ca_mode] = "\033[2J\033[?47l\0338", 704 [kTerm_from_status_line] = NULL, 705 [kTerm_insert_line] = "\033[L", 706 [kTerm_keypad_local] = "\033>", 707 [kTerm_keypad_xmit] = "\033=", 708 [kTerm_parm_delete_line] = "\033[%p1%dM", 709 [kTerm_parm_down_cursor] = "\033[%p1%dB", 710 [kTerm_parm_insert_line] = "\033[%p1%dL", 711 [kTerm_parm_left_cursor] = "\033[%p1%dD", 712 [kTerm_parm_right_cursor] = "\033[%p1%dC", 713 [kTerm_parm_up_cursor] = "\033[%p1%dA", 714 [kTerm_set_a_background] = "\033[%?%p1%{8}%<%t4%p1%d%e%p1%{16}%<%t10%p1%{8}%-%d%e48;5;%p1%d%;m", 715 [kTerm_set_a_foreground] = "\033[%?%p1%{8}%<%t3%p1%d%e%p1%{16}%<%t9%p1%{8}%-%d%e38;5;%p1%d%;m", 716 [kTerm_set_attributes] = "\033[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t^N%e\017%;", 717 [kTerm_set_lr_margin] = NULL, 718 [kTerm_to_status_line] = NULL, 719 [kTerm_reset_cursor_style] = NULL, 720 [kTerm_set_cursor_style] = NULL, 721 [kTerm_enter_strikethrough_mode] = NULL, 722 [kTerm_set_rgb_foreground] = NULL, 723 [kTerm_set_rgb_background] = NULL, 724 [kTerm_set_cursor_color] = NULL, 725 [kTerm_reset_cursor_color] = NULL, 726 [kTerm_set_underline_style] = NULL, 727 }, 728 .keys = { 729 [kTermKey_backspace] = {"\b", NULL}, 730 [kTermKey_beg] = {NULL, NULL}, 731 [kTermKey_btab] = {"\033[Z", NULL}, 732 [kTermKey_clear] = {NULL, NULL}, 733 [kTermKey_dc] = {"\033[3~", "\033[3$"}, 734 [kTermKey_end] = {"\033[8~", "\033[8$"}, 735 [kTermKey_find] = {"\033[1~", NULL}, 736 [kTermKey_home] = {"\033[7~", "\033[7$"}, 737 [kTermKey_ic] = {"\033[2~", "\033[2$"}, 738 [kTermKey_npage] = {"\033[6~", NULL}, 739 [kTermKey_ppage] = {"\033[5~", NULL}, 740 [kTermKey_select] = {"\033[4~", NULL}, 741 [kTermKey_suspend] = {NULL, NULL}, 742 [kTermKey_undo] = {NULL, NULL}, 743 }, 744 .f_keys = { 745 // note: offset by one, f_keys[0] is F1 and so on 746 [0] = "\033[11~", 747 [1] = "\033[12~", 748 [2] = "\033[13~", 749 [3] = "\033[14~", 750 [4] = "\033[15~", 751 [5] = "\033[17~", 752 [6] = "\033[18~", 753 [7] = "\033[19~", 754 [8] = "\033[20~", 755 [9] = "\033[21~", 756 [10] = "\033[23~", 757 [11] = "\033[24~", 758 [12] = "\033[25~", 759 [13] = "\033[26~", 760 [14] = "\033[28~", 761 [15] = "\033[29~", 762 [16] = "\033[31~", 763 [17] = "\033[32~", 764 [18] = "\033[33~", 765 [19] = "\033[34~", 766 [20] = "\033[23$", 767 [21] = "\033[24$", 768 [22] = "\033[11\136", 769 [23] = "\033[12\136", 770 [24] = "\033[13\136", 771 [25] = "\033[14\136", 772 [26] = "\033[15\136", 773 [27] = "\033[17\136", 774 [28] = "\033[18\136", 775 [29] = "\033[19\136", 776 [30] = "\033[20\136", 777 [31] = "\033[21\136", 778 [32] = "\033[23\136", 779 [33] = "\033[24\136", 780 [34] = "\033[25\136", 781 [35] = "\033[26\136", 782 [36] = "\033[28\136", 783 [37] = "\033[29\136", 784 [38] = "\033[31\136", 785 [39] = "\033[32\136", 786 [40] = "\033[33\136", 787 [41] = "\033[34\136", 788 [42] = "\033[23@", 789 [43] = "\033[24@", 790 }, 791 }; 792 793 static const TerminfoEntry screen_256colour_terminfo = { 794 .bce = false, 795 .has_Tc_or_RGB = false, 796 .Su = false, 797 .max_colors = 0x100, 798 .lines = 24, 799 .columns = 80, 800 .defs = { 801 [kTerm_carriage_return] = "\r", 802 [kTerm_change_scroll_region] = "\033[%i%p1%d;%p2%dr", 803 [kTerm_clear_screen] = "\033[H\033[J", 804 [kTerm_clr_eol] = "\033[K", 805 [kTerm_clr_eos] = "\033[J", 806 [kTerm_cursor_address] = "\033[%i%p1%d;%p2%dH", 807 [kTerm_cursor_down] = "\n", 808 [kTerm_cursor_invisible] = "\033[?25l", 809 [kTerm_cursor_left] = "\b", 810 [kTerm_cursor_home] = "\033[H", 811 [kTerm_cursor_normal] = "\033[34h\033[?25h", 812 [kTerm_cursor_up] = "\033M", 813 [kTerm_cursor_right] = "\033[C", 814 [kTerm_delete_line] = "\033[M", 815 [kTerm_enter_blink_mode] = "\033[5m", 816 [kTerm_enter_bold_mode] = "\033[1m", 817 [kTerm_enter_ca_mode] = "\033[?1049h", 818 [kTerm_enter_dim_mode] = "\033[2m", 819 [kTerm_enter_italics_mode] = NULL, 820 [kTerm_enter_reverse_mode] = "\033[7m", 821 [kTerm_enter_secure_mode] = NULL, 822 [kTerm_enter_standout_mode] = "\033[3m", 823 [kTerm_enter_underline_mode] = "\033[4m", 824 [kTerm_erase_chars] = NULL, 825 [kTerm_exit_attribute_mode] = "\033[m\017", 826 [kTerm_exit_ca_mode] = "\033[?1049l", 827 [kTerm_from_status_line] = NULL, 828 [kTerm_insert_line] = "\033[L", 829 [kTerm_keypad_local] = "\033[?1l\033>", 830 [kTerm_keypad_xmit] = "\033[?1h\033=", 831 [kTerm_parm_delete_line] = "\033[%p1%dM", 832 [kTerm_parm_down_cursor] = "\033[%p1%dB", 833 [kTerm_parm_insert_line] = "\033[%p1%dL", 834 [kTerm_parm_left_cursor] = "\033[%p1%dD", 835 [kTerm_parm_right_cursor] = "\033[%p1%dC", 836 [kTerm_parm_up_cursor] = "\033[%p1%dA", 837 [kTerm_set_a_background] = "\033[%?%p1%{8}%<%t4%p1%d%e%p1%{16}%<%t10%p1%{8}%-%d%e48;5;%p1%d%;m", 838 [kTerm_set_a_foreground] = "\033[%?%p1%{8}%<%t3%p1%d%e%p1%{16}%<%t9%p1%{8}%-%d%e38;5;%p1%d%;m", 839 [kTerm_set_attributes] = "\033[0%?%p6%t;1%;%?%p1%t;3%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p5%t;2%;m%?%p9%t^N%e\017%;", 840 [kTerm_set_lr_margin] = NULL, 841 [kTerm_to_status_line] = NULL, 842 [kTerm_reset_cursor_style] = NULL, 843 [kTerm_set_cursor_style] = NULL, 844 [kTerm_enter_strikethrough_mode] = NULL, 845 [kTerm_set_rgb_foreground] = NULL, 846 [kTerm_set_rgb_background] = NULL, 847 [kTerm_set_cursor_color] = NULL, 848 [kTerm_reset_cursor_color] = NULL, 849 [kTerm_set_underline_style] = NULL, 850 }, 851 .keys = { 852 [kTermKey_backspace] = {"\177", NULL}, 853 [kTermKey_beg] = {NULL, NULL}, 854 [kTermKey_btab] = {"\033[Z", NULL}, 855 [kTermKey_clear] = {NULL, NULL}, 856 [kTermKey_dc] = {"\033[3~", NULL}, 857 [kTermKey_end] = {"\033[4~", NULL}, 858 [kTermKey_find] = {NULL, NULL}, 859 [kTermKey_home] = {"\033[1~", NULL}, 860 [kTermKey_ic] = {"\033[2~", NULL}, 861 [kTermKey_npage] = {"\033[6~", NULL}, 862 [kTermKey_ppage] = {"\033[5~", NULL}, 863 [kTermKey_select] = {NULL, NULL}, 864 [kTermKey_suspend] = {NULL, NULL}, 865 [kTermKey_undo] = {NULL, NULL}, 866 }, 867 .f_keys = { 868 // note: offset by one, f_keys[0] is F1 and so on 869 [0] = "\033OP", 870 [1] = "\033OQ", 871 [2] = "\033OR", 872 [3] = "\033OS", 873 [4] = "\033[15~", 874 [5] = "\033[17~", 875 [6] = "\033[18~", 876 [7] = "\033[19~", 877 [8] = "\033[20~", 878 [9] = "\033[21~", 879 [10] = "\033[23~", 880 [11] = "\033[24~", 881 }, 882 }; 883 884 static const TerminfoEntry st_256colour_terminfo = { 885 .bce = true, 886 .has_Tc_or_RGB = false, 887 .Su = false, 888 .max_colors = 0x100, 889 .lines = 24, 890 .columns = 80, 891 .defs = { 892 [kTerm_carriage_return] = "\r", 893 [kTerm_change_scroll_region] = "\033[%i%p1%d;%p2%dr", 894 [kTerm_clear_screen] = "\033[H\033[2J", 895 [kTerm_clr_eol] = "\033[K", 896 [kTerm_clr_eos] = "\033[J", 897 [kTerm_cursor_address] = "\033[%i%p1%d;%p2%dH", 898 [kTerm_cursor_down] = "\n", 899 [kTerm_cursor_invisible] = "\033[?25l", 900 [kTerm_cursor_left] = "\b", 901 [kTerm_cursor_home] = "\033[H", 902 [kTerm_cursor_normal] = "\033[?25h", 903 [kTerm_cursor_up] = "\033[A", 904 [kTerm_cursor_right] = "\033[C", 905 [kTerm_delete_line] = "\033[M", 906 [kTerm_enter_blink_mode] = "\033[5m", 907 [kTerm_enter_bold_mode] = "\033[1m", 908 [kTerm_enter_ca_mode] = "\033[?1049h", 909 [kTerm_enter_dim_mode] = "\033[2m", 910 [kTerm_enter_italics_mode] = "\033[3m", 911 [kTerm_enter_reverse_mode] = "\033[7m", 912 [kTerm_enter_secure_mode] = "\033[8m", 913 [kTerm_enter_standout_mode] = "\033[7m", 914 [kTerm_enter_underline_mode] = "\033[4m", 915 [kTerm_erase_chars] = "\033[%p1%dX", 916 [kTerm_exit_attribute_mode] = "\033[0m", 917 [kTerm_exit_ca_mode] = "\033[?1049l", 918 [kTerm_from_status_line] = "\a", 919 [kTerm_insert_line] = "\033[L", 920 [kTerm_keypad_local] = "\033[?1l\033>", 921 [kTerm_keypad_xmit] = "\033[?1h\033=", 922 [kTerm_parm_delete_line] = "\033[%p1%dM", 923 [kTerm_parm_down_cursor] = "\033[%p1%dB", 924 [kTerm_parm_insert_line] = "\033[%p1%dL", 925 [kTerm_parm_left_cursor] = "\033[%p1%dD", 926 [kTerm_parm_right_cursor] = "\033[%p1%dC", 927 [kTerm_parm_up_cursor] = "\033[%p1%dA", 928 [kTerm_set_a_background] = "\033[%?%p1%{8}%<%t4%p1%d%e%p1%{16}%<%t10%p1%{8}%-%d%e48;5;%p1%d%;m", 929 [kTerm_set_a_foreground] = "\033[%?%p1%{8}%<%t3%p1%d%e%p1%{16}%<%t9%p1%{8}%-%d%e38;5;%p1%d%;m", 930 [kTerm_set_attributes] = "%?%p9%t\033(0%e\033(B%;\033[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p7%t;8%;m", 931 [kTerm_set_lr_margin] = NULL, 932 [kTerm_to_status_line] = "\033]0;", 933 [kTerm_reset_cursor_style] = "\033[2 q", 934 [kTerm_set_cursor_style] = "\033[%p1%d q", 935 [kTerm_enter_strikethrough_mode] = "\033[9m", 936 [kTerm_set_rgb_foreground] = NULL, 937 [kTerm_set_rgb_background] = NULL, 938 [kTerm_set_cursor_color] = "\033]12;%p1%s\a", 939 [kTerm_reset_cursor_color] = NULL, 940 [kTerm_set_underline_style] = NULL, 941 }, 942 .keys = { 943 [kTermKey_backspace] = {"\177", NULL}, 944 [kTermKey_beg] = {NULL, NULL}, 945 [kTermKey_btab] = {NULL, NULL}, 946 [kTermKey_clear] = {"\033[3;5~", NULL}, 947 [kTermKey_dc] = {"\033[3~", "\033[3;2~"}, 948 [kTermKey_end] = {"\033[4~", "\033[1;2F"}, 949 [kTermKey_find] = {NULL, NULL}, 950 [kTermKey_home] = {"\033[1~", "\033[1;2H"}, 951 [kTermKey_ic] = {"\033[2~", "\033[2;2~"}, 952 [kTermKey_npage] = {"\033[6~", NULL}, 953 [kTermKey_ppage] = {"\033[5~", NULL}, 954 [kTermKey_select] = {NULL, NULL}, 955 [kTermKey_suspend] = {NULL, NULL}, 956 [kTermKey_undo] = {NULL, NULL}, 957 }, 958 .f_keys = { 959 // note: offset by one, f_keys[0] is F1 and so on 960 [0] = "\033OP", 961 [1] = "\033OQ", 962 [2] = "\033OR", 963 [3] = "\033OS", 964 [4] = "\033[15~", 965 [5] = "\033[17~", 966 [6] = "\033[18~", 967 [7] = "\033[19~", 968 [8] = "\033[20~", 969 [9] = "\033[21~", 970 [10] = "\033[23~", 971 [11] = "\033[24~", 972 [12] = "\033[1;2P", 973 [13] = "\033[1;2Q", 974 [14] = "\033[1;2R", 975 [15] = "\033[1;2S", 976 [16] = "\033[15;2~", 977 [17] = "\033[17;2~", 978 [18] = "\033[18;2~", 979 [19] = "\033[19;2~", 980 [20] = "\033[20;2~", 981 [21] = "\033[21;2~", 982 [22] = "\033[23;2~", 983 [23] = "\033[24;2~", 984 [24] = "\033[1;5P", 985 [25] = "\033[1;5Q", 986 [26] = "\033[1;5R", 987 [27] = "\033[1;5S", 988 [28] = "\033[15;5~", 989 [29] = "\033[17;5~", 990 [30] = "\033[18;5~", 991 [31] = "\033[19;5~", 992 [32] = "\033[20;5~", 993 [33] = "\033[21;5~", 994 [34] = "\033[23;5~", 995 [35] = "\033[24;5~", 996 [36] = "\033[1;6P", 997 [37] = "\033[1;6Q", 998 [38] = "\033[1;6R", 999 [39] = "\033[1;6S", 1000 [40] = "\033[15;6~", 1001 [41] = "\033[17;6~", 1002 [42] = "\033[18;6~", 1003 [43] = "\033[19;6~", 1004 [44] = "\033[20;6~", 1005 [45] = "\033[21;6~", 1006 [46] = "\033[23;6~", 1007 [47] = "\033[24;6~", 1008 [48] = "\033[1;3P", 1009 [49] = "\033[1;3Q", 1010 [50] = "\033[1;3R", 1011 [51] = "\033[1;3S", 1012 [52] = "\033[15;3~", 1013 [53] = "\033[17;3~", 1014 [54] = "\033[18;3~", 1015 [55] = "\033[19;3~", 1016 [56] = "\033[20;3~", 1017 [57] = "\033[21;3~", 1018 [58] = "\033[23;3~", 1019 [59] = "\033[24;3~", 1020 [60] = "\033[1;4P", 1021 [61] = "\033[1;4Q", 1022 [62] = "\033[1;4R", 1023 }, 1024 }; 1025 1026 static const TerminfoEntry tmux_256colour_terminfo = { 1027 .bce = false, 1028 .has_Tc_or_RGB = false, 1029 .Su = false, 1030 .max_colors = 0x100, 1031 .lines = 24, 1032 .columns = 80, 1033 .defs = { 1034 [kTerm_carriage_return] = "\r", 1035 [kTerm_change_scroll_region] = "\033[%i%p1%d;%p2%dr", 1036 [kTerm_clear_screen] = "\033[H\033[J", 1037 [kTerm_clr_eol] = "\033[K", 1038 [kTerm_clr_eos] = "\033[J", 1039 [kTerm_cursor_address] = "\033[%i%p1%d;%p2%dH", 1040 [kTerm_cursor_down] = "\n", 1041 [kTerm_cursor_invisible] = "\033[?25l", 1042 [kTerm_cursor_left] = "\b", 1043 [kTerm_cursor_home] = "\033[H", 1044 [kTerm_cursor_normal] = "\033[34h\033[?25h", 1045 [kTerm_cursor_up] = "\033M", 1046 [kTerm_cursor_right] = "\033[C", 1047 [kTerm_delete_line] = "\033[M", 1048 [kTerm_enter_blink_mode] = "\033[5m", 1049 [kTerm_enter_bold_mode] = "\033[1m", 1050 [kTerm_enter_ca_mode] = "\033[?1049h", 1051 [kTerm_enter_dim_mode] = "\033[2m", 1052 [kTerm_enter_italics_mode] = "\033[3m", 1053 [kTerm_enter_reverse_mode] = "\033[7m", 1054 [kTerm_enter_secure_mode] = "\033[8m", 1055 [kTerm_enter_standout_mode] = "\033[7m", 1056 [kTerm_enter_underline_mode] = "\033[4m", 1057 [kTerm_erase_chars] = NULL, 1058 [kTerm_exit_attribute_mode] = "\033[m\017", 1059 [kTerm_exit_ca_mode] = "\033[?1049l", 1060 [kTerm_from_status_line] = "\a", 1061 [kTerm_insert_line] = "\033[L", 1062 [kTerm_keypad_local] = "\033[?1l\033>", 1063 [kTerm_keypad_xmit] = "\033[?1h\033=", 1064 [kTerm_parm_delete_line] = "\033[%p1%dM", 1065 [kTerm_parm_down_cursor] = "\033[%p1%dB", 1066 [kTerm_parm_insert_line] = "\033[%p1%dL", 1067 [kTerm_parm_left_cursor] = "\033[%p1%dD", 1068 [kTerm_parm_right_cursor] = "\033[%p1%dC", 1069 [kTerm_parm_up_cursor] = "\033[%p1%dA", 1070 [kTerm_set_a_background] = "\033[%?%p1%{8}%<%t4%p1%d%e%p1%{16}%<%t10%p1%{8}%-%d%e48;5;%p1%d%;m", 1071 [kTerm_set_a_foreground] = "\033[%?%p1%{8}%<%t3%p1%d%e%p1%{16}%<%t9%p1%{8}%-%d%e38;5;%p1%d%;m", 1072 [kTerm_set_attributes] = "\033[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p7%t;8%;m%?%p9%t^N%e\017%;", 1073 [kTerm_set_lr_margin] = NULL, 1074 [kTerm_to_status_line] = "\033]0;", 1075 [kTerm_reset_cursor_style] = "\033[2 q", 1076 [kTerm_set_cursor_style] = "\033[%p1%d q", 1077 [kTerm_enter_strikethrough_mode] = "\033[9m", 1078 [kTerm_set_rgb_foreground] = NULL, 1079 [kTerm_set_rgb_background] = NULL, 1080 [kTerm_set_cursor_color] = "\033]12;%p1%s\a", 1081 [kTerm_reset_cursor_color] = "\033]112\a", 1082 [kTerm_set_underline_style] = "\033[4\072%p1%dm", 1083 }, 1084 .keys = { 1085 [kTermKey_backspace] = {"\177", NULL}, 1086 [kTermKey_beg] = {NULL, NULL}, 1087 [kTermKey_btab] = {"\033[Z", NULL}, 1088 [kTermKey_clear] = {NULL, NULL}, 1089 [kTermKey_dc] = {"\033[3~", "\033[3;2~"}, 1090 [kTermKey_end] = {"\033[4~", "\033[1;2F"}, 1091 [kTermKey_find] = {NULL, NULL}, 1092 [kTermKey_home] = {"\033[1~", "\033[1;2H"}, 1093 [kTermKey_ic] = {"\033[2~", "\033[2;2~"}, 1094 [kTermKey_npage] = {"\033[6~", NULL}, 1095 [kTermKey_ppage] = {"\033[5~", NULL}, 1096 [kTermKey_select] = {NULL, NULL}, 1097 [kTermKey_suspend] = {NULL, NULL}, 1098 [kTermKey_undo] = {NULL, NULL}, 1099 }, 1100 .f_keys = { 1101 // note: offset by one, f_keys[0] is F1 and so on 1102 [0] = "\033OP", 1103 [1] = "\033OQ", 1104 [2] = "\033OR", 1105 [3] = "\033OS", 1106 [4] = "\033[15~", 1107 [5] = "\033[17~", 1108 [6] = "\033[18~", 1109 [7] = "\033[19~", 1110 [8] = "\033[20~", 1111 [9] = "\033[21~", 1112 [10] = "\033[23~", 1113 [11] = "\033[24~", 1114 [12] = "\033[1;2P", 1115 [13] = "\033[1;2Q", 1116 [14] = "\033[1;2R", 1117 [15] = "\033[1;2S", 1118 [16] = "\033[15;2~", 1119 [17] = "\033[17;2~", 1120 [18] = "\033[18;2~", 1121 [19] = "\033[19;2~", 1122 [20] = "\033[20;2~", 1123 [21] = "\033[21;2~", 1124 [22] = "\033[23;2~", 1125 [23] = "\033[24;2~", 1126 [24] = "\033[1;5P", 1127 [25] = "\033[1;5Q", 1128 [26] = "\033[1;5R", 1129 [27] = "\033[1;5S", 1130 [28] = "\033[15;5~", 1131 [29] = "\033[17;5~", 1132 [30] = "\033[18;5~", 1133 [31] = "\033[19;5~", 1134 [32] = "\033[20;5~", 1135 [33] = "\033[21;5~", 1136 [34] = "\033[23;5~", 1137 [35] = "\033[24;5~", 1138 [36] = "\033[1;6P", 1139 [37] = "\033[1;6Q", 1140 [38] = "\033[1;6R", 1141 [39] = "\033[1;6S", 1142 [40] = "\033[15;6~", 1143 [41] = "\033[17;6~", 1144 [42] = "\033[18;6~", 1145 [43] = "\033[19;6~", 1146 [44] = "\033[20;6~", 1147 [45] = "\033[21;6~", 1148 [46] = "\033[23;6~", 1149 [47] = "\033[24;6~", 1150 [48] = "\033[1;3P", 1151 [49] = "\033[1;3Q", 1152 [50] = "\033[1;3R", 1153 [51] = "\033[1;3S", 1154 [52] = "\033[15;3~", 1155 [53] = "\033[17;3~", 1156 [54] = "\033[18;3~", 1157 [55] = "\033[19;3~", 1158 [56] = "\033[20;3~", 1159 [57] = "\033[21;3~", 1160 [58] = "\033[23;3~", 1161 [59] = "\033[24;3~", 1162 [60] = "\033[1;4P", 1163 [61] = "\033[1;4Q", 1164 [62] = "\033[1;4R", 1165 }, 1166 }; 1167 1168 static const TerminfoEntry vte_256colour_terminfo = { 1169 .bce = true, 1170 .has_Tc_or_RGB = false, 1171 .Su = false, 1172 .max_colors = 0x100, 1173 .lines = 24, 1174 .columns = 80, 1175 .defs = { 1176 [kTerm_carriage_return] = "\r", 1177 [kTerm_change_scroll_region] = "\033[%i%p1%d;%p2%dr", 1178 [kTerm_clear_screen] = "\033[H\033[2J", 1179 [kTerm_clr_eol] = "\033[K", 1180 [kTerm_clr_eos] = "\033[J", 1181 [kTerm_cursor_address] = "\033[%i%p1%d;%p2%dH", 1182 [kTerm_cursor_down] = "\n", 1183 [kTerm_cursor_invisible] = "\033[?25l", 1184 [kTerm_cursor_left] = "\b", 1185 [kTerm_cursor_home] = "\033[H", 1186 [kTerm_cursor_normal] = "\033[?25h", 1187 [kTerm_cursor_up] = "\033[A", 1188 [kTerm_cursor_right] = "\033[C", 1189 [kTerm_delete_line] = "\033[M", 1190 [kTerm_enter_blink_mode] = "\033[5m", 1191 [kTerm_enter_bold_mode] = "\033[1m", 1192 [kTerm_enter_ca_mode] = "\033[?1049h\033[22;0;0t", 1193 [kTerm_enter_dim_mode] = "\033[2m", 1194 [kTerm_enter_italics_mode] = "\033[3m", 1195 [kTerm_enter_reverse_mode] = "\033[7m", 1196 [kTerm_enter_secure_mode] = "\033[8m", 1197 [kTerm_enter_standout_mode] = "\033[7m", 1198 [kTerm_enter_underline_mode] = "\033[4m", 1199 [kTerm_erase_chars] = "\033[%p1%dX", 1200 [kTerm_exit_attribute_mode] = "\033[0m\017", 1201 [kTerm_exit_ca_mode] = "\033[?1049l\033[23;0;0t", 1202 [kTerm_from_status_line] = NULL, 1203 [kTerm_insert_line] = "\033[L", 1204 [kTerm_keypad_local] = "\033[?1l\033>", 1205 [kTerm_keypad_xmit] = "\033[?1h\033=", 1206 [kTerm_parm_delete_line] = "\033[%p1%dM", 1207 [kTerm_parm_down_cursor] = "\033[%p1%dB", 1208 [kTerm_parm_insert_line] = "\033[%p1%dL", 1209 [kTerm_parm_left_cursor] = "\033[%p1%dD", 1210 [kTerm_parm_right_cursor] = "\033[%p1%dC", 1211 [kTerm_parm_up_cursor] = "\033[%p1%dA", 1212 [kTerm_set_a_background] = "\033[%?%p1%{8}%<%t4%p1%d%e%p1%{16}%<%t10%p1%{8}%-%d%e48;5;%p1%d%;m", 1213 [kTerm_set_a_foreground] = "\033[%?%p1%{8}%<%t3%p1%d%e%p1%{16}%<%t9%p1%{8}%-%d%e38;5;%p1%d%;m", 1214 [kTerm_set_attributes] = "\033[0%?%p6%t;1%;%?%p2%t;4%;%?%p4%t;5%;%?%p5%t;2%;%?%p7%t;8%;%?%p1%p3%|%t;7%;m%?%p9%t^N%e\017%;", 1215 [kTerm_set_lr_margin] = NULL, 1216 [kTerm_to_status_line] = NULL, 1217 [kTerm_reset_cursor_style] = "\033[1 q", 1218 [kTerm_set_cursor_style] = "\033[%p1%d q", 1219 [kTerm_enter_strikethrough_mode] = "\033[9m", 1220 [kTerm_set_rgb_foreground] = NULL, 1221 [kTerm_set_rgb_background] = NULL, 1222 [kTerm_set_cursor_color] = "\033]12;%p1%s\a", 1223 [kTerm_reset_cursor_color] = "\033]112\a", 1224 [kTerm_set_underline_style] = "\033[4\072%p1%dm", 1225 }, 1226 .keys = { 1227 [kTermKey_backspace] = {"\177", NULL}, 1228 [kTermKey_beg] = {NULL, NULL}, 1229 [kTermKey_btab] = {"\033[Z", NULL}, 1230 [kTermKey_clear] = {NULL, NULL}, 1231 [kTermKey_dc] = {"\033[3~", "\033[3;2~"}, 1232 [kTermKey_end] = {"\033OF", "\033[1;2F"}, 1233 [kTermKey_find] = {"\033[1~", NULL}, 1234 [kTermKey_home] = {"\033OH", "\033[1;2H"}, 1235 [kTermKey_ic] = {"\033[2~", "\033[2;2~"}, 1236 [kTermKey_npage] = {"\033[6~", NULL}, 1237 [kTermKey_ppage] = {"\033[5~", NULL}, 1238 [kTermKey_select] = {"\033[4~", NULL}, 1239 [kTermKey_suspend] = {NULL, NULL}, 1240 [kTermKey_undo] = {NULL, NULL}, 1241 }, 1242 .f_keys = { 1243 // note: offset by one, f_keys[0] is F1 and so on 1244 [0] = "\033OP", 1245 [1] = "\033OQ", 1246 [2] = "\033OR", 1247 [3] = "\033OS", 1248 [4] = "\033[15~", 1249 [5] = "\033[17~", 1250 [6] = "\033[18~", 1251 [7] = "\033[19~", 1252 [8] = "\033[20~", 1253 [9] = "\033[21~", 1254 [10] = "\033[23~", 1255 [11] = "\033[24~", 1256 [12] = "\033[1;2P", 1257 [13] = "\033[1;2Q", 1258 [14] = "\033[1;2R", 1259 [15] = "\033[1;2S", 1260 [16] = "\033[15;2~", 1261 [17] = "\033[17;2~", 1262 [18] = "\033[18;2~", 1263 [19] = "\033[19;2~", 1264 [20] = "\033[20;2~", 1265 [21] = "\033[21;2~", 1266 [22] = "\033[23;2~", 1267 [23] = "\033[24;2~", 1268 [24] = "\033[1;5P", 1269 [25] = "\033[1;5Q", 1270 [26] = "\033[1;5R", 1271 [27] = "\033[1;5S", 1272 [28] = "\033[15;5~", 1273 [29] = "\033[17;5~", 1274 [30] = "\033[18;5~", 1275 [31] = "\033[19;5~", 1276 [32] = "\033[20;5~", 1277 [33] = "\033[21;5~", 1278 [34] = "\033[23;5~", 1279 [35] = "\033[24;5~", 1280 [36] = "\033[1;6P", 1281 [37] = "\033[1;6Q", 1282 [38] = "\033[1;6R", 1283 [39] = "\033[1;6S", 1284 [40] = "\033[15;6~", 1285 [41] = "\033[17;6~", 1286 [42] = "\033[18;6~", 1287 [43] = "\033[19;6~", 1288 [44] = "\033[20;6~", 1289 [45] = "\033[21;6~", 1290 [46] = "\033[23;6~", 1291 [47] = "\033[24;6~", 1292 [48] = "\033[1;3P", 1293 [49] = "\033[1;3Q", 1294 [50] = "\033[1;3R", 1295 [51] = "\033[1;3S", 1296 [52] = "\033[15;3~", 1297 [53] = "\033[17;3~", 1298 [54] = "\033[18;3~", 1299 [55] = "\033[19;3~", 1300 [56] = "\033[20;3~", 1301 [57] = "\033[21;3~", 1302 [58] = "\033[23;3~", 1303 [59] = "\033[24;3~", 1304 [60] = "\033[1;4P", 1305 [61] = "\033[1;4Q", 1306 [62] = "\033[1;4R", 1307 }, 1308 }; 1309 1310 static const TerminfoEntry xterm_256colour_terminfo = { 1311 .bce = true, 1312 .has_Tc_or_RGB = false, 1313 .Su = false, 1314 .max_colors = 0x100, 1315 .lines = 24, 1316 .columns = 80, 1317 .defs = { 1318 [kTerm_carriage_return] = "\r", 1319 [kTerm_change_scroll_region] = "\033[%i%p1%d;%p2%dr", 1320 [kTerm_clear_screen] = "\033[H\033[2J", 1321 [kTerm_clr_eol] = "\033[K", 1322 [kTerm_clr_eos] = "\033[J", 1323 [kTerm_cursor_address] = "\033[%i%p1%d;%p2%dH", 1324 [kTerm_cursor_down] = "\n", 1325 [kTerm_cursor_invisible] = "\033[?25l", 1326 [kTerm_cursor_left] = "\b", 1327 [kTerm_cursor_home] = "\033[H", 1328 [kTerm_cursor_normal] = "\033[?12l\033[?25h", 1329 [kTerm_cursor_up] = "\033[A", 1330 [kTerm_cursor_right] = "\033[C", 1331 [kTerm_delete_line] = "\033[M", 1332 [kTerm_enter_blink_mode] = "\033[5m", 1333 [kTerm_enter_bold_mode] = "\033[1m", 1334 [kTerm_enter_ca_mode] = "\033[?1049h\033[22;0;0t", 1335 [kTerm_enter_dim_mode] = "\033[2m", 1336 [kTerm_enter_italics_mode] = "\033[3m", 1337 [kTerm_enter_reverse_mode] = "\033[7m", 1338 [kTerm_enter_secure_mode] = "\033[8m", 1339 [kTerm_enter_standout_mode] = "\033[7m", 1340 [kTerm_enter_underline_mode] = "\033[4m", 1341 [kTerm_erase_chars] = "\033[%p1%dX", 1342 [kTerm_exit_attribute_mode] = "\033(B\033[m", 1343 [kTerm_exit_ca_mode] = "\033[?1049l\033[23;0;0t", 1344 [kTerm_from_status_line] = NULL, 1345 [kTerm_insert_line] = "\033[L", 1346 [kTerm_keypad_local] = "\033[?1l\033>", 1347 [kTerm_keypad_xmit] = "\033[?1h\033=", 1348 [kTerm_parm_delete_line] = "\033[%p1%dM", 1349 [kTerm_parm_down_cursor] = "\033[%p1%dB", 1350 [kTerm_parm_insert_line] = "\033[%p1%dL", 1351 [kTerm_parm_left_cursor] = "\033[%p1%dD", 1352 [kTerm_parm_right_cursor] = "\033[%p1%dC", 1353 [kTerm_parm_up_cursor] = "\033[%p1%dA", 1354 [kTerm_set_a_background] = "\033[%?%p1%{8}%<%t4%p1%d%e%p1%{16}%<%t10%p1%{8}%-%d%e48;5;%p1%d%;m", 1355 [kTerm_set_a_foreground] = "\033[%?%p1%{8}%<%t3%p1%d%e%p1%{16}%<%t9%p1%{8}%-%d%e38;5;%p1%d%;m", 1356 [kTerm_set_attributes] = "%?%p9%t\033(0%e\033(B%;\033[0%?%p6%t;1%;%?%p5%t;2%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;%?%p7%t;8%;m", 1357 [kTerm_set_lr_margin] = "\033[?69h\033[%i%p1%d;%p2%ds", 1358 [kTerm_to_status_line] = NULL, 1359 [kTerm_reset_cursor_style] = "\033[2 q", 1360 [kTerm_set_cursor_style] = "\033[%p1%d q", 1361 [kTerm_enter_strikethrough_mode] = "\033[9m", 1362 [kTerm_set_rgb_foreground] = NULL, 1363 [kTerm_set_rgb_background] = NULL, 1364 [kTerm_set_cursor_color] = "\033]12;%p1%s\a", 1365 [kTerm_reset_cursor_color] = "\033]112\a", 1366 [kTerm_set_underline_style] = NULL, 1367 }, 1368 .keys = { 1369 [kTermKey_backspace] = {"\b", NULL}, 1370 [kTermKey_beg] = {"\033OE", NULL}, 1371 [kTermKey_btab] = {"\033[Z", NULL}, 1372 [kTermKey_clear] = {NULL, NULL}, 1373 [kTermKey_dc] = {"\033[3~", "\033[3;2~"}, 1374 [kTermKey_end] = {"\033OF", "\033[1;2F"}, 1375 [kTermKey_find] = {NULL, NULL}, 1376 [kTermKey_home] = {"\033OH", "\033[1;2H"}, 1377 [kTermKey_ic] = {"\033[2~", "\033[2;2~"}, 1378 [kTermKey_npage] = {"\033[6~", NULL}, 1379 [kTermKey_ppage] = {"\033[5~", NULL}, 1380 [kTermKey_select] = {NULL, NULL}, 1381 [kTermKey_suspend] = {NULL, NULL}, 1382 [kTermKey_undo] = {NULL, NULL}, 1383 }, 1384 .f_keys = { 1385 // note: offset by one, f_keys[0] is F1 and so on 1386 [0] = "\033OP", 1387 [1] = "\033OQ", 1388 [2] = "\033OR", 1389 [3] = "\033OS", 1390 [4] = "\033[15~", 1391 [5] = "\033[17~", 1392 [6] = "\033[18~", 1393 [7] = "\033[19~", 1394 [8] = "\033[20~", 1395 [9] = "\033[21~", 1396 [10] = "\033[23~", 1397 [11] = "\033[24~", 1398 [12] = "\033[1;2P", 1399 [13] = "\033[1;2Q", 1400 [14] = "\033[1;2R", 1401 [15] = "\033[1;2S", 1402 [16] = "\033[15;2~", 1403 [17] = "\033[17;2~", 1404 [18] = "\033[18;2~", 1405 [19] = "\033[19;2~", 1406 [20] = "\033[20;2~", 1407 [21] = "\033[21;2~", 1408 [22] = "\033[23;2~", 1409 [23] = "\033[24;2~", 1410 [24] = "\033[1;5P", 1411 [25] = "\033[1;5Q", 1412 [26] = "\033[1;5R", 1413 [27] = "\033[1;5S", 1414 [28] = "\033[15;5~", 1415 [29] = "\033[17;5~", 1416 [30] = "\033[18;5~", 1417 [31] = "\033[19;5~", 1418 [32] = "\033[20;5~", 1419 [33] = "\033[21;5~", 1420 [34] = "\033[23;5~", 1421 [35] = "\033[24;5~", 1422 [36] = "\033[1;6P", 1423 [37] = "\033[1;6Q", 1424 [38] = "\033[1;6R", 1425 [39] = "\033[1;6S", 1426 [40] = "\033[15;6~", 1427 [41] = "\033[17;6~", 1428 [42] = "\033[18;6~", 1429 [43] = "\033[19;6~", 1430 [44] = "\033[20;6~", 1431 [45] = "\033[21;6~", 1432 [46] = "\033[23;6~", 1433 [47] = "\033[24;6~", 1434 [48] = "\033[1;3P", 1435 [49] = "\033[1;3Q", 1436 [50] = "\033[1;3R", 1437 [51] = "\033[1;3S", 1438 [52] = "\033[15;3~", 1439 [53] = "\033[17;3~", 1440 [54] = "\033[18;3~", 1441 [55] = "\033[19;3~", 1442 [56] = "\033[20;3~", 1443 [57] = "\033[21;3~", 1444 [58] = "\033[23;3~", 1445 [59] = "\033[24;3~", 1446 [60] = "\033[1;4P", 1447 [61] = "\033[1;4Q", 1448 [62] = "\033[1;4R", 1449 }, 1450 }; 1451 1452 static const TerminfoEntry cygwin_terminfo = { 1453 .bce = false, 1454 .has_Tc_or_RGB = false, 1455 .Su = false, 1456 .max_colors = 8, 1457 .lines = -1, 1458 .columns = -1, 1459 .defs = { 1460 [kTerm_carriage_return] = "\r", 1461 [kTerm_change_scroll_region] = NULL, 1462 [kTerm_clear_screen] = "\033[H\033[J", 1463 [kTerm_clr_eol] = "\033[K", 1464 [kTerm_clr_eos] = "\033[J", 1465 [kTerm_cursor_address] = "\033[%i%p1%d;%p2%dH", 1466 [kTerm_cursor_down] = "\033[B", 1467 [kTerm_cursor_invisible] = NULL, 1468 [kTerm_cursor_left] = "\b", 1469 [kTerm_cursor_home] = "\033[H", 1470 [kTerm_cursor_normal] = NULL, 1471 [kTerm_cursor_up] = "\033[A", 1472 [kTerm_cursor_right] = "\033[C", 1473 [kTerm_delete_line] = "\033[M", 1474 [kTerm_enter_blink_mode] = NULL, 1475 [kTerm_enter_bold_mode] = "\033[1m", 1476 [kTerm_enter_ca_mode] = "\0337\033[?47h", 1477 [kTerm_enter_dim_mode] = NULL, 1478 [kTerm_enter_italics_mode] = NULL, 1479 [kTerm_enter_reverse_mode] = "\033[7m", 1480 [kTerm_enter_secure_mode] = "\033[8m", 1481 [kTerm_enter_standout_mode] = "\033[7m", 1482 [kTerm_enter_underline_mode] = "\033[4m", 1483 [kTerm_erase_chars] = NULL, 1484 [kTerm_exit_attribute_mode] = "\033[0;10m", 1485 [kTerm_exit_ca_mode] = "\033[2J\033[?47l\0338", 1486 [kTerm_from_status_line] = "\a", 1487 [kTerm_insert_line] = "\033[L", 1488 [kTerm_keypad_local] = NULL, 1489 [kTerm_keypad_xmit] = NULL, 1490 [kTerm_parm_delete_line] = "\033[%p1%dM", 1491 [kTerm_parm_down_cursor] = "\033[%p1%dB", 1492 [kTerm_parm_insert_line] = "\033[%p1%dL", 1493 [kTerm_parm_left_cursor] = "\033[%p1%dD", 1494 [kTerm_parm_right_cursor] = "\033[%p1%dC", 1495 [kTerm_parm_up_cursor] = "\033[%p1%dA", 1496 [kTerm_set_a_background] = "\033[4%p1%dm", 1497 [kTerm_set_a_foreground] = "\033[3%p1%dm", 1498 [kTerm_set_attributes] = "\033[0;10%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p6%t;1%;%?%p7%t;8%;%?%p9%t;11%;m", 1499 [kTerm_set_lr_margin] = NULL, 1500 [kTerm_to_status_line] = "\033];", 1501 [kTerm_reset_cursor_style] = NULL, 1502 [kTerm_set_cursor_style] = NULL, 1503 [kTerm_enter_strikethrough_mode] = NULL, 1504 [kTerm_set_rgb_foreground] = NULL, 1505 [kTerm_set_rgb_background] = NULL, 1506 [kTerm_set_cursor_color] = NULL, 1507 [kTerm_reset_cursor_color] = NULL, 1508 [kTerm_set_underline_style] = NULL, 1509 }, 1510 .keys = { 1511 [kTermKey_backspace] = {"\b", NULL}, 1512 [kTermKey_beg] = {NULL, NULL}, 1513 [kTermKey_btab] = {NULL, NULL}, 1514 [kTermKey_clear] = {NULL, NULL}, 1515 [kTermKey_dc] = {"\033[3~", NULL}, 1516 [kTermKey_end] = {"\033[4~", NULL}, 1517 [kTermKey_find] = {NULL, NULL}, 1518 [kTermKey_home] = {"\033[1~", NULL}, 1519 [kTermKey_ic] = {"\033[2~", NULL}, 1520 [kTermKey_npage] = {"\033[6~", NULL}, 1521 [kTermKey_ppage] = {"\033[5~", NULL}, 1522 [kTermKey_select] = {NULL, NULL}, 1523 [kTermKey_suspend] = {"^Z", NULL}, 1524 [kTermKey_undo] = {NULL, NULL}, 1525 }, 1526 .f_keys = { 1527 // note: offset by one, f_keys[0] is F1 and so on 1528 [0] = "\033[[A", 1529 [1] = "\033[[B", 1530 [2] = "\033[[C", 1531 [3] = "\033[[D", 1532 [4] = "\033[[E", 1533 [5] = "\033[17~", 1534 [6] = "\033[18~", 1535 [7] = "\033[19~", 1536 [8] = "\033[20~", 1537 [9] = "\033[21~", 1538 [10] = "\033[23~", 1539 [11] = "\033[24~", 1540 [12] = "\033[25~", 1541 [13] = "\033[26~", 1542 [14] = "\033[28~", 1543 [15] = "\033[29~", 1544 [16] = "\033[31~", 1545 [17] = "\033[32~", 1546 [18] = "\033[33~", 1547 [19] = "\033[34~", 1548 }, 1549 }; 1550 1551 static const TerminfoEntry win32con_terminfo = { 1552 .bce = false, 1553 .has_Tc_or_RGB = false, 1554 .Su = false, 1555 .max_colors = 8, 1556 .lines = -1, 1557 .columns = -1, 1558 .defs = { 1559 [kTerm_carriage_return] = "\r", 1560 [kTerm_change_scroll_region] = NULL, 1561 [kTerm_clear_screen] = "\033[H\033[J", 1562 [kTerm_clr_eol] = "\033[K", 1563 [kTerm_clr_eos] = "\033[J", 1564 [kTerm_cursor_address] = "\033[%i%p1%d;%p2%dH", 1565 [kTerm_cursor_down] = "\033[B", 1566 [kTerm_cursor_invisible] = NULL, 1567 [kTerm_cursor_left] = "\b", 1568 [kTerm_cursor_home] = "\033[H", 1569 [kTerm_cursor_normal] = NULL, 1570 [kTerm_cursor_up] = "\033[A", 1571 [kTerm_cursor_right] = "\033[C", 1572 [kTerm_delete_line] = NULL, 1573 [kTerm_enter_blink_mode] = NULL, 1574 [kTerm_enter_bold_mode] = "\033[1m", 1575 [kTerm_enter_ca_mode] = "\0337\033[?47h", 1576 [kTerm_enter_dim_mode] = NULL, 1577 [kTerm_enter_italics_mode] = NULL, 1578 [kTerm_enter_reverse_mode] = "\033[7m", 1579 [kTerm_enter_secure_mode] = NULL, 1580 [kTerm_enter_standout_mode] = "\033[7m", 1581 [kTerm_enter_underline_mode] = NULL, 1582 [kTerm_erase_chars] = NULL, 1583 [kTerm_exit_attribute_mode] = "\033[0m", 1584 [kTerm_exit_ca_mode] = "\033[2J\033[?47l\0338", 1585 [kTerm_from_status_line] = NULL, 1586 [kTerm_insert_line] = NULL, 1587 [kTerm_keypad_local] = NULL, 1588 [kTerm_keypad_xmit] = NULL, 1589 [kTerm_parm_delete_line] = NULL, 1590 [kTerm_parm_down_cursor] = "\033[%p1%dB", 1591 [kTerm_parm_insert_line] = NULL, 1592 [kTerm_parm_left_cursor] = "\033[%p1%dD", 1593 [kTerm_parm_right_cursor] = "\033[%p1%dC", 1594 [kTerm_parm_up_cursor] = "\033[%p1%dA", 1595 [kTerm_set_a_background] = "\033[4%p1%dm", 1596 [kTerm_set_a_foreground] = "\033[3%p1%dm", 1597 [kTerm_set_attributes] = "\033[0%?%p1%t;7%;%?%p3%t;7%;%?%p6%t;1%;m", 1598 [kTerm_set_lr_margin] = NULL, 1599 [kTerm_to_status_line] = NULL, 1600 [kTerm_reset_cursor_style] = "\033[0 q", 1601 [kTerm_set_cursor_style] = "\033[%p1%d q", 1602 [kTerm_enter_strikethrough_mode] = NULL, 1603 [kTerm_set_rgb_foreground] = NULL, 1604 [kTerm_set_rgb_background] = NULL, 1605 [kTerm_set_cursor_color] = NULL, 1606 [kTerm_reset_cursor_color] = NULL, 1607 [kTerm_set_underline_style] = NULL, 1608 }, 1609 .keys = { 1610 [kTermKey_backspace] = {"\b", NULL}, 1611 [kTermKey_beg] = {NULL, NULL}, 1612 [kTermKey_btab] = {NULL, NULL}, 1613 [kTermKey_clear] = {NULL, NULL}, 1614 [kTermKey_dc] = {"\033[3~", "\033[3;2~"}, 1615 [kTermKey_end] = {"\033[4~", "\033[4;2~"}, 1616 [kTermKey_find] = {NULL, NULL}, 1617 [kTermKey_home] = {"\033[1~", "\033[1;2~"}, 1618 [kTermKey_ic] = {"\033[2~", "\033[2;2~"}, 1619 [kTermKey_npage] = {"\033[6~", NULL}, 1620 [kTermKey_ppage] = {"\033[5~", NULL}, 1621 [kTermKey_select] = {NULL, NULL}, 1622 [kTermKey_suspend] = {"^Z", NULL}, 1623 [kTermKey_undo] = {NULL, NULL}, 1624 }, 1625 .f_keys = { 1626 // note: offset by one, f_keys[0] is F1 and so on 1627 [0] = "\033[[A", 1628 [1] = "\033[[B", 1629 [2] = "\033[[C", 1630 [3] = "\033[[D", 1631 [4] = "\033[[E", 1632 [5] = "\033[17~", 1633 [6] = "\033[18~", 1634 [7] = "\033[19~", 1635 [8] = "\033[20~", 1636 [9] = "\033[21~", 1637 [10] = "\033[23~", 1638 [11] = "\033[24~", 1639 [12] = "\033[25~", 1640 [13] = "\033[26~", 1641 [14] = "\033[28~", 1642 [15] = "\033[29~", 1643 [16] = "\033[31~", 1644 [17] = "\033[32~", 1645 [18] = "\033[33~", 1646 [19] = "\033[34~", 1647 [20] = "\033[23$", 1648 [21] = "\033[24$", 1649 [22] = "\033[11\136", 1650 [23] = "\033[12\136", 1651 [24] = "\033[13\136", 1652 [25] = "\033[14\136", 1653 [26] = "\033[15\136", 1654 [27] = "\033[17\136", 1655 [28] = "\033[18\136", 1656 [29] = "\033[19\136", 1657 [30] = "\033[20\136", 1658 [31] = "\033[21\136", 1659 [32] = "\033[23\136", 1660 [33] = "\033[24\136", 1661 [34] = "\033[25\136", 1662 [35] = "\033[26\136", 1663 [36] = "\033[28\136", 1664 [37] = "\033[29\136", 1665 [38] = "\033[31\136", 1666 [40] = "\033[32\136", 1667 [41] = "\033[33\136", 1668 [42] = "\033[34\136", 1669 [43] = "\033[23@", 1670 [44] = "\033[24@", 1671 }, 1672 }; 1673 1674 static const TerminfoEntry conemu_terminfo = { 1675 .bce = true, 1676 .has_Tc_or_RGB = false, 1677 .Su = false, 1678 .max_colors = 0x100, 1679 .lines = 24, 1680 .columns = 80, 1681 .defs = { 1682 [kTerm_carriage_return] = "\r", 1683 [kTerm_change_scroll_region] = "\033[%i%p1%d;%p2%dr", 1684 [kTerm_clear_screen] = "\033[H\033[2J", 1685 [kTerm_clr_eol] = "\033[K", 1686 [kTerm_clr_eos] = "\033[J", 1687 [kTerm_cursor_address] = "\033[%i%p1%d;%p2%dH", 1688 [kTerm_cursor_down] = "\033[B", 1689 [kTerm_cursor_invisible] = "\033[?25l", 1690 [kTerm_cursor_left] = "\b", 1691 [kTerm_cursor_home] = "\033[H", 1692 [kTerm_cursor_normal] = "\033[?25h", 1693 [kTerm_cursor_up] = "\033[A", 1694 [kTerm_cursor_right] = "\033[C", 1695 [kTerm_delete_line] = "\033[M", 1696 [kTerm_enter_blink_mode] = NULL, 1697 [kTerm_enter_bold_mode] = "\033[1m", 1698 [kTerm_enter_ca_mode] = "\033[?1049h", 1699 [kTerm_enter_dim_mode] = NULL, 1700 [kTerm_enter_italics_mode] = "\033[3m", 1701 [kTerm_enter_reverse_mode] = "\033[7m", 1702 [kTerm_enter_secure_mode] = NULL, 1703 [kTerm_enter_standout_mode] = "\033[7m", 1704 [kTerm_enter_underline_mode] = "\033[4m", 1705 [kTerm_erase_chars] = "\033[%p1%dX", 1706 [kTerm_exit_attribute_mode] = "\033[0m", 1707 [kTerm_exit_ca_mode] = "\033[?1049l", 1708 [kTerm_from_status_line] = NULL, 1709 [kTerm_insert_line] = "\033[L", 1710 [kTerm_keypad_local] = NULL, 1711 [kTerm_keypad_xmit] = NULL, 1712 [kTerm_parm_delete_line] = "\033[%p1%dM", 1713 [kTerm_parm_down_cursor] = "\033[%p1%dB", 1714 [kTerm_parm_insert_line] = "\033[%p1%dL", 1715 [kTerm_parm_left_cursor] = "\033[%p1%dD", 1716 [kTerm_parm_right_cursor] = "\033[%p1%dC", 1717 [kTerm_parm_up_cursor] = "\033[%p1%dA", 1718 [kTerm_set_a_background] = "\033[48;5;%p1%dm", 1719 [kTerm_set_a_foreground] = "\033[38;5;%p1%dm", 1720 [kTerm_set_attributes] = "\033[0%?%p1%p3%|%t;7%;%?%p2%t;4%;%?%p6%t;1%;m", 1721 [kTerm_set_lr_margin] = NULL, 1722 [kTerm_to_status_line] = NULL, 1723 [kTerm_reset_cursor_style] = "\033[2 q", 1724 [kTerm_set_cursor_style] = "\033[%p1%d q", 1725 [kTerm_enter_strikethrough_mode] = NULL, 1726 [kTerm_set_rgb_foreground] = NULL, 1727 [kTerm_set_rgb_background] = NULL, 1728 [kTerm_set_cursor_color] = NULL, 1729 [kTerm_reset_cursor_color] = NULL, 1730 [kTerm_set_underline_style] = NULL, 1731 }, 1732 .keys = { 1733 [kTermKey_backspace] = {"\b", NULL}, 1734 [kTermKey_beg] = {"\033OE", NULL}, 1735 [kTermKey_btab] = {"\033[Z", NULL}, 1736 [kTermKey_clear] = {NULL, NULL}, 1737 [kTermKey_dc] = {"\033[3~", "\033[3;2~"}, 1738 [kTermKey_end] = {"\033[4~", "\033[4;2~"}, 1739 [kTermKey_find] = {NULL, NULL}, 1740 [kTermKey_home] = {"\033[1~", "\033[1;2~"}, 1741 [kTermKey_ic] = {"\033[2~", "\033[2;2~"}, 1742 [kTermKey_npage] = {"\033[6~", NULL}, 1743 [kTermKey_ppage] = {"\033[5~", NULL}, 1744 [kTermKey_select] = {NULL, NULL}, 1745 [kTermKey_suspend] = {NULL, NULL}, 1746 [kTermKey_undo] = {NULL, NULL}, 1747 }, 1748 .f_keys = { 1749 // note: offset by one, f_keys[0] is F1 and so on 1750 [0] = "\033[[A", 1751 [1] = "\033[[B", 1752 [2] = "\033[[C", 1753 [3] = "\033[[D", 1754 [4] = "\033[[E", 1755 [5] = "\033[17~", 1756 [6] = "\033[18~", 1757 [7] = "\033[19~", 1758 [8] = "\033[20~", 1759 [9] = "\033[21~", 1760 [10] = "\033[23~", 1761 [11] = "\033[24~", 1762 [12] = "\033[25~", 1763 [13] = "\033[26~", 1764 [14] = "\033[28~", 1765 [15] = "\033[29~", 1766 [16] = "\033[31~", 1767 [17] = "\033[32~", 1768 [18] = "\033[33~", 1769 [19] = "\033[34~", 1770 [20] = "\033[23$", 1771 [21] = "\033[24$", 1772 [22] = "\033[11\136", 1773 [23] = "\033[12\136", 1774 [24] = "\033[13\136", 1775 [25] = "\033[14\136", 1776 [26] = "\033[15\136", 1777 [27] = "\033[17\136", 1778 [28] = "\033[18\136", 1779 [29] = "\033[19\136", 1780 [30] = "\033[20\136", 1781 [31] = "\033[21\136", 1782 [32] = "\033[23\136", 1783 [33] = "\033[24\136", 1784 [34] = "\033[25\136", 1785 [35] = "\033[26\136", 1786 [36] = "\033[28\136", 1787 [37] = "\033[29\136", 1788 [38] = "\033[31\136", 1789 [39] = "\033[1;6S", 1790 [40] = "\033[32\136", 1791 [41] = "\033[33\136", 1792 [42] = "\033[34\136", 1793 [43] = "\033[23@", 1794 [44] = "\033[24@", 1795 }, 1796 }; 1797 1798 static const TerminfoEntry vtpcon_terminfo = { 1799 .bce = true, 1800 .has_Tc_or_RGB = false, 1801 .Su = false, 1802 .max_colors = 0x100, 1803 .lines = 24, 1804 .columns = 80, 1805 .defs = { 1806 [kTerm_carriage_return] = "\r", 1807 [kTerm_change_scroll_region] = "\033[%i%p1%d;%p2%dr", 1808 [kTerm_clear_screen] = "\033[H\033[2J", 1809 [kTerm_clr_eol] = "\033[K", 1810 [kTerm_clr_eos] = "\033[J", 1811 [kTerm_cursor_address] = "\033[%i%p1%d;%p2%dH", 1812 [kTerm_cursor_down] = "\033[B", 1813 [kTerm_cursor_invisible] = "\033[?25l", 1814 [kTerm_cursor_left] = "\b", 1815 [kTerm_cursor_home] = "\033[H", 1816 [kTerm_cursor_normal] = "\033[?12l\033[?25h", 1817 [kTerm_cursor_up] = "\033[A", 1818 [kTerm_cursor_right] = "\033[C", 1819 [kTerm_delete_line] = "\033[M", 1820 [kTerm_enter_blink_mode] = NULL, 1821 [kTerm_enter_bold_mode] = "\033[1m", 1822 [kTerm_enter_ca_mode] = "\033[?1049h", 1823 [kTerm_enter_dim_mode] = NULL, 1824 [kTerm_enter_italics_mode] = "\033[3m", 1825 [kTerm_enter_reverse_mode] = "\033[7m", 1826 [kTerm_enter_secure_mode] = NULL, 1827 [kTerm_enter_standout_mode] = "\033[7m", 1828 [kTerm_enter_underline_mode] = "\033[4m", 1829 [kTerm_erase_chars] = "\033[%p1%dX", 1830 [kTerm_exit_attribute_mode] = "\033[0m", 1831 [kTerm_exit_ca_mode] = "\033[?1049l", 1832 [kTerm_from_status_line] = "\a", 1833 [kTerm_insert_line] = "\033[L", 1834 [kTerm_keypad_local] = NULL, 1835 [kTerm_keypad_xmit] = NULL, 1836 [kTerm_parm_delete_line] = "\033[%p1%dM", 1837 [kTerm_parm_down_cursor] = "\033[%p1%dB", 1838 [kTerm_parm_insert_line] = "\033[%p1%dL", 1839 [kTerm_parm_left_cursor] = "\033[%p1%dD", 1840 [kTerm_parm_right_cursor] = "\033[%p1%dC", 1841 [kTerm_parm_up_cursor] = "\033[%p1%dA", 1842 [kTerm_set_a_background] = "\033[%?%p1%{8}%<%t4%p1%d%e%p1%{16}%<%t10%p1%{8}%-%d%e48;5;%p1%d%;m", 1843 [kTerm_set_a_foreground] = "\033[%?%p1%{8}%<%t3%p1%d%e%p1%{16}%<%t9%p1%{8}%-%d%e38;5;%p1%d%;m", 1844 [kTerm_set_attributes] = "\033[0%?%p1%p3%|%t;7%;%?%p2%t;4%;%?%p6%t;1%;%?%p9%t;9%;m", 1845 [kTerm_set_lr_margin] = NULL, 1846 [kTerm_to_status_line] = "\033]0;", 1847 [kTerm_reset_cursor_style] = "\033[2 q", 1848 [kTerm_set_cursor_style] = "\033[%p1%d q", 1849 [kTerm_enter_strikethrough_mode] = "\033[9m", 1850 [kTerm_set_rgb_foreground] = NULL, 1851 [kTerm_set_rgb_background] = NULL, 1852 [kTerm_set_cursor_color] = NULL, 1853 [kTerm_reset_cursor_color] = NULL, 1854 [kTerm_set_underline_style] = NULL, 1855 }, 1856 .keys = { 1857 [kTermKey_backspace] = {"\b", NULL}, 1858 [kTermKey_beg] = {"\033OE", NULL}, 1859 [kTermKey_btab] = {"\033[Z", NULL}, 1860 [kTermKey_clear] = {NULL, NULL}, 1861 [kTermKey_dc] = {"\033[3~", "\033[3;2~"}, 1862 [kTermKey_end] = {"\033[4~", "\033[4;2~"}, 1863 [kTermKey_find] = {NULL, NULL}, 1864 [kTermKey_home] = {"\033[1~", "\033[1;2~"}, 1865 [kTermKey_ic] = {"\033[2~", "\033[2;2~"}, 1866 [kTermKey_npage] = {"\033[6~", NULL}, 1867 [kTermKey_ppage] = {"\033[5~", NULL}, 1868 [kTermKey_select] = {NULL, NULL}, 1869 [kTermKey_suspend] = {NULL, NULL}, 1870 [kTermKey_undo] = {NULL, NULL}, 1871 }, 1872 .f_keys = { 1873 // note: offset by one, f_keys[0] is F1 and so on 1874 [0] = "\033[[A", 1875 [1] = "\033[[B", 1876 [2] = "\033[[C", 1877 [3] = "\033[[D", 1878 [4] = "\033[[E", 1879 [5] = "\033[17~", 1880 [6] = "\033[18~", 1881 [7] = "\033[19~", 1882 [8] = "\033[20~", 1883 [9] = "\033[21~", 1884 [10] = "\033[23~", 1885 [11] = "\033[24~", 1886 [12] = "\033[25~", 1887 [13] = "\033[26~", 1888 [14] = "\033[28~", 1889 [15] = "\033[29~", 1890 [16] = "\033[31~", 1891 [17] = "\033[32~", 1892 [18] = "\033[33~", 1893 [19] = "\033[34~", 1894 [20] = "\033[23$", 1895 [21] = "\033[24$", 1896 [22] = "\033[11\136", 1897 [23] = "\033[12\136", 1898 [24] = "\033[13\136", 1899 [25] = "\033[14\136", 1900 [26] = "\033[15\136", 1901 [27] = "\033[17\136", 1902 [28] = "\033[18\136", 1903 [29] = "\033[19\136", 1904 [30] = "\033[20\136", 1905 [31] = "\033[21\136", 1906 [32] = "\033[23\136", 1907 [33] = "\033[24\136", 1908 [34] = "\033[25\136", 1909 [35] = "\033[26\136", 1910 [36] = "\033[28\136", 1911 [37] = "\033[29\136", 1912 [38] = "\033[31\136", 1913 [39] = "\033[1;6S", 1914 [40] = "\033[32\136", 1915 [41] = "\033[33\136", 1916 [42] = "\033[34\136", 1917 [43] = "\033[23@", 1918 [44] = "\033[24@", 1919 }, 1920 }; 1921 1922 #define XLIST_TERMINFO_BUILTIN \ 1923 X(carriage_return) \ 1924 X(change_scroll_region) \ 1925 X(clear_screen) \ 1926 X(clr_eol) \ 1927 X(clr_eos) \ 1928 X(cursor_address) \ 1929 X(cursor_down) \ 1930 X(cursor_invisible) \ 1931 X(cursor_left) \ 1932 X(cursor_home) \ 1933 X(cursor_normal) \ 1934 X(cursor_up) \ 1935 X(cursor_right) \ 1936 X(delete_line) \ 1937 X(enter_blink_mode) \ 1938 X(enter_bold_mode) \ 1939 X(enter_ca_mode) \ 1940 X(enter_dim_mode) \ 1941 X(enter_italics_mode) \ 1942 X(enter_reverse_mode) \ 1943 X(enter_secure_mode) \ 1944 X(enter_standout_mode) \ 1945 X(enter_underline_mode) \ 1946 X(erase_chars) \ 1947 X(exit_attribute_mode) \ 1948 X(exit_ca_mode) \ 1949 X(from_status_line) \ 1950 X(insert_line) \ 1951 X(keypad_local) \ 1952 X(keypad_xmit) \ 1953 X(parm_delete_line) \ 1954 X(parm_down_cursor) \ 1955 X(parm_insert_line) \ 1956 X(parm_left_cursor) \ 1957 X(parm_right_cursor) \ 1958 X(parm_up_cursor) \ 1959 X(set_a_background) \ 1960 X(set_a_foreground) \ 1961 X(set_attributes) \ 1962 X(set_lr_margin) \ 1963 X(to_status_line) \ 1964 // end of list 1965 1966 #define XLIST_TERMINFO_EXT \ 1967 X(reset_cursor_style, Se) \ 1968 X(set_cursor_style, Ss) \ 1969 X(enter_strikethrough_mode, smxx) \ 1970 X(set_rgb_foreground, setrgbf) \ 1971 X(set_rgb_background, setrgbb) \ 1972 X(set_cursor_color, Cs) \ 1973 X(reset_cursor_color, Cr) \ 1974 X(set_underline_style, Smulx) \ 1975 // end of list 1976 1977 #define XYLIST_TERMINFO_KEYS \ 1978 X(backspace) \ 1979 Y(beg) \ 1980 X(btab) \ 1981 X(clear) \ 1982 Y(dc) \ 1983 Y(end) \ 1984 Y(find) \ 1985 Y(home) \ 1986 Y(ic) \ 1987 X(npage) \ 1988 X(ppage) \ 1989 X(select) \ 1990 Y(suspend) \ 1991 Y(undo) \ 1992 // end of list 1993 1994 #define XLIST_TERMINFO_FKEYS \ 1995 X(f1) \ 1996 X(f2) \ 1997 X(f3) \ 1998 X(f4) \ 1999 X(f5) \ 2000 X(f6) \ 2001 X(f7) \ 2002 X(f8) \ 2003 X(f9) \ 2004 X(f10) \ 2005 X(f11) \ 2006 X(f12) \ 2007 X(f13) \ 2008 X(f14) \ 2009 X(f15) \ 2010 X(f16) \ 2011 X(f17) \ 2012 X(f18) \ 2013 X(f19) \ 2014 X(f20) \ 2015 X(f21) \ 2016 X(f22) \ 2017 X(f23) \ 2018 X(f24) \ 2019 X(f25) \ 2020 X(f26) \ 2021 X(f27) \ 2022 X(f28) \ 2023 X(f29) \ 2024 X(f30) \ 2025 X(f31) \ 2026 X(f32) \ 2027 X(f33) \ 2028 X(f34) \ 2029 X(f35) \ 2030 X(f36) \ 2031 X(f37) \ 2032 X(f38) \ 2033 X(f39) \ 2034 X(f40) \ 2035 X(f41) \ 2036 X(f42) \ 2037 X(f43) \ 2038 X(f44) \ 2039 X(f45) \ 2040 X(f46) \ 2041 X(f47) \ 2042 X(f48) \ 2043 X(f49) \ 2044 X(f50) \ 2045 X(f51) \ 2046 X(f52) \ 2047 X(f53) \ 2048 X(f54) \ 2049 X(f55) \ 2050 X(f56) \ 2051 X(f57) \ 2052 X(f58) \ 2053 X(f59) \ 2054 X(f60) \ 2055 X(f61) \ 2056 X(f62) \ 2057 X(f63) \ 2058 // end of list