commit 1c570bd33db0e06c1f1de72ec8d2d248cee10919
parent 612d4669b0a6a4e5e2a445eb661e423a5d5c8acf
Author: regexghost <regexghost@protonmail.com>
Date: Thu, 23 Apr 2026 08:26:19 +0100
nano shortcuts support
Diffstat:
2 files changed, 12 insertions(+), 0 deletions(-)
diff --git a/config.def.h b/config.def.h
@@ -271,6 +271,7 @@ static uint ignoremod = Mod2Mask|XK_SWITCH_MOD;
*/
static Key key[] = {
/* keysym mask string appkey appcursor */
+ { XK_KP_Home, ControlMask, "\033[1;5H", 0, 0},
{ XK_KP_Home, ShiftMask, "\033[2J", 0, -1},
{ XK_KP_Home, ShiftMask, "\033[1;2H", 0, +1},
{ XK_KP_Home, XK_ANY_MOD, "\033[H", 0, -1},
@@ -287,6 +288,7 @@ static Key key[] = {
{ XK_KP_Right, XK_ANY_MOD, "\033Ov", +1, 0},
{ XK_KP_Right, XK_ANY_MOD, "\033[C", 0, -1},
{ XK_KP_Right, XK_ANY_MOD, "\033OC", 0, +1},
+ { XK_KP_Prior, Mod1Mask, "\033[5;3~", 0, 0},
{ XK_KP_Prior, ShiftMask, "\033[5;2~", 0, 0},
{ XK_KP_Prior, XK_ANY_MOD, "\033[5~", 0, 0},
{ XK_KP_Begin, XK_ANY_MOD, "\033[E", 0, 0},
@@ -297,16 +299,19 @@ static Key key[] = {
{ XK_KP_End, XK_ANY_MOD, "\033[4~", 0, 0},
{ XK_KP_Next, ShiftMask, "\033[6;2~", 0, 0},
{ XK_KP_Next, XK_ANY_MOD, "\033[6~", 0, 0},
+ { XK_KP_Next, Mod1Mask, "\033[6;3~", 0, 0},
{ XK_KP_Insert, ShiftMask, "\033[2;2~", +1, 0},
{ XK_KP_Insert, ShiftMask, "\033[4l", -1, 0},
{ XK_KP_Insert, ControlMask, "\033[L", -1, 0},
{ XK_KP_Insert, ControlMask, "\033[2;5~", +1, 0},
{ XK_KP_Insert, XK_ANY_MOD, "\033[4h", -1, 0},
{ XK_KP_Insert, XK_ANY_MOD, "\033[2~", +1, 0},
+ { XK_KP_Insert, Mod1Mask, "\033[2;3~", 0, 0},
{ XK_KP_Delete, ControlMask, "\033[M", -1, 0},
{ XK_KP_Delete, ControlMask, "\033[3;5~", +1, 0},
{ XK_KP_Delete, ShiftMask, "\033[2K", -1, 0},
{ XK_KP_Delete, ShiftMask, "\033[3;2~", +1, 0},
+ { XK_KP_Delete, Mod1Mask, "\033[3;3~", 0, 0},
{ XK_KP_Delete, XK_ANY_MOD, "\033[3~", -1, 0},
{ XK_KP_Delete, XK_ANY_MOD, "\033[3~", +1, 0},
{ XK_KP_Multiply, XK_ANY_MOD, "\033Oj", +2, 0},
@@ -371,14 +376,17 @@ static Key key[] = {
{ XK_Insert, ControlMask, "\033[2;5~", +1, 0},
{ XK_Insert, XK_ANY_MOD, "\033[4h", -1, 0},
{ XK_Insert, XK_ANY_MOD, "\033[2~", +1, 0},
+ { XK_Insert, Mod1Mask, "\033[2;3~", 0, 0},
{ XK_Delete, ControlMask, "\033[M", -1, 0},
{ XK_Delete, ControlMask, "\033[3;5~", +1, 0},
{ XK_Delete, ShiftMask, "\033[2K", -1, 0},
{ XK_Delete, ShiftMask, "\033[3;2~", +1, 0},
+ { XK_Delete, Mod1Mask, "\033[3;3~", 0, 0},
{ XK_Delete, XK_ANY_MOD, "\033[3~", -1, 0},
{ XK_Delete, XK_ANY_MOD, "\033[3~", +1, 0},
{ XK_BackSpace, XK_NO_MOD, "\177", 0, 0},
{ XK_BackSpace, Mod1Mask, "\033\177", 0, 0},
+ { XK_Home, ControlMask, "\033[1;5H", 0, 0},
{ XK_Home, ShiftMask, "\033[2J", 0, -1},
{ XK_Home, ShiftMask, "\033[1;2H", 0, +1},
{ XK_Home, XK_ANY_MOD, "\033[H", 0, -1},
@@ -389,9 +397,11 @@ static Key key[] = {
{ XK_End, ShiftMask, "\033[1;2F", +1, 0},
{ XK_End, XK_ANY_MOD, "\033[4~", 0, 0},
{ XK_Prior, ControlMask, "\033[5;5~", 0, 0},
+ { XK_Prior, Mod1Mask, "\033[5;3~", 0, 0},
{ XK_Prior, ShiftMask, "\033[5;2~", 0, 0},
{ XK_Prior, XK_ANY_MOD, "\033[5~", 0, 0},
{ XK_Next, ControlMask, "\033[6;5~", 0, 0},
+ { XK_Next, Mod1Mask, "\033[6;3~", 0, 0},
{ XK_Next, ShiftMask, "\033[6;2~", 0, 0},
{ XK_Next, XK_ANY_MOD, "\033[6~", 0, 0},
{ XK_F1, XK_NO_MOD, "\033OP" , 0, 0},
diff --git a/st.info b/st.info
@@ -62,8 +62,10 @@ st-mono| simpleterm monocolor,
kcuf1=\EOC,
kcuu1=\EOA,
kDC=\E[3;2~,
+ kDC5=\E[3;5~
kent=\EOM,
kEND=\E[1;2F,
+ kEND5=\E[1;5F,
kIC=\E[2;2~,
kNXT=\E[6;2~,
kPRV=\E[5;2~,