Subject: bug#69083: Emacs's keyboard hook state is not reset on session lock (Windows)

From: Eli Zaretskii <[email-masked]>
Date: Fri, 01 Mar 2024 08:41:36 +0200

> From: Raffael Stocker <[email-masked]>
> Cc: [email-masked]
> Date: Thu, 29 Feb 2024 21:22:13 +0100
> 
> I'll think about this a bit more, maybe I can come up with a nice
> solution that doesn't require keeping too much state just for the reset
> function.  I am thinking about registering the notification for the
> first created frame, and when that is deleted, i.e. receives the
> ‘WM_DESTROY’ message, "handing" it over to some other frame if there is
> one.

This sounds like the simplest approach to me.

> I don't know much about the internals of Emacs frame handling.
> Could ‘w32_frame_list_z_order’ be used (from the input thread) for
> something like that?  Or is there a better approach?

Why is the order important?  Can't you "hand" the registration to some
other frame, no matter which one?