diff --git a/src/apps/terminal/TermParse.cpp b/src/apps/terminal/TermParse.cpp index ce762b6a42..2ac2a7f4f6 100644 --- a/src/apps/terminal/TermParse.cpp +++ b/src/apps/terminal/TermParse.cpp @@ -951,6 +951,13 @@ TermParse::EscParse() parsestate = groundtable; break; + case CASE_SD: // scroll screen down + if ((row = param[0]) < 1) + row = 1; + fBuffer->ScrollBy(-row); + parsestate = groundtable; + break; + default: break; } diff --git a/src/apps/terminal/VTPrsTbl.c b/src/apps/terminal/VTPrsTbl.c index a22999666b..9b8c679926 100644 --- a/src/apps/terminal/VTPrsTbl.c +++ b/src/apps/terminal/VTPrsTbl.c @@ -1117,7 +1117,7 @@ CASE_GROUND_STATE, CASE_GROUND_STATE, CASE_SU, /* T U V W */ -CASE_GROUND_STATE, +CASE_SD, CASE_GROUND_STATE, CASE_GROUND_STATE, CASE_GROUND_STATE, diff --git a/src/apps/terminal/VTparse.h b/src/apps/terminal/VTparse.h index 2621892bf2..536ea3b3a3 100644 --- a/src/apps/terminal/VTparse.h +++ b/src/apps/terminal/VTparse.h @@ -121,3 +121,4 @@ #define CASE_HPA 88 #define CASE_SU 89 /* scroll screen up */ +#define CASE_SD 90 /* scroll screen down */