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://jasonwoof.com/gitweb/?p=st.git;a=commitdiff_plain;h=d5994b43ca78196b81ea276d7acb5ef2d4a671f7;hp=7c34ff1703381c4d0c2ea602ddd607597bd32ad5 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~,