JasonWoof Got questions, comments, patches, etc.? Contact Jason Woofenden
Fix Backspace and Delete characters
authorRoberto E. Vargas Caballero <k0ga@shike2.com>
Fri, 11 Apr 2014 13:08:37 +0000 (15:08 +0200)
committerRoberto E. Vargas Caballero <k0ga@shike2.com>
Fri, 11 Apr 2014 13:08:37 +0000 (15:08 +0200)
Backspace key must generate the backspace character (\010) and
Delete key must generate the delete character (\0177). In
some systems the kernel configuration for erasing previous character
is \0177, so some programs (for example cat, ed, mail, ...), can not
understand the correct meaning of backspace. In this cases it is only
needed this command:

stty erase \b

config.def.h
st.info

index 58b470e..d69c9ba 100644 (file)
@@ -192,7 +192,6 @@ 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,     "\033[3~",      +1,    0,    0},
        { XK_KP_Multiply,   XK_ANY_MOD,     "\033Oj",       +2,    0,    0},
        { XK_KP_Add,        XK_ANY_MOD,     "\033Ok",       +2,    0,    0},
@@ -212,7 +211,6 @@ static Key key[] = {
        { XK_KP_7,          XK_ANY_MOD,     "\033Ow",       +2,    0,    0},
        { XK_KP_8,          XK_ANY_MOD,     "\033Ox",       +2,    0,    0},
        { XK_KP_9,          XK_ANY_MOD,     "\033Oy",       +2,    0,    0},
-       { XK_BackSpace,     XK_NO_MOD,      "\177",          0,    0,    0},
        { XK_Up,            ShiftMask,      "\033[1;2A",     0,    0,    0},
        { XK_Up,            ControlMask,    "\033[1;5A",     0,    0,    0},
        { XK_Up,            Mod1Mask,       "\033[1;3A",     0,    0,    0},
@@ -248,7 +246,6 @@ 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,     "\033[3~",      +1,    0,    0},
        { XK_Home,          ShiftMask,      "\033[2J",       0,   -1,    0},
        { XK_Home,          ShiftMask,      "\033[1;2H",     0,   +1,    0},
diff --git a/st.info b/st.info
index 4e60a89..3a01a08 100644 (file)
--- a/st.info
+++ b/st.info
@@ -53,7 +53,7 @@ st| simpleterm,
        ka3=\E[5~,
        kc1=\E[4~,
        kc3=\E[6~,
-       kbs=\177,
+       kbs=\010,
        kcbt=\E[Z,
        kb2=\EOu,
        kcub1=\EOD,