[L2Ork-dev] Purr Data 2.14.2
jon.w.wilkes at gmail.com
Thu Sep 24 12:12:17 EDT 2020
On Thu, Sep 24, 2020 at 11:17 AM Albert Graef <aggraef at gmail.com> wrote:
> On Thu, Sep 24, 2020 at 4:37 PM Jonathan Wilkes <jon.w.wilkes at gmail.com> wrote:
>> That's what Agent Smith calls Neo in the movie The Matrix.
> Of course. *facepalm*
>> So I don't think I understand the root cause of the bug.
> Sorry, I remembered that incorrectly, it's actually the engine which never updates its state, because the GUI doesn't tell it to, because the canvas never receives the Ctrl key up. More precisely (looking up the discussion in !528 again), the real issue was that, because the Ctrl up event wouldn't be promoted to the canvas, the engine never gets the information that glob_ctrl should be turned off again, so the engine still thinks it's in temporary runmode. So when the find operation asked to put the canvas into editmode, it just ignored that request -- it knows it's in temporary runmode and is still expecting that Ctrl up event to arrive which will put it back in editmode anyway. The editmode grid doesn't reappear for the same reason if you invoke something like Ctrl+Shift+S, because the engine doesn't exit temporary runmode. I'd have to debug it all over again to tell you all the gory details, but I think that's the gist of it.
Ok, that sounds correct.
I mentioned one solution previously, which was to just go ahead and
send a ctrl up event to the backend in the relevant callbacks. To sum
up-- it's more involved than simply changing the keybinding.
I think there is another-- instead of triggering the beginning of the
mode on `<ctrl>`, we could trigger it on click. Then we can just look
to see if there's a `<ctrl>` modifier with the click, and if so send
that `<ctrl>` key event to the backend. Now the backend can wait with
impunity for the `<ctrl>` keyup since we know the user is in the midst
of a click.
To be completist we could do the same for an initial mousemove event
to check if `<ctrl>` is depressed. That would leave a single esoteric
bug, which is that the user wouldn't be able to trigger a pointer
cursor change-- say, hovering over a scalar's clickable hotspot--
simple by depressing and release `<ctrl>`.
>> I vote for keeping the <ctrl> binding.
> Counted, thanks.
> It probably doesn't come as a big surprise that I vote for the Alt key myself. ;-)
> Anyone else? Ico, IIRC it was actually you who originally suggested the Alt key (or would at least be fine with it), so what's your vote then?
>> >>> I also see the new grid in Edit mode. Is there any way to snap to this grid?
>> >> And this...?
>> >> _______________________________________________
>> >> L2Ork-dev mailing list
>> >> L2Ork-dev at disis.music.vt.edu
>> >> https://disis.music.vt.edu/listinfo/l2ork-dev
>> > --
>> > Dr. Albert Gr"af
>> > Computer Music Research Group, JGU Mainz, Germany
>> > Email: aggraef at gmail.com, web: https://agraef.github.io/
>> > _______________________________________________
>> > L2Ork-dev mailing list
>> > L2Ork-dev at disis.music.vt.edu
>> > https://disis.music.vt.edu/listinfo/l2ork-dev
>> L2Ork-dev mailing list
>> L2Ork-dev at disis.music.vt.edu
> Dr. Albert Gr"af
> Computer Music Research Group, JGU Mainz, Germany
> Email: aggraef at gmail.com, web: https://agraef.github.io/
> L2Ork-dev mailing list
> L2Ork-dev at disis.music.vt.edu
More information about the L2Ork-dev