Component focus issue Raspberry Pi OS

My JUCE 8.0.6 app has a license activation form, similar to the one used in the JUCE unlock your plugins tutorial.

Works great on Mac, Windows, and Linux (Ubuntu 22.04) but does not work correctly on Raspberry Pi OS (latest bookworm). It did work previously with JUCE 7.x

Inserting the cursor in the TextBox looks like it has focus and is active as the cursor is blinking, but nothing is entered when typing in:

If I move the cursor and click outside the JUCE application, on the Desktop for example, and then click back into the form, now entering text is possible:

Any ideas? Thanks.

is ::focusGained() being called? If not, it looks like ::setFocusContainerType() isn’t being called properly for your component tree.

There are some examples in the JUCE repo (DialogsDemo, WindowsDemo) that open secondary windows that contain text fields. Do you see the same behaviour in those demos? If so, there might be a JUCE bug.

Thanks @ibisum I normally code on Windows, but it works on Windows, so I have VSC on Raspberry Pi, but debugging is not fully set up yet.

Thanks @reuk The examples work.

Attached is a sample KeyForm.cpp and .h file. In the app’s MainHostWindow::DocumentWindow constructor:

Component::addChildComponent (keyForm);
keyForm.addActionListener (this);

A menuitem calls showForm() from the MainHostWindow:

keyForm.centreWithSize (400, 200);
keyForm.setVisible (true);
keyForm.grabKeyboardFocus();

I did not include the actionListenerCallback as it works and after the fact.

Maybe I am missing something? I am a bit stumped as to why it works on Linux, Mac, Windows, but not Raspberry Pi OS… Thanks for looking.

KeyForm.zip (1.2 KB)