summaryrefslogtreecommitdiffstats
path: root/input.c
diff options
context:
space:
mode:
authorNicholas Marriott <nicm@openbsd.org>2011-12-29 08:06:24 +0000
committerNicholas Marriott <nicm@openbsd.org>2011-12-29 08:06:24 +0000
commit92aef64c5a582cbd785e3d8ad0801153e129a5c7 (patch)
tree2ea6ddc18fdc8490dcf1a9e1bc86f09a84cf0602 /input.c
parentfdd1d0b72e3aa178653ed8733d4efcb6b14b0c86 (diff)
Add CNL and CPL escape sequences.
Diffstat (limited to 'input.c')
-rw-r--r--input.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/input.c b/input.c
index ed1f8760..b113bc2a 100644
--- a/input.c
+++ b/input.c
@@ -119,6 +119,8 @@ const struct input_table_entry input_esc_table[] = {
/* Control (CSI) commands. */
enum input_csi_type {
INPUT_CSI_CBT,
+ INPUT_CSI_CNL,
+ INPUT_CSI_CPL,
INPUT_CSI_CUB,
INPUT_CSI_CUD,
INPUT_CSI_CUF,
@@ -153,6 +155,8 @@ const struct input_table_entry input_csi_table[] = {
{ 'B', "", INPUT_CSI_CUD },
{ 'C', "", INPUT_CSI_CUF },
{ 'D', "", INPUT_CSI_CUB },
+ { 'E', "", INPUT_CSI_CNL },
+ { 'F', "", INPUT_CSI_CPL },
{ 'G', "", INPUT_CSI_HPA },
{ 'H', "", INPUT_CSI_CUP },
{ 'J', "", INPUT_CSI_ED },
@@ -1085,6 +1089,14 @@ input_csi_dispatch(struct input_ctx *ictx)
case INPUT_CSI_CUU:
screen_write_cursorup(sctx, input_get(ictx, 0, 1, 1));
break;
+ case INPUT_CSI_CNL:
+ screen_write_carriagereturn(sctx);
+ screen_write_cursordown(sctx, input_get(ictx, 0, 1, 1));
+ break;
+ case INPUT_CSI_CPL:
+ screen_write_carriagereturn(sctx);
+ screen_write_cursorup(sctx, input_get(ictx, 0, 1, 1));
+ break;
case INPUT_CSI_DA:
switch (input_get(ictx, 0, 0, 0)) {
case 0: