diff options
author | Roberto E. Vargas Caballero <k0ga@shike2.com> | 2012-11-25 22:13:19 +0100 |
---|---|---|
committer | Roberto E. Vargas Caballero <k0ga@shike2.com> | 2012-11-25 22:13:19 +0100 |
commit | 3c99be68e8d3c4d67b2db54b8650bf55d769b98e (patch) | |
tree | 7d248e2e98bd3c86b69f602d236b838b06fbc5b5 | |
parent | e7904128c61f96b2adbed6e946964053c70e3d4e (diff) | |
download | st-3c99be68e8d3c4d67b2db54b8650bf55d769b98e.tar.gz st-3c99be68e8d3c4d67b2db54b8650bf55d769b98e.zip |
Add support for insert key
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(-)
-rw-r--r-- | config.def.h | 16 | ||||
-rw-r--r-- | st.info | 3 |
2 files changed, 15 insertions, 4 deletions
diff --git a/config.def.h b/config.def.h index 742e84e..a3e87e2 100644 --- a/config.def.h +++ b/config.def.h | |||
@@ -125,8 +125,12 @@ static Key key[] = { | |||
125 | { XK_KP_End, XK_ANY_MOD, "\033[4~", 0, 0, 0}, | 125 | { XK_KP_End, XK_ANY_MOD, "\033[4~", 0, 0, 0}, |
126 | { XK_KP_Next, ShiftMask, "\033[6;2~", 0, 0, 0}, | 126 | { XK_KP_Next, ShiftMask, "\033[6;2~", 0, 0, 0}, |
127 | { XK_KP_Next, XK_ANY_MOD, "\033[6~", 0, 0, 0}, | 127 | { XK_KP_Next, XK_ANY_MOD, "\033[6~", 0, 0, 0}, |
128 | { XK_KP_Insert, ShiftMask, "\033[2;2~", 0, 0, 0}, | 128 | { XK_KP_Insert, ShiftMask, "\033[2;2~", +1, 0, 0}, |
129 | { XK_KP_Insert, XK_ANY_MOD, "\033[2~", 0, 0, 0}, | 129 | { XK_KP_Insert, ShiftMask, "\033[4l", -1, 0, 0}, |
130 | { XK_KP_Insert, ControlMask, "\033[L", -1, 0, 0}, | ||
131 | { XK_KP_Insert, ControlMask, "\033[2;5~", +1, 0, 0}, | ||
132 | { XK_KP_Insert, XK_ANY_MOD, "\033[4h", -1, 0, 0}, | ||
133 | { XK_KP_Insert, XK_ANY_MOD, "\033[2~", +1, 0, 0}, | ||
130 | { XK_KP_Delete, ShiftMask, "\033[3;2~", 0, 0, 0}, | 134 | { XK_KP_Delete, ShiftMask, "\033[3;2~", 0, 0, 0}, |
131 | { XK_KP_Delete, XK_ANY_MOD, "\033[3~", 0, 0, 0}, | 135 | { XK_KP_Delete, XK_ANY_MOD, "\033[3~", 0, 0, 0}, |
132 | { XK_KP_Multiply, XK_ANY_MOD, "\033Oj", +2, 0, 0}, | 136 | { XK_KP_Multiply, XK_ANY_MOD, "\033Oj", +2, 0, 0}, |
@@ -173,8 +177,12 @@ static Key key[] = { | |||
173 | { XK_Return, Mod1Mask, "\033\r\n", 0, 0, +1}, | 177 | { XK_Return, Mod1Mask, "\033\r\n", 0, 0, +1}, |
174 | { XK_Return, XK_ANY_MOD, "\r", 0, 0, -1}, | 178 | { XK_Return, XK_ANY_MOD, "\r", 0, 0, -1}, |
175 | { XK_Return, XK_ANY_MOD, "\r\n", 0, 0, +1}, | 179 | { XK_Return, XK_ANY_MOD, "\r\n", 0, 0, +1}, |
176 | { XK_Insert, ShiftMask, "\033[2;2~", 0, 0, 0}, | 180 | { XK_Insert, ShiftMask, "\033[4l", -1, 0, 0}, |
177 | { XK_Insert, XK_ANY_MOD, "\033[2~", 0, 0, 0}, | 181 | { XK_Insert, ShiftMask, "\033[2;2~", +1, 0, 0}, |
182 | { XK_Insert, ControlMask, "\033[L", -1, 0, 0}, | ||
183 | { XK_Insert, ControlMask, "\033[2;5~", +1, 0, 0}, | ||
184 | { XK_Insert, XK_ANY_MOD, "\033[4h", -1, 0, 0}, | ||
185 | { XK_Insert, XK_ANY_MOD, "\033[2~", +1, 0, 0}, | ||
178 | { XK_Delete, ShiftMask, "\033[3;2~", 0, 0, 0}, | 186 | { XK_Delete, ShiftMask, "\033[3;2~", 0, 0, 0}, |
179 | { XK_Delete, XK_ANY_MOD, "\033[3~", 0, 0, 0}, | 187 | { XK_Delete, XK_ANY_MOD, "\033[3~", 0, 0, 0}, |
180 | { XK_Home, ShiftMask, "\033[1;2H", 0, 0, 0}, | 188 | { XK_Home, ShiftMask, "\033[1;2H", 0, 0, 0}, |
@@ -138,6 +138,9 @@ st| simpleterm, | |||
138 | kf62=\E[1;4Q, | 138 | kf62=\E[1;4Q, |
139 | kf63=\E[1;4R, | 139 | kf63=\E[1;4R, |
140 | khome=\E[1~, | 140 | khome=\E[1~, |
141 | kil1=\E[2;5~, | ||
142 | krmir=\E[2;2~, | ||
143 | kich1=\E[2~, | ||
141 | knp=\E[6~, | 144 | knp=\E[6~, |
142 | kmous=\E[M, | 145 | kmous=\E[M, |
143 | kpp=\E[5~, | 146 | kpp=\E[5~, |