From a7922bd1d94ace6d14e40a27820e217cd6c4e632 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien=20Aptel?= Date: Sun, 22 Aug 2010 19:46:46 +0200 Subject: [PATCH] added F1-12 key, fixed DCH and ICH. --- config.h | 12 ++++++++++++ st.c | 8 ++++---- st.info | 12 ++++++++++++ 3 files changed, 28 insertions(+), 4 deletions(-) diff --git a/config.h b/config.h index c3c4e41..bb490ab 100644 --- a/config.h +++ b/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[] = { diff --git a/st.c b/st.c index f8d2257..6e34f1e 100644 --- a/st.c +++ b/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); diff --git a/st.info b/st.info index b2669dd..2cc645b 100644 --- a/st.info +++ b/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~,