diff --git a/xcape.c b/xcape.c index 898e47c..e8b2a58 100644 --- a/xcape.c +++ b/xcape.c @@ -369,9 +369,13 @@ void intercept (XPointer user_data, XRecordInterceptData *data) { handle_key (self, km, mouse_pressed, key_event); } - else if (km->pressed && key_event == KeyPress) + else if (km->pressed && key_event == KeyPress) { - km->used = True; + /* We should check if the pressed key is a modifier before marking the key as used. */ + if (key_code != 50) /* hack; try if it works */ + { + km->used = True; + } } } } @@ -381,6 +385,7 @@ exit: XRecordFreeData (data); } + KeyMap_t *parse_token (Display *dpy, char *token, Bool debug) { KeyMap_t *km = NULL;