Thanks a lot for the additional information,

"Dr. Nikolaus Klepp" <off...@klepp.biz> writes:

> This is what I get when I run "openscad --debug=scintillaeditor":
>
> Pressing <enter> 3 times:
> scintillaeditor: KeyRelease - modifiers: shift ctrl alt meta keypad GROUP
> scintillaeditor: KeyRelease - modifiers: shift ctrl alt meta keypad GROUP
> scintillaeditor: KeyRelease - modifiers: shift ctrl alt meta keypad GROUP

There are two interesting observations here:

1. the GROUP modifier (which is Qt::GroupSwitchModifier) is always set, here
and below.

2. The code only sees KeyRelease events for the <enter> key, no key presses,
which could explain why the key has no effect.

I found this Qt bug report, which could be relevant:

  https://bugreports.qt.io/browse/QTBUG-95108

This bug report mentions:

 - As seen in your case, the Qt::GroupSwitchModifier is always set.

 - As a consequence <enter> and other non-printing characters do not work.

 - Apparently introduced in Qt 5.15.5; Unstable has 5.15.6.

 - The problem seems to depend on the keyboard layout.

So some things you could try:

1. Try temporarily setting another keyboard map, eg. plain US layout, and
see if it makes the problem go away (the GROUP modifier in the printout, and
the non-functional <enter> key). I think maybe this command can do it:

  setxkbmap -model pc105 -layout us

2. See if you can reproduce the problem with the Qt example program
"codeeditor", as in the Qt bug. It is available from package
qtbase5-examples as
/usr/lib/x86_64-linux-gnu/qt5/examples/widgets/widgets/codeeditor/codeeditor

3. It would be interesting to try to downgrade Qt to some 5.15.4 version and
see if that solves the problem. However, I'm not sure how feasible that is,
the dependencies around Qt are probably quite complex. The bug also mentions
that reverting patch from QTBUG-49771 fixes their issue, but again I'm not
sure how easy it would be to get a rebuilt Qt with that patch reverted to
test with.

Would be good to determine if the bug QTBUG-95108 could be the root cause.
If not, I'll try to think of a way to debug what is eating the KeyPress
events before they get into the openscad Editor event handler code.

 - Kristian.

Reply via email to