Add key for toogling numlock handling
Keypad will generate keycodes when keypad application mode is enabled. It can cause problems with some programs like vi, which operates in such mode. This patch change by default don't generate the keycodes never, but this behaviour can be changed using the combination Alt + NumLock. --- config.def.h | 34 ++++++++++++++++++---------------- st.c | 17 +++++++++++++++-- 2 files changed, 33 insertions(+), 18 deletions(-)
This commit is contained in:
1 parent
b26df1d0d3
commit
172f65436c
2 files changed
+33
-18
No files matched your search
+18
-16
@@ -62,6 +62,7 @@ static Shortcut shortcuts[] = {
|
||||
{ MODKEY|ShiftMask, XK_Prior, xzoom, {.i = +1} },
|
||||
{ MODKEY|ShiftMask, XK_Next, xzoom, {.i = -1} },
|
||||
{ ShiftMask, XK_Insert, selpaste, {.i = 0} },
|
||||
{ MODKEY, XK_Num_Lock, numlock, {.i = 0} },
|
||||
};
|
||||
|
||||
/*
|
||||
@@ -73,6 +74,7 @@ static Shortcut shortcuts[] = {
|
||||
* keypad value:
|
||||
* * 0: no value
|
||||
* * > 0: keypad application mode enabled
|
||||
* * = 2: term.numlock = 1
|
||||
* * < 0: keypad application mode disabled
|
||||
* cursor value:
|
||||
* * 0: no value
|
||||
@@ -123,24 +125,24 @@ static Key key[] = {
|
||||
{ XK_KP_Insert, XK_ANY_MOD, "\033[2~", 0, 0, 0},
|
||||
{ XK_KP_Delete, ShiftMask, "\033[3;2~", 0, 0, 0},
|
||||
{ XK_KP_Delete, XK_ANY_MOD, "\033[3~", 0, 0, 0},
|
||||
{ XK_KP_Multiply, XK_ANY_MOD, "\033Oj", +1, 0, 0},
|
||||
{ XK_KP_Add, XK_ANY_MOD, "\033Ok", +1, 0, 0},
|
||||
{ XK_KP_Enter, XK_ANY_MOD, "\033OM", +1, 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},
|
||||
{ XK_KP_Enter, XK_ANY_MOD, "\r", -1, 0, -1},
|
||||
{ XK_KP_Enter, XK_ANY_MOD, "\r\n", -1, 0, +1},
|
||||
{ XK_KP_Subtract, XK_ANY_MOD, "\033Om", +1, 0, 0},
|
||||
{ XK_KP_Decimal, XK_ANY_MOD, "\033On", +1, 0, 0},
|
||||
{ XK_KP_Divide, XK_ANY_MOD, "\033Oo", +1, 0, 0},
|
||||
{ XK_KP_0, XK_ANY_MOD, "\033Op", +1, 0, 0},
|
||||
{ XK_KP_1, XK_ANY_MOD, "\033Oq", +1, 0, 0},
|
||||
{ XK_KP_2, XK_ANY_MOD, "\033Or", +1, 0, 0},
|
||||
{ XK_KP_3, XK_ANY_MOD, "\033Os", +1, 0, 0},
|
||||
{ XK_KP_4, XK_ANY_MOD, "\033Ot", +1, 0, 0},
|
||||
{ XK_KP_5, XK_ANY_MOD, "\033Ou", +1, 0, 0},
|
||||
{ XK_KP_6, XK_ANY_MOD, "\033Ov", +1, 0, 0},
|
||||
{ XK_KP_7, XK_ANY_MOD, "\033Ow", +1, 0, 0},
|
||||
{ XK_KP_8, XK_ANY_MOD, "\033Ox", +1, 0, 0},
|
||||
{ XK_KP_9, XK_ANY_MOD, "\033Oy", +1, 0, 0},
|
||||
{ XK_KP_Subtract, XK_ANY_MOD, "\033Om", +2, 0, 0},
|
||||
{ XK_KP_Decimal, XK_ANY_MOD, "\033On", +2, 0, 0},
|
||||
{ XK_KP_Divide, XK_ANY_MOD, "\033Oo", +2, 0, 0},
|
||||
{ XK_KP_0, XK_ANY_MOD, "\033Op", +2, 0, 0},
|
||||
{ XK_KP_1, XK_ANY_MOD, "\033Oq", +2, 0, 0},
|
||||
{ XK_KP_2, XK_ANY_MOD, "\033Or", +2, 0, 0},
|
||||
{ XK_KP_3, XK_ANY_MOD, "\033Os", +2, 0, 0},
|
||||
{ XK_KP_4, XK_ANY_MOD, "\033Ot", +2, 0, 0},
|
||||
{ XK_KP_5, XK_ANY_MOD, "\033Ou", +2, 0, 0},
|
||||
{ XK_KP_6, XK_ANY_MOD, "\033Ov", +2, 0, 0},
|
||||
{ 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},
|
||||
|
||||
Reference in new issue
Block a user