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
@@ -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},
@@ -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},
@@ -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
@@ -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,
@@ -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,


Reply via email to