diff options
author | Aurélien Aptel <aurelien.aptel@gmail.com> | 2010-08-22 19:46:46 +0200 |
---|---|---|
committer | Aurélien Aptel <aurelien.aptel@gmail.com> | 2010-08-22 19:46:46 +0200 |
commit | a7922bd1d94ace6d14e40a27820e217cd6c4e632 (patch) | |
tree | 9441bd9b362384260de3cc1d1a9415462a319fbb | |
parent | ce3f4fc647be3ab28f934db9365445a56ebd85bf (diff) | |
download | st-a7922bd1d94ace6d14e40a27820e217cd6c4e632.tar.gz st-a7922bd1d94ace6d14e40a27820e217cd6c4e632.zip |
added F1-12 key, fixed DCH and ICH.
-rw-r--r-- | config.h | 12 | ||||
-rw-r--r-- | st.c | 8 | ||||
-rw-r--r-- | st.info | 12 |
3 files changed, 28 insertions, 4 deletions
@@ -39,6 +39,18 @@ static Key key[] = { | |||
39 | { XK_End, "\033[4~" }, | 39 | { XK_End, "\033[4~" }, |
40 | { XK_Prior, "\033[5~" }, | 40 | { XK_Prior, "\033[5~" }, |
41 | { XK_Next, "\033[6~" }, | 41 | { XK_Next, "\033[6~" }, |
42 | { XK_F1, "\033OP" }, | ||
43 | { XK_F2, "\033OQ" }, | ||
44 | { XK_F3, "\033OR" }, | ||
45 | { XK_F4, "\033OS" }, | ||
46 | { XK_F5, "\033[15~" }, | ||
47 | { XK_F6, "\033[17~" }, | ||
48 | { XK_F7, "\033[18~" }, | ||
49 | { XK_F8, "\033[19~" }, | ||
50 | { XK_F9, "\033[20~" }, | ||
51 | { XK_F10, "\033[21~" }, | ||
52 | { XK_F11, "\033[23~" }, | ||
53 | { XK_F12, "\033[24~" }, | ||
42 | }; | 54 | }; |
43 | 55 | ||
44 | static char gfx[] = { | 56 | static char gfx[] = { |
@@ -497,21 +497,21 @@ tdeletechar(int n) { | |||
497 | return; | 497 | return; |
498 | } | 498 | } |
499 | memmove(&term.line[term.c.y][dst], &term.line[term.c.y][src], size * sizeof(Glyph)); | 499 | memmove(&term.line[term.c.y][dst], &term.line[term.c.y][src], size * sizeof(Glyph)); |
500 | tclearregion(term.col-size, term.c.y, term.col-1, term.c.y); | 500 | tclearregion(term.col-n, term.c.y, term.col-1, term.c.y); |
501 | } | 501 | } |
502 | 502 | ||
503 | void | 503 | void |
504 | tinsertblank(int n) { | 504 | tinsertblank(int n) { |
505 | int src = term.c.x; | 505 | int src = term.c.x; |
506 | int dst = src + n; | 506 | int dst = src + n; |
507 | int size = term.col - n - src; | 507 | int size = term.col - dst; |
508 | 508 | ||
509 | if(dst >= term.col) { | 509 | if(dst >= term.col) { |
510 | tclearregion(term.c.x, term.c.y, term.col-1, term.c.y); | 510 | tclearregion(term.c.x, term.c.y, term.col-1, term.c.y); |
511 | return; | 511 | return; |
512 | } | 512 | } |
513 | memmove(&term.line[term.c.y][dst], &term.line[term.c.y][src], size * sizeof(Glyph)); | 513 | memmove(&term.line[term.c.y][dst], &term.line[term.c.y][src], size * sizeof(Glyph)); |
514 | tclearregion(src, term.c.y, dst, term.c.y); | 514 | tclearregion(src, term.c.y, dst - 1, term.c.y); |
515 | } | 515 | } |
516 | 516 | ||
517 | void | 517 | void |
@@ -1173,7 +1173,7 @@ xcursor(int mode) { | |||
1173 | 1173 | ||
1174 | if(term.line[term.c.y][term.c.x].state & GLYPH_SET) | 1174 | if(term.line[term.c.y][term.c.x].state & GLYPH_SET) |
1175 | g.c = term.line[term.c.y][term.c.x].c; | 1175 | g.c = term.line[term.c.y][term.c.x].c; |
1176 | 1176 | ||
1177 | /* remove the old cursor */ | 1177 | /* remove the old cursor */ |
1178 | if(term.line[oldy][oldx].state & GLYPH_SET) | 1178 | if(term.line[oldy][oldx].state & GLYPH_SET) |
1179 | xdraws(&term.line[oldy][oldx].c, term.line[oldy][oldx], oldx, oldy, 1); | 1179 | xdraws(&term.line[oldy][oldx].c, term.line[oldy][oldx], oldx, oldy, 1); |
@@ -37,6 +37,18 @@ st| simpleterm, | |||
37 | kcuu1=\E[A, | 37 | kcuu1=\E[A, |
38 | kdch1=\E[3~, | 38 | kdch1=\E[3~, |
39 | kend=\E[4~, | 39 | kend=\E[4~, |
40 | kf1=\EOP, | ||
41 | kf2=\EOQ, | ||
42 | kf3=\EOR, | ||
43 | kf4=\EOS, | ||
44 | kf5=\E[15~, | ||
45 | kf6=\E[17~, | ||
46 | kf7=\E[18~, | ||
47 | kf8=\E[19~, | ||
48 | kf9=\E[20~, | ||
49 | kf10=\E[21~, | ||
50 | kf11=\E[23~, | ||
51 | kf12=\E[24~, | ||
40 | khome=\E[1~, | 52 | khome=\E[1~, |
41 | knp=\E[6~, | 53 | knp=\E[6~, |
42 | kpp=\E[5~, | 54 | kpp=\E[5~, |