<div dir="auto">I wouldn't revert it just yet. If my fix is ready in the next 24 hours (which is likely as I am 80% there and have most of the major issues worked out), then we can simply do a new release.<br><br><div data-smartmail="gmail_signature">Best,<br><br>Ico<br><br>-- <br>Ivica Ico Bukvic, D.M.A.<br>Director, Creativity + Innovation<br>Institute for Creativity, Arts, and Technology<br><br>Virginia Tech<br>Creative Technologies in Music<br>School of Performing Arts – 0141<br>Blacksburg, VA 24061<br>(540) 231-6139<br><a href="mailto:ico@vt.edu">ico@vt.edu</a><br><br><a href="http://www.icat.vt.edu">www.icat.vt.edu</a><br><a href="http://www.performingarts.vt.edu">www.performingarts.vt.edu</a><br><a href="http://l2ork.icat.vt.edu">l2ork.icat.vt.edu</a><br><a href="http://ico.bukvic.net">ico.bukvic.net</a></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Oct 2, 2020, 00:59 Albert Graef <<a href="mailto:aggraef@gmail.com">aggraef@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>So what's the short-term fix that you suggest? Do we need to revert <a href="https://git.purrdata.net/jwilkes/purr-data/-/merge_requests/557" target="_blank" rel="noreferrer">https://git.purrdata.net/jwilkes/purr-data/-/merge_requests/557</a> until a proper fix is deployed?</div><div><br></div><div>Albert</div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Oct 2, 2020 at 4:36 AM Ivica Bukvic <<a href="mailto:ico@vt.edu" target="_blank" rel="noreferrer">ico@vt.edu</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">Plot thickens... It appears as far as I can tell ever since we migrated to 2.x the mouseup events never reach the objects that are clicked on as the command was hidden behind an if statement that was used only by the tcl/tk implementation. Adding mouseup event simplifies things a bit, so we may be able to fix this without changing the order of key command propagation. That said, I would still like to explore this idea of switching them around as there may be other benefits...<br clear="all"><div><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><pre cols="72"><pre cols="72">-- <br>Ivica Ico Bukvic, D.M.A.<br>Director, Creativity + Innovation
Director, Human-Centered Design iPhD
Institute for Creativity, Arts, and Technology
</pre><pre cols="72">Virginia Tech<br>Creative Technologies in Music<br>School of Performing Arts – 0141<br>Blacksburg, VA 24061<br>(540) 231-6139<br><a href="mailto:ico@vt.edu" target="_blank" rel="noreferrer">ico@vt.edu</a><br><br><a href="http://ci.icat.vt.edu" target="_blank" rel="noreferrer">ci.icat.vt.edu</a>
<a href="http://hcd.icat.vt.edu/" target="_blank" rel="noreferrer">hcd.icat.vt.edu</a>
<a href="http://www.icat.vt.edu" target="_blank" rel="noreferrer">www.icat.vt.edu</a><br><a href="http://www.performingarts.vt.edu" target="_blank" rel="noreferrer">www.performingarts.vt.edu</a><br><a href="http://l2ork.icat.vt.edu" target="_blank" rel="noreferrer">l2ork.icat.vt.edu</a><br><a href="http://ico.bukvic.net" target="_blank" rel="noreferrer">ico.bukvic.net<br></a></pre></pre></div></div></div></div></div></div><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Oct 1, 2020 at 8:38 PM Ivica Bukvic <<a href="mailto:ico@vt.edu" target="_blank" rel="noreferrer">ico@vt.edu</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">So, today I had a chance to test out the new exclusive keyboard grab in the version 2.15 with my class and noticed one regression that will require additional adjustments.<div><br></div><div>Namely, now when one clicks on the hslider (or vslider) to drag it, this generates a glist_grab which renders keyboard access to other parts of the patch impossible which is not a desired behavior, since one should be still able to type while dragging a slider with their mouse. </div><div><br></div><div>So, it seems we need an exclusive flag to glist_grab call that can specify if an object wants exclusive focus or not. This will provide greatest flexibility. For instance, numbox when clicked and its number is dragged, may not want exclusive keyboard access since the number is being changed by a mouse. However, as soon as the object receives a key after it has been dragged, it should switch to its exclusive mode that lasts until the user clicks outside the numbox or waits 3 seconds for the focus to time out.</div><div><br></div><div>This, however, will require another foundational consideration. So far, the main keyboard input has worked in the following order:</div><div><br></div><div>1) send key presses to all objects that are bound to key press symbols</div><div>2) then send it to a grabbed object</div><div><br></div><div>For the aforesaid example to work, we will want to have these in reverse order (glist_grabbed first, so that it can intercept the key press and switch the exclusive flag on, which will then prevent passing the key press to bound objects until the object having exclusive focus has released its requested focus).</div><div><br></div><div>Can anyone think of any potential pitfalls of rotating the order of these two? Could this foundationally break patches? I currently cannot think of a scenario where that would be true. The only thing that comes to mind is something where a numbox receives values via receive and also broadcasts user's values, but even then, clicking and dragging would not create an exclusive grab, and once a user starts typing, it will not output a new value until the user presses return. Besides, if someone had this kind of a scenario, I imagine this could easily cause an infinite recursion.</div><div><br></div><div>At any rate, I would love everyone's thoughts on this one.</div><div><br></div><div>Best,</div><div><br></div><div>Ico</div><div><div><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><pre cols="72"><pre cols="72">-- <br>Ivica Ico Bukvic, D.M.A.<br>Director, Creativity + Innovation
Director, Human-Centered Design iPhD
Institute for Creativity, Arts, and Technology
</pre><pre cols="72">Virginia Tech<br>Creative Technologies in Music<br>School of Performing Arts – 0141<br>Blacksburg, VA 24061<br>(540) 231-6139<br><a href="mailto:ico@vt.edu" target="_blank" rel="noreferrer">ico@vt.edu</a><br><br><a href="http://ci.icat.vt.edu" target="_blank" rel="noreferrer">ci.icat.vt.edu</a>
<a href="http://hcd.icat.vt.edu/" target="_blank" rel="noreferrer">hcd.icat.vt.edu</a>
<a href="http://www.icat.vt.edu" target="_blank" rel="noreferrer">www.icat.vt.edu</a><br><a href="http://www.performingarts.vt.edu" target="_blank" rel="noreferrer">www.performingarts.vt.edu</a><br><a href="http://l2ork.icat.vt.edu" target="_blank" rel="noreferrer">l2ork.icat.vt.edu</a><br><a href="http://ico.bukvic.net" target="_blank" rel="noreferrer">ico.bukvic.net<br></a></pre></pre></div></div></div></div></div></div></div></div>
</blockquote></div>
</blockquote></div><br clear="all"><br>-- <br><div dir="ltr"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr">Dr. Albert Gr"af<br>Computer Music Research Group, JGU Mainz, Germany<br>Email: <a href="mailto:aggraef@gmail.com" target="_blank" rel="noreferrer">aggraef@gmail.com</a>, web: <a href="https://agraef.github.io/" target="_blank" rel="noreferrer">https://agraef.github.io/</a></div></div></div></div></div></div>
</blockquote></div>