Be more lenient with compose+shift

master
Jacopo De Simoi 11 years ago
parent a34d6bae27
commit 998cc7ba6c
  1. 15
      xcape.c

@ -396,6 +396,12 @@ void intercept (XPointer user_data, XRecordInterceptData *data)
mouse_pressed = False;
}
for (km = self->map; km != NULL; km = km->next)
{
if ((km->UseKeyCode == False
&& XkbKeycodeToKeysym (self->ctrl_conn, key_code, 0, 0)
== km->from_ks)
|| (km->UseKeyCode == True
&& key_code == km->from_kc))
{
if ((km->UseKeyCode == False
&& XkbKeycodeToKeysym (self->ctrl_conn, key_code, 0, 0)
@ -405,19 +411,24 @@ void intercept (XPointer user_data, XRecordInterceptData *data)
{
handle_key (self, km, mouse_pressed, key_event);
}
else if (km->pressed
&& (key_event == KeyPress || key_event == ButtonPress))
else if (km->pressed && (key_event == KeyPress || key_event == ButtonPress))
{
/* 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;
}
}
}
}
}
exit:
XUnlockDisplay (self->ctrl_conn);
XRecordFreeData (data);
}
KeyMap_t *parse_token (Display *dpy, char *token, Bool debug)
{
KeyMap_t *km = NULL;

Loading…
Cancel
Save