<div dir="ltr"><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;font-size:small">[oops, forgot to cc the list as well in my reply]</div><div class="gmail_extra"><br><div class="gmail_quote">On 8 March 2016 at 13:06, Olivier Fourdan <span dir="ltr"><<a href="mailto:fourdan@gmail.com" target="_blank">fourdan@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div style="font-family:arial,helvetica,sans-serif;font-size:small">Hi</div><div class="gmail_extra"><br><div class="gmail_quote"><span class="">On 8 March 2016 at 12:59, Daniel Stone <span dir="ltr"><<a href="mailto:daniel@fooishbar.org" target="_blank">daniel@fooishbar.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi,<br>
<span><br>
On 7 March 2016 at 17:45, Olivier Fourdan <<a href="mailto:ofourdan@redhat.com" target="_blank">ofourdan@redhat.com</a>> wrote:<br>
> Key repeat is handled by the X server, but input events need to be<br>
> processed and forwarded by the Wayland compositor first.<br>
><br>
> Make sure the Wayland compositor is actually processing events, to<br>
> avoid repeating keys in xwayland while the Wayland compositor cannot<br>
> deal with input events for whatever reason, thus not dispatching key<br>
> release events, leading to fictious repeat keys while the use has<br>
> already released the key.<br>
<br>
</span>I worry about the potential for deadlock here: what happens if the<br>
compositor is blocked on a roundtrip to the X server (which can easily<br>
happen with Mutter I believe), but the server processes the key repeat<br>
timer before the client request? At that point, no-one can make<br>
progress ...<br></blockquote><div><br></div><div><div style="font-family:arial,helvetica,sans-serif;font-size:small;display:inline"><br></div></div></span><div><div style="font-family:arial,helvetica,sans-serif;font-size:small;display:inline">The key repeat is simply discarded, ie no (fake, repeated) key press event will be emitted but the X server is not blocked and still process other events, so I am not sure how we could end up in a deadlock. Unless I don't understand what you mean.</div></div><div><div style="font-family:arial,helvetica,sans-serif;font-size:small;display:inline"><br></div></div><div><div style="font-family:arial,helvetica,sans-serif;font-size:small;display:inline">BTW, this patch is simply a proof of concept, I'll post a slightly less "hack-y-ish" patch is a short while.</div></div><div><div style="font-family:arial,helvetica,sans-serif;font-size:small;display:inline"><br></div></div><div><div style="font-family:arial,helvetica,sans-serif;font-size:small;display:inline">Cheers,</div></div><div><div style="font-family:arial,helvetica,sans-serif;font-size:small;display:inline">Olivier</div></div></div></div></div>
</blockquote></div><br></div></div>