From 172f65436ce14a52842d67b862fdc45f8ff3ada3 Mon Sep 17 00:00:00 2001 From: "Roberto E. Vargas Caballero" Date: Sun, 25 Nov 2012 09:23:02 +0100 Subject: 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(-) --- config.def.h | 34 ++++++++++++++++++---------------- 1 file changed, 18 insertions(+), 16 deletions(-) (limited to 'config.def.h') diff --git a/config.def.h b/config.def.h index 8543ea2..7c55ef2 100644 --- a/config.def.h +++ b/config.def.h @@ -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}, -- cgit v1.2.3