Be more lenient with compose+shift

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

@ -403,12 +403,22 @@ void intercept (XPointer user_data, XRecordInterceptData *data)
|| (km->UseKeyCode == True || (km->UseKeyCode == True
&& key_code == km->from_kc)) && key_code == km->from_kc))
{ {
handle_key (self, km, mouse_pressed, key_event); if ((km->UseKeyCode == False
} && XkbKeycodeToKeysym (self->ctrl_conn, key_code, 0, 0)
else if (km->pressed == km->from_ks)
&& (key_event == KeyPress || key_event == ButtonPress)) || (km->UseKeyCode == True
{ && key_code == km->from_kc))
km->used = True; {
handle_key (self, km, mouse_pressed, key_event);
}
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;
}
}
} }
} }
} }
@ -418,6 +428,7 @@ exit:
XRecordFreeData (data); XRecordFreeData (data);
} }
KeyMap_t *parse_token (Display *dpy, char *token, Bool debug) KeyMap_t *parse_token (Display *dpy, char *token, Bool debug)
{ {
KeyMap_t *km = NULL; KeyMap_t *km = NULL;

Loading…
Cancel
Save