DirectEntry and Stashing: "Down" Events Stop Working; "Up" Events Keep Working

As part of my menu-handling, I’m stashing the main mouse-watcher and instating another, with the opposite being done at a later stage.

However, this causes DirectEntry objects to stop working. So, to deal with that I temporarily reverse the stashing (i.e. stash the other watcher and un-stash the main mouse-watcher) when a DirectEntry is selected.

And it… sort of works! I have one bug, but it’s not a major one, I think.

However, I also want the arrow-keys to keep working during all of this–and it’s here that my problem lies: When the stashing is reversed for a DirectEntry, the raw-arrow-down events stop being fired–but the raw-arrow-up events still work!

It may or may not be worth noting that this is happening with text-entry active in the DirectEntry, and that I do seem to be able to use the arrows to navigate left and right within the entry.

This seems to be confirmed by calling “messenger.toggleVerbose”: I’m seeing a “raw-arrow_down-up” event on key-release, but no corresponding “raw-arrow_down” event on key-press.

(Well, aside from one associated with yet another watcher–but that one is intended to be specific to the mouse-wheel.)

So… Does anyone know what might cause such an issue…? Is the DirectEntry preventing some events, but not all…?

Do you have a simple sample program?

To my frustration, I haven’t managed to replicate it in a smaller program–I’ve tried, but the issue doesn’t seem to turn up in the tests that I have thus far devised. :/

Ah, I believe that I’ve found the problem!

Specifically, my DirectEntry objects had “suppressKeys” and “suppressMouse” set (I’m guessing in a previous attempt to prevent typing being interpreted as game-input).

I’m still mystified that I was getting “up” events and not “down” events, and this has introduced a new difficulty in what I’m trying to implement, but at least I have this mystery somewhat solved, it would seem!