aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoberto E. Vargas Caballero <k0ga@shike2.com>2012-11-25 22:13:29 +0100
committerRoberto E. Vargas Caballero <k0ga@shike2.com>2012-11-25 22:13:29 +0100
commitd5994b43ca78196b81ea276d7acb5ef2d4a671f7 (patch)
tree8ed6d33b5057601e5bcb67e19615ad3a54eb2e4d
parent7c34ff1703381c4d0c2ea602ddd607597bd32ad5 (diff)
downloadst-d5994b43ca78196b81ea276d7acb5ef2d4a671f7.tar.gz
st-d5994b43ca78196b81ea276d7acb5ef2d4a671f7.tar.bz2
Add support for End key
- Shift + End : Delete until end of line. - Control + End : Delete until end of screen. When the End key is pressed without any modifier is not generated the correct sequence for it (going to the end of the screen), because the size of the terminal is not known, so it is not possible write a sequence for this purpouse. --- config.def.h | 10 ++++++++-- st.info | 2 ++ 2 files changed, 10 insertions(+), 2 deletions(-)
-rw-r--r--config.def.h10
-rw-r--r--st.info2
2 files changed, 10 insertions, 2 deletions
diff --git a/config.def.h b/config.def.h
index 6d74668..684adf7 100644
--- a/config.def.h
+++ b/config.def.h
@@ -121,7 +121,10 @@ static Key key[] = {
{ XK_KP_Prior, ShiftMask, "\033[5;2~", 0, 0, 0},
{ XK_KP_Prior, XK_ANY_MOD, "\033[5~", 0, 0, 0},
{ XK_KP_Begin, XK_ANY_MOD, "\033[E", 0, 0, 0},
- { XK_KP_End, ShiftMask, "\033[1;2F", 0, 0, 0},
+ { XK_KP_End, ControlMask, "\033[J", -1, 0, 0},
+ { XK_KP_End, ControlMask, "\033[1;5F", +1, 0, 0},
+ { XK_KP_End, ShiftMask, "\033[K", -1, 0, 0},
+ { XK_KP_End, ShiftMask, "\033[1;2F", +1, 0, 0},
{ XK_KP_End, XK_ANY_MOD, "\033[4~", 0, 0, 0},
{ XK_KP_Next, ShiftMask, "\033[6;2~", 0, 0, 0},
{ XK_KP_Next, XK_ANY_MOD, "\033[6~", 0, 0, 0},
@@ -196,7 +199,10 @@ static Key key[] = {
{ XK_Home, ShiftMask, "\033[1;2H", 0, 0, 0},
{ XK_Home, XK_ANY_MOD, "\033[H", 0, -1, 0},
{ XK_Home, XK_ANY_MOD, "\033[1~", 0, +1, 0},
- { XK_End, ShiftMask, "\033[1;2F", 0, 0, 0},
+ { XK_End, ControlMask, "\033[J", -1, 0, 0},
+ { XK_End, ControlMask, "\033[1;5F", +1, 0, 0},
+ { XK_End, ShiftMask, "\033[K", -1, 0, 0},
+ { XK_End, ShiftMask, "\033[1;2F", +1, 0, 0},
{ XK_End, XK_ANY_MOD, "\033[4~", 0, 0, 0},
{ XK_Prior, XK_NO_MOD, "\033[5~", 0, 0, 0},
{ XK_Next, ShiftMask, "\033[6;2~", 0, 0, 0},
diff --git a/st.info b/st.info
index 9a7edfe..52ae851 100644
--- a/st.info
+++ b/st.info
@@ -49,6 +49,8 @@ st| simpleterm,
invis=\E[8m,
is2=\E[4l\E>,
it#8,
+ kel=\E[1;2F,
+ ked=\E[1;5F,
ka1=\E[1~,
ka3=\E[5~,
kc1=\E[4~,