Handle the device attributes (DA) escape sequence.

pull/1/head
Nicholas Marriott 2009-08-19 17:00:31 +00:00
parent c741f2f4a6
commit bf121f7c60
1 changed files with 21 additions and 0 deletions

21
input.c
View File

@ -68,6 +68,7 @@ void input_handle_sequence_cuf(struct input_ctx *);
void input_handle_sequence_cub(struct input_ctx *);
void input_handle_sequence_dch(struct input_ctx *);
void input_handle_sequence_cbt(struct input_ctx *);
void input_handle_sequence_da(struct input_ctx *);
void input_handle_sequence_dl(struct input_ctx *);
void input_handle_sequence_ich(struct input_ctx *);
void input_handle_sequence_il(struct input_ctx *);
@ -104,6 +105,7 @@ const struct input_sequence_entry input_sequence_table[] = {
{ 'M', input_handle_sequence_dl },
{ 'P', input_handle_sequence_dch },
{ 'Z', input_handle_sequence_cbt },
{ 'c', input_handle_sequence_da },
{ 'd', input_handle_sequence_vpa },
{ 'f', input_handle_sequence_cup },
{ 'g', input_handle_sequence_tbc },
@ -951,6 +953,25 @@ input_handle_sequence_cbt(struct input_ctx *ictx)
}
}
void
input_handle_sequence_da(struct input_ctx *ictx)
{
struct screen *s = ictx->ctx.s;
uint16_t n;
if (ictx->private != '\0')
return;
if (ARRAY_LENGTH(&ictx->args) > 1)
return;
if (input_get_argument(ictx, 0, &n, 0) != 0)
return;
if (n != 0)
return;
buffer_write(ictx->wp->out, "\033[?1;2c", (sizeof "\033[?1;2c") - 1);
}
void
input_handle_sequence_dl(struct input_ctx *ictx)
{