Add support for insert key

From: Roberto E. Vargas Caballero <k0ga_AT_shike2.com>
Date: Sun, 25 Nov 2012 11:01:58 +0100

Insert key stands for a key which allows enter or leaves insert mode, so let
it generates the correct sequence to change between these modes:

   - Insert: Enter in insert mode.
   - Shift + Insert: Leave insert mode (replace mode).
   - Control + Insert: Insert a blank line.

Like Shift + Insert also paste text, if a user want this feature be full
functional he has to modify such shortcut.
---
 config.def.h |   16 ++++++++++++----
 st.info      |    3 +++
 2 files changed, 15 insertions(+), 4 deletions(-)
diff --git a/config.def.h b/config.def.h
index 7c55ef2..4eda119 100644
--- a/config.def.h
+++ b/config.def.h
_AT_@ -121,8 +121,12 @@ static Key key= {
 	{ 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},
-	{ XK_KP_Insert,     ShiftMask,      "\033[2;2~",     0,    0,    0},
-	{ XK_KP_Insert,     XK_ANY_MOD,     "\033[2~",       0,    0,    0},
+	{ XK_KP_Insert,     ShiftMask,      "\033[2;2~",    +1,    0,    0},
+	{ XK_KP_Insert,     ShiftMask,      "\033[4l",      -1,    0,    0},
+	{ XK_KP_Insert,     ControlMask,    "\033[L",       -1,    0,    0},
+	{ XK_KP_Insert,     ControlMask,    "\033[2;5~",    +1,    0,    0},
+	{ XK_KP_Insert,     XK_ANY_MOD,     "\033[4h",      -1,    0,    0},
+	{ XK_KP_Insert,     XK_ANY_MOD,     "\033[2~",      +1,    0,    0},
 	{ XK_KP_Delete,     ShiftMask,      "\033[3;2~",     0,    0,    0},
 	{ XK_KP_Delete,     XK_ANY_MOD,     "\033[3~",       0,    0,    0},
 	{ XK_KP_Multiply,   XK_ANY_MOD,     "\033Oj",       +2,    0,    0},
_AT_@ -169,8 +173,12 @@ static Key key= {
 	{ XK_Return,        Mod1Mask,       "\033\r\n",      0,    0,   +1},
 	{ XK_Return,        XK_ANY_MOD,     "\r",            0,    0,   -1},
 	{ XK_Return,        XK_ANY_MOD,     "\r\n",          0,    0,   +1},
-	{ XK_Insert,        ShiftMask,      "\033[2;2~",     0,    0,    0},
-	{ XK_Insert,        XK_ANY_MOD,     "\033[2~",       0,    0,    0},
+	{ XK_Insert,        ShiftMask,      "\033[4l",      -1,    0,    0},
+	{ XK_Insert,        ShiftMask,      "\033[2;2~",    +1,    0,    0},
+	{ XK_Insert,        ControlMask,    "\033[L",       -1,    0,    0},
+	{ XK_Insert,        ControlMask,    "\033[2;5~",    +1,    0,    0},
+	{ XK_Insert,        XK_ANY_MOD,     "\033[4h",      -1,    0,    0},
+	{ XK_Insert,        XK_ANY_MOD,     "\033[2~",      +1,    0,    0},
 	{ XK_Delete,        ShiftMask,      "\033[3;2~",     0,    0,    0},
 	{ XK_Delete,        XK_ANY_MOD,     "\033[3~",       0,    0,    0},
 	{ XK_Home,          ShiftMask,      "\033[1;2H",     0,    0,    0},
diff --git a/st.info b/st.info
index d0064db..4fc9bdb 100644
--- a/st.info
+++ b/st.info
_AT_@ -138,6 +138,9 @@ st| simpleterm,
 	kf62=\E[1;4Q,
 	kf63=\E[1;4R,
 	khome=\E[1~,
+	kil1=\E[2;5~,
+	krmir=\E[2;2~,
+	kich1=\E[2~,
 	knp=\E[6~,
 	kmous=\E[M,
 	kpp=\E[5~,
-- 
1.7.10.4
--J/dobhs11T7y2rNN
Content-Type: text/x-diff; charset=utf-8
Content-Disposition: attachment; filename="0003-Add-support-for-Supr-key.patch"
Received on Mon Sep 17 2001 - 00:00:00 CEST

This archive was generated by hypermail 2.3.0 : Sun Nov 25 2012 - 19:12:02 CET