I'm pleased with the results. The PR sets the stage for further improvements to Leo's complex key-handling code.
I found several minor (probably long-standing) quirps during last-minute testing. I've added them to the to-do list in PR
#4646.
Please continue testing the devel branch. Thanks.
Edward
P. S. Yesterday, I read with interest
this article about troubleshooting in the
American Scientist magazine. It was focused on hardware, but it gave me a new distinction: the "midpoint" of a problem.
I saw that PR
#4649 makes
LeoKeyEvent.__init__ the midpoint of
Leo's key handling code. The "before" part is Qt's event dispatching
code, which is controlled by
LeoQtEventFilter.eventFilter. The "after" part consists of all of Leo's command-related methods.
This distinction helped isolate the source of the issue. I easily saw that Qt was doing its job. It was calling LeoKeyEvent.__init__ as expected. So there was no need to inspect the Qt "wiring". Otoh, the new quirps probably are the result of missing connections between widgets and eventFilter.
EKR