Don't discard key press / key release events if the keys are different

Keystrokes get dropped if the user types too quickly.
diff --git a/compositor/compositor-x11.c b/compositor/compositor-x11.c
index 9b255a4..0825f1a 100644
--- a/compositor/compositor-x11.c
+++ b/compositor/compositor-x11.c
@@ -468,7 +468,8 @@
 			key_release = (xcb_key_press_event_t *) prev;
 			key_press = (xcb_key_press_event_t *) event;
 			if ((event->response_type & ~0x80) == XCB_KEY_PRESS &&
-			    key_release->time == key_press->time) {
+			    key_release->time == key_press->time &&
+			    key_release->detail == key_press->detail) {
 				/* Don't deliver the held key release
 				 * event or the new key press event. */
 				free(event);