Re: [dev] [st] delele behaves as backspace... again

From: <k0ga_AT_shike2.com>
Date: Tue, 4 Nov 2014 19:24:24 +0100

If you are interested,

> - Modify the keys generated by st. This option is not dificult, because you
> only have to modify the values in your config.h (I think I should put this
> option in the FAQ to).

If you are interested in this solution this is the patch:

diff --git a/config.def.h b/config.def.h
index 1667ed6..af7b2a0 100644
--- a/config.def.h
+++ b/config.def.h
_AT_@ -166,6 +166,7 @@ static uint forceselmod = ShiftMask;
 
 static Key key[] = {
         /* keysym mask string appkey appcursor crlf */
+ { XK_BackSpace, XK_ANY_MOD, "\177", 0, 0, 0},
         { XK_KP_Home, ShiftMask, "\033[2J", 0, -1, 0},
         { XK_KP_Home, ShiftMask, "\033[1;2H", 0, +1, 0},
         { XK_KP_Home, XK_ANY_MOD, "\033[H", 0, -1, 0},
_AT_@ -202,8 +203,7 @@ static Key key[] = {
         { XK_KP_Delete, ControlMask, "\033[3;5~", +1, 0, 0},
         { XK_KP_Delete, ShiftMask, "\033[2K", -1, 0, 0},
         { XK_KP_Delete, ShiftMask, "\033[3;2~", +1, 0, 0},
- { XK_KP_Delete, XK_ANY_MOD, "\033[P", -1, 0, 0},
- { XK_KP_Delete, XK_ANY_MOD, "\177", +1, 0, 0},
+ { XK_KP_Delete, XK_ANY_MOD, "\033[3~", 0, 0, 0},
         { XK_KP_Multiply, XK_ANY_MOD, "\033Oj", +2, 0, 0},
         { XK_KP_Add, XK_ANY_MOD, "\033Ok", +2, 0, 0},
         { XK_KP_Enter, XK_ANY_MOD, "\033OM", +2, 0, 0},
_AT_@ -257,8 +257,7 @@ static Key key[] = {
         { XK_Delete, ControlMask, "\033[3;5~", +1, 0, 0},
         { XK_Delete, ShiftMask, "\033[2K", -1, 0, 0},
         { XK_Delete, ShiftMask, "\033[3;2~", +1, 0, 0},
- { XK_Delete, XK_ANY_MOD, "\033[P", -1, 0, 0},
- { XK_Delete, XK_ANY_MOD, "\177", +1, 0, 0},
+ { XK_Delete, XK_ANY_MOD, "\033[3~", 0, 0, 0},
         { XK_Home, ShiftMask, "\033[2J", 0, -1, 0},
         { XK_Home, ShiftMask, "\033[1;2H", 0, +1, 0},
         { XK_Home, XK_ANY_MOD, "\033[H", 0, -1, 0},
diff --git a/st.info b/st.info
index 3b754db..f760a6a 100644
--- a/st.info
+++ b/st.info
_AT_@ -53,7 +53,7 @@ st| simpleterm,
         ka3=\E[5~,
         kc1=\E[4~,
         kc3=\E[6~,
- kbs=\010,
+ kbs=\0177,
         kcbt=\E[Z,
         kb2=\EOu,
         kcub1=\EOD,
_AT_@ -73,7 +73,7 @@ st| simpleterm,
         kri=\E[1;2A,
         kclr=\E[3;5~,
         kdl1=\E[3;2~,
- kdch1=\0177,
+ kdch1=\E[3~,
         kich1=\E[2~,
         kend=\E[4~,
         kf1=\EOP,

With this patch you are going to have ^? in backspace and ^[[3~ in Delete,
and the terminfo definition is modified based in this change.
This configuration is more similar to the configuration of other systems,
so you will not have these problems. But, think in use another shell,
one that respect terminfo.

I am going to add this path to the wiki and add an entry to the FAQ
about this point.

Regards,
Received on Tue Nov 04 2014 - 19:24:24 CET

This archive was generated by hypermail 2.3.0 : Tue Nov 04 2014 - 19:36:07 CET