From: Roberto E. Vargas Caballero Date: Sun, 25 Nov 2012 21:13:29 +0000 (+0100) Subject: Add support for End key X-Git-Url: https://git.danieliu.xyz/?a=commitdiff_plain;h=d5994b43ca78196b81ea276d7acb5ef2d4a671f7;p=st.git 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(-) --- 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~,