aboutsummaryrefslogtreecommitdiff
path: root/st.c
diff options
context:
space:
mode:
authorChristoph Lohmann <20h@r-36.net>2012-11-15 20:19:35 +0100
committerChristoph Lohmann <20h@r-36.net>2012-11-15 20:19:35 +0100
commit2b6521f5d23da404a597d675d12d4c0cf89657de (patch)
tree44aba527c663bf8242f1b5d4ac73218e1c18810b /st.c
parent927d8fb45971ddf0eac115ad04161aba6bbd8bc7 (diff)
downloadst-2b6521f5d23da404a597d675d12d4c0cf89657de.tar.gz
st-2b6521f5d23da404a597d675d12d4c0cf89657de.tar.bz2
Optimizing the key lookup to the X11 function key. It is still possible to
remap other keys.
Diffstat (limited to 'st.c')
-rw-r--r--st.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/st.c b/st.c
index 477a8f8..02ef411 100644
--- a/st.c
+++ b/st.c
@@ -2711,6 +2711,20 @@ char*
kmap(KeySym k, uint state) {
uint mask;
Key *kp;
+ int i;
+
+ /* Check for mapped keys out of X11 function keys. */
+ for(i = 0; i < LEN(mappedkeys); i++) {
+ if(mappedkeys[i] == k) {
+ fprintf(stderr, "mapped function key.\n");
+ break;
+ }
+ }
+ if(i == LEN(mappedkeys)) {
+ if((k & 0xFFFF) < 0xFF00)
+ return NULL;
+ }
+ fprintf(stderr, "Function key.\n");
for(kp = key; kp < key + LEN(key); kp++) {
mask = kp->mask;