aboutsummaryrefslogtreecommitdiff
path: root/config.def.h
diff options
context:
space:
mode:
authorRoberto E. Vargas Caballero <k0ga@shike2.com>2012-11-15 15:36:20 +0100
committerRoberto E. Vargas Caballero <k0ga@shike2.com>2012-11-15 15:36:20 +0100
commit4389f2eb1b27f7a210e1f631e703c48a8ca8d50b (patch)
tree218852c80fb3d8b205d080a74a0161c282183f89 /config.def.h
parent88bb76c1bccbc8bb68b6776062cd2ef28bda8561 (diff)
downloadst-4389f2eb1b27f7a210e1f631e703c48a8ca8d50b.tar.gz
st-4389f2eb1b27f7a210e1f631e703c48a8ca8d50b.zip
Use XK_ANY_MOD instead of XK_NO_MOD in key definition
Usually terminal emulators don't generate any sequence for a combination they don't have registered, for example Shift + Next, but st behavior previous to the keyboard patch generates the sequence without the modifier, in this example Next. This patch uses the XK_ANY_MOD in order to get this same behaviour. --- config.def.h | 114 ++++++++++++++++++++++++++++++---------------------------- 1 file changed, 59 insertions(+), 55 deletions(-)
Diffstat (limited to 'config.def.h')
-rw-r--r--config.def.h114
1 files changed, 59 insertions, 55 deletions
diff --git a/config.def.h b/config.def.h
index 972285b..bd5a888 100644
--- a/config.def.h
+++ b/config.def.h
@@ -72,91 +72,95 @@ static unsigned int defaultucs = 257;
72 * * 0: no value 72 * * 0: no value
73 * * > 0: crlf mode is enabled 73 * * > 0: crlf mode is enabled
74 * * < 0: crlf mode is disabled 74 * * < 0: crlf mode is disabled
75 *
76 * Be careful with the order of the definitons because st searchs in
77 * this table sequencially, so any XK_ANY_MOD must be in the last
78 * position for a key.
75 */ 79 */
76 80
77/* key, mask, output, keypad, cursor, crlf */ 81/* key, mask, output, keypad, cursor, crlf */
78static Key key[] = { 82static Key key[] = {
79 /* keysym mask string keypad cursor crlf */ 83 /* keysym mask string keypad cursor crlf */
80 { XK_KP_Home, XK_NO_MOD, "\033[H", 0, 0, 0},
81 { XK_KP_Home, ShiftMask, "\033[1;2H", 0, 0, 0}, 84 { XK_KP_Home, ShiftMask, "\033[1;2H", 0, 0, 0},
82 { XK_KP_Up, XK_NO_MOD, "\033Ox", +1, 0, 0}, 85 { XK_KP_Home, XK_ANY_MOD, "\033[H", 0, 0, 0},
83 { XK_KP_Up, XK_NO_MOD, "\033[A", 0, -1, 0}, 86 { XK_KP_Up, XK_ANY_MOD, "\033Ox", +1, 0, 0},
84 { XK_KP_Up, XK_NO_MOD, "\033OA", 0, +1, 0}, 87 { XK_KP_Up, XK_ANY_MOD, "\033[A", 0, -1, 0},
85 { XK_KP_Down, XK_NO_MOD, "\033Or", +1, 0, 0}, 88 { XK_KP_Up, XK_ANY_MOD, "\033OA", 0, +1, 0},
86 { XK_KP_Down, XK_NO_MOD, "\033[B", 0, -1, 0}, 89 { XK_KP_Down, XK_ANY_MOD, "\033Or", +1, 0, 0},
87 { XK_KP_Down, XK_NO_MOD, "\033OB", 0, +1, 0}, 90 { XK_KP_Down, XK_ANY_MOD, "\033[B", 0, -1, 0},
88 { XK_KP_Left, XK_NO_MOD, "\033Ot", +1, 0, 0}, 91 { XK_KP_Down, XK_ANY_MOD, "\033OB", 0, +1, 0},
89 { XK_KP_Left, XK_NO_MOD, "\033[D", 0, -1, 0}, 92 { XK_KP_Left, XK_ANY_MOD, "\033Ot", +1, 0, 0},
90 { XK_KP_Left, XK_NO_MOD, "\033OD", 0, +1, 0}, 93 { XK_KP_Left, XK_ANY_MOD, "\033[D", 0, -1, 0},
91 { XK_KP_Right, XK_NO_MOD, "\033Ov", +1, 0, 0}, 94 { XK_KP_Left, XK_ANY_MOD, "\033OD", 0, +1, 0},
92 { XK_KP_Right, XK_NO_MOD, "\033[C", 0, -1, 0}, 95 { XK_KP_Right, XK_ANY_MOD, "\033Ov", +1, 0, 0},
93 { XK_KP_Right, XK_NO_MOD, "\033OC", 0, +1, 0}, 96 { XK_KP_Right, XK_ANY_MOD, "\033[C", 0, -1, 0},
94 { XK_KP_Prior, XK_NO_MOD, "\033[5~", 0, 0, 0}, 97 { XK_KP_Right, XK_ANY_MOD, "\033OC", 0, +1, 0},
95 { XK_KP_Prior, ShiftMask, "\033[5;2~", 0, 0, 0}, 98 { XK_KP_Prior, ShiftMask, "\033[5;2~", 0, 0, 0},
96 { XK_KP_Begin, XK_NO_MOD, "\033[E", 0, 0, 0}, 99 { XK_KP_Prior, XK_ANY_MOD, "\033[5~", 0, 0, 0},
97 { XK_KP_End, XK_NO_MOD, "\033[4~", 0, 0, 0}, 100 { XK_KP_Begin, XK_ANY_MOD, "\033[E", 0, 0, 0},
98 { XK_KP_End, ShiftMask, "\033[1;2F", 0, 0, 0}, 101 { XK_KP_End, ShiftMask, "\033[1;2F", 0, 0, 0},
99 { XK_KP_Next, XK_NO_MOD, "\033[6~", 0, 0, 0}, 102 { XK_KP_End, XK_ANY_MOD, "\033[4~", 0, 0, 0},
100 { XK_KP_Next, ShiftMask, "\033[6;2~", 0, 0, 0}, 103 { XK_KP_Next, ShiftMask, "\033[6;2~", 0, 0, 0},
101 { XK_KP_Insert, XK_NO_MOD, "\033[2~", 0, 0, 0}, 104 { XK_KP_Next, XK_ANY_MOD, "\033[6~", 0, 0, 0},
102 { XK_KP_Insert, ShiftMask, "\033[2;2~", 0, 0, 0}, 105 { XK_KP_Insert, ShiftMask, "\033[2;2~", 0, 0, 0},
103 { XK_KP_Delete, XK_NO_MOD, "\033[3~", 0, 0, 0}, 106 { XK_KP_Insert, XK_ANY_MOD, "\033[2~", 0, 0, 0},
104 { XK_KP_Delete, ShiftMask, "\033[3;2~", 0, 0, 0}, 107 { XK_KP_Delete, ShiftMask, "\033[3;2~", 0, 0, 0},
105 { XK_KP_Multiply, XK_NO_MOD, "\033Oj", +1, 0, 0}, 108 { XK_KP_Delete, XK_ANY_MOD, "\033[3~", 0, 0, 0},
106 { XK_KP_Add, XK_NO_MOD, "\033Ok", +1, 0, 0}, 109 { XK_KP_Multiply, XK_ANY_MOD, "\033Oj", +1, 0, 0},
107 { XK_KP_Enter, XK_NO_MOD, "\033OM", +1, 0, 0}, 110 { XK_KP_Add, XK_ANY_MOD, "\033Ok", +1, 0, 0},
108 { XK_KP_Enter, XK_NO_MOD, "\n", -1, 0, -1}, 111 { XK_KP_Enter, XK_ANY_MOD, "\033OM", +1, 0, 0},
109 { XK_KP_Enter, XK_NO_MOD, "\r\n", -1, 0, 0}, 112 { XK_KP_Enter, XK_ANY_MOD, "\n", -1, 0, +1},
110 { XK_KP_Subtract, XK_NO_MOD, "\033Om", +1, 0, 0}, 113 { XK_KP_Enter, XK_ANY_MOD, "\r\n", -1, 0, -1},
111 { XK_KP_Decimal, XK_NO_MOD, "\033On", +1, 0, 0}, 114 { XK_KP_Subtract, XK_ANY_MOD, "\033Om", +1, 0, 0},
112 { XK_KP_Divide, XK_NO_MOD, "\033Oo", +1, 0, 0}, 115 { XK_KP_Decimal, XK_ANY_MOD, "\033On", +1, 0, 0},
113 { XK_KP_0, XK_NO_MOD, "\033Op", +1, 0, 0}, 116 { XK_KP_Divide, XK_ANY_MOD, "\033Oo", +1, 0, 0},
114 { XK_KP_1, XK_NO_MOD, "\033Oq", +1, 0, 0}, 117 { XK_KP_0, XK_ANY_MOD, "\033Op", +1, 0, 0},
115 { XK_KP_2, XK_NO_MOD, "\033Or", +1, 0, 0}, 118 { XK_KP_1, XK_ANY_MOD, "\033Oq", +1, 0, 0},
116 { XK_KP_3, XK_NO_MOD, "\033Os", +1, 0, 0}, 119 { XK_KP_2, XK_ANY_MOD, "\033Or", +1, 0, 0},
117 { XK_KP_4, XK_NO_MOD, "\033Ot", +1, 0, 0}, 120 { XK_KP_3, XK_ANY_MOD, "\033Os", +1, 0, 0},
118 { XK_KP_5, XK_NO_MOD, "\033Ou", +1, 0, 0}, 121 { XK_KP_4, XK_ANY_MOD, "\033Ot", +1, 0, 0},
119 { XK_KP_6, XK_NO_MOD, "\033Ov", +1, 0, 0}, 122 { XK_KP_5, XK_ANY_MOD, "\033Ou", +1, 0, 0},
120 { XK_KP_7, XK_NO_MOD, "\033Ow", +1, 0, 0}, 123 { XK_KP_6, XK_ANY_MOD, "\033Ov", +1, 0, 0},
121 { XK_KP_8, XK_NO_MOD, "\033Ox", +1, 0, 0}, 124 { XK_KP_7, XK_ANY_MOD, "\033Ow", +1, 0, 0},
122 { XK_KP_9, XK_NO_MOD, "\033Oy", +1, 0, 0}, 125 { XK_KP_8, XK_ANY_MOD, "\033Ox", +1, 0, 0},
123 { XK_BackSpace, XK_NO_MOD, "\177", 0, 0, 0}, 126 { XK_KP_9, XK_ANY_MOD, "\033Oy", +1, 0, 0},
124 { XK_Up, XK_NO_MOD, "\033[A", 0, -1, 0}, 127 { XK_BackSpace, XK_ANY_MOD, "\177", 0, 0, 0},
125 { XK_Up, XK_NO_MOD, "\033OA", 0, +1, 0},
126 { XK_Up, ShiftMask, "\033[1;2A", 0, 0, 0}, 128 { XK_Up, ShiftMask, "\033[1;2A", 0, 0, 0},
127 { XK_Up, ControlMask, "\033[1;5A", 0, 0, 0}, 129 { XK_Up, ControlMask, "\033[1;5A", 0, 0, 0},
128 { XK_Up, Mod1Mask, "\033[1;3A", 0, 0, 0}, 130 { XK_Up, Mod1Mask, "\033[1;3A", 0, 0, 0},
129 { XK_Down, XK_NO_MOD, "\033[B", 0, -1, 0}, 131 { XK_Up, XK_ANY_MOD, "\033[A", 0, -1, 0},
130 { XK_Down, XK_NO_MOD, "\033OB", 0, +1, 0}, 132 { XK_Up, XK_ANY_MOD, "\033OA", 0, +1, 0},
131 { XK_Down, ShiftMask, "\033[1;2B", 0, 0, 0}, 133 { XK_Down, ShiftMask, "\033[1;2B", 0, 0, 0},
132 { XK_Down, ControlMask, "\033[1;5B", 0, 0, 0}, 134 { XK_Down, ControlMask, "\033[1;5B", 0, 0, 0},
133 { XK_Down, Mod1Mask, "\033[1;3B", 0, 0, 0}, 135 { XK_Down, Mod1Mask, "\033[1;3B", 0, 0, 0},
134 { XK_Left, XK_NO_MOD, "\033[D", 0, -1, 0}, 136 { XK_Down, XK_ANY_MOD, "\033[B", 0, -1, 0},
135 { XK_Left, XK_NO_MOD, "\033OD", 0, +1, 0}, 137 { XK_Down, XK_ANY_MOD, "\033OB", 0, +1, 0},
136 { XK_Left, ShiftMask, "\033[1;2D", 0, 0, 0}, 138 { XK_Left, ShiftMask, "\033[1;2D", 0, 0, 0},
137 { XK_Left, ControlMask, "\033[1;5D", 0, 0, 0}, 139 { XK_Left, ControlMask, "\033[1;5D", 0, 0, 0},
138 { XK_Left, Mod1Mask, "\033[1;3D", 0, 0, 0}, 140 { XK_Left, Mod1Mask, "\033[1;3D", 0, 0, 0},
139 { XK_Right, XK_NO_MOD, "\033[C", 0, -1, 0}, 141 { XK_Left, XK_ANY_MOD, "\033[D", 0, -1, 0},
140 { XK_Right, XK_NO_MOD, "\033OC", 0, +1, 0}, 142 { XK_Left, XK_ANY_MOD, "\033OD", 0, +1, 0},
141 { XK_Right, ShiftMask, "\033[1;2C", 0, 0, 0}, 143 { XK_Right, ShiftMask, "\033[1;2C", 0, 0, 0},
142 { XK_Right, ControlMask, "\033[1;5C", 0, 0, 0}, 144 { XK_Right, ControlMask, "\033[1;5C", 0, 0, 0},
143 { XK_Right, Mod1Mask, "\033[1;3C", 0, 0, 0}, 145 { XK_Right, Mod1Mask, "\033[1;3C", 0, 0, 0},
146 { XK_Right, XK_ANY_MOD, "\033[C", 0, -1, 0},
147 { XK_Right, XK_ANY_MOD, "\033OC", 0, +1, 0},
144 { XK_ISO_Left_Tab, ShiftMask, "\033[Z", 0, 0, 0}, 148 { XK_ISO_Left_Tab, ShiftMask, "\033[Z", 0, 0, 0},
145 { XK_Return, XK_NO_MOD, "\n", 0, 0, -1}, 149 { XK_Return, Mod1Mask, "\033\n", 0, 0, +1},
146 { XK_Return, XK_NO_MOD, "\r\n", 0, 0, +1}, 150 { XK_Return, Mod1Mask, "\033\r\n", 0, 0, -1},
147 { XK_Return, Mod1Mask, "\033\n", 0, 0, -1}, 151 { XK_Return, XK_ANY_MOD, "\n", 0, 0, +1},
148 { XK_Return, Mod1Mask, "\033\r\n", 0, 0, +1}, 152 { XK_Return, XK_ANY_MOD, "\r\n", 0, 0, -1},
149 { XK_Insert, XK_NO_MOD, "\033[2~", 0, 0, 0},
150 { XK_Insert, ShiftMask, "\033[2;2~", 0, 0, 0}, 153 { XK_Insert, ShiftMask, "\033[2;2~", 0, 0, 0},
151 { XK_Delete, XK_NO_MOD, "\033[3~", 0, 0, 0}, 154 { XK_Insert, XK_ANY_MOD, "\033[2~", 0, 0, 0},
152 { XK_Delete, ShiftMask, "\033[3;2~", 0, 0, 0}, 155 { XK_Delete, ShiftMask, "\033[3;2~", 0, 0, 0},
153 { XK_Home, XK_NO_MOD, "\033[H", 0, 0, 0}, 156 { XK_Delete, XK_ANY_MOD, "\033[3~", 0, 0, 0},
154 { XK_Home, ShiftMask, "\033[1;2H", 0, 0, 0}, 157 { XK_Home, ShiftMask, "\033[1;2H", 0, 0, 0},
155 { XK_End, XK_NO_MOD, "\033[4~", 0, 0, 0}, 158 { XK_Home, XK_ANY_MOD, "\033[H", 0, 0, 0},
156 { XK_End, ShiftMask, "\033[1;2F", 0, 0, 0}, 159 { XK_End, ShiftMask, "\033[1;2F", 0, 0, 0},
160 { XK_End, XK_ANY_MOD, "\033[4~", 0, 0, 0},
157 { XK_Prior, XK_NO_MOD, "\033[5~", 0, 0, 0}, 161 { XK_Prior, XK_NO_MOD, "\033[5~", 0, 0, 0},
158 { XK_Next, XK_NO_MOD, "\033[6~", 0, 0, 0},
159 { XK_Next, ShiftMask, "\033[6;2~", 0, 0, 0}, 162 { XK_Next, ShiftMask, "\033[6;2~", 0, 0, 0},
163 { XK_Next, XK_ANY_MOD, "\033[6~", 0, 0, 0},
160 { XK_F1, XK_NO_MOD, "\033OP" , 0, 0, 0}, 164 { XK_F1, XK_NO_MOD, "\033OP" , 0, 0, 0},
161 { XK_F1, /* F13 */ ShiftMask, "\033[1;2P", 0, 0, 0}, 165 { XK_F1, /* F13 */ ShiftMask, "\033[1;2P", 0, 0, 0},
162 { XK_F1, /* F25 */ ControlMask, "\033[1;5P", 0, 0, 0}, 166 { XK_F1, /* F25 */ ControlMask, "\033[1;5P", 0, 0, 0},