Преглед на файлове

added F1-12 key, fixed DCH and ICH.

Aurélien Aptel преди 14 години
родител
ревизия
a7922bd1d9
променени са 3 файла, в които са добавени 28 реда и са изтрити 4 реда
  1. 12 0
      config.h
  2. 4 4
      st.c
  3. 12 0
      st.info

+ 12 - 0
config.h

@@ -39,6 +39,18 @@ static Key key[] = {
 	{ XK_End,    "\033[4~" },
 	{ XK_Prior,  "\033[5~" },
 	{ XK_Next,   "\033[6~" },
+	{ XK_F1,        "\033OP"   },
+	{ XK_F2,        "\033OQ"   },
+	{ XK_F3,        "\033OR"   },
+	{ XK_F4,        "\033OS"   },
+	{ XK_F5,        "\033[15~" },
+	{ XK_F6,        "\033[17~" },
+	{ XK_F7,        "\033[18~" },
+	{ XK_F8,        "\033[19~" },
+	{ XK_F9,        "\033[20~" },
+	{ XK_F10,       "\033[21~" },
+	{ XK_F11,       "\033[23~" },
+	{ XK_F12,       "\033[24~" },
 };
 
 static char gfx[] = {

+ 4 - 4
st.c

@@ -497,21 +497,21 @@ tdeletechar(int n) {
 		return;
 	}
 	memmove(&term.line[term.c.y][dst], &term.line[term.c.y][src], size * sizeof(Glyph));
-	tclearregion(term.col-size, term.c.y, term.col-1, term.c.y);
+	tclearregion(term.col-n, term.c.y, term.col-1, term.c.y);
 }
 
 void
 tinsertblank(int n) {
 	int src = term.c.x;
 	int dst = src + n;
-	int size = term.col - n - src;
+	int size = term.col - dst;
 
 	if(dst >= term.col) {
 		tclearregion(term.c.x, term.c.y, term.col-1, term.c.y);
 		return;
 	}
 	memmove(&term.line[term.c.y][dst], &term.line[term.c.y][src], size * sizeof(Glyph));
-	tclearregion(src, term.c.y, dst, term.c.y);
+	tclearregion(src, term.c.y, dst - 1, term.c.y);
 }
 
 void
@@ -1173,7 +1173,7 @@ xcursor(int mode) {
 	
 	if(term.line[term.c.y][term.c.x].state & GLYPH_SET)
 		g.c = term.line[term.c.y][term.c.x].c;
-
+	
 	/* remove the old cursor */
 	if(term.line[oldy][oldx].state & GLYPH_SET)
 		xdraws(&term.line[oldy][oldx].c, term.line[oldy][oldx], oldx, oldy, 1);

+ 12 - 0
st.info

@@ -37,6 +37,18 @@ st| simpleterm,
 	kcuu1=\E[A,
 	kdch1=\E[3~,
 	kend=\E[4~,
+	kf1=\EOP,
+	kf2=\EOQ,
+	kf3=\EOR,
+	kf4=\EOS,
+	kf5=\E[15~,
+	kf6=\E[17~,
+	kf7=\E[18~,
+	kf8=\E[19~,
+	kf9=\E[20~,
+	kf10=\E[21~,
+	kf11=\E[23~,
+	kf12=\E[24~,
 	khome=\E[1~,
 	knp=\E[6~,
 	kpp=\E[5~,