@oskar

contenteditable works, but I don't think it's a practical workaround for our web app.

You said that capturing keyboard events without a text field focused has been restricted, but that's not the case - a Bluetooth keyboard still works, and a Flic button that doesn't use "Alternate keymap" works, and a Flic button with "Alternate keymap" works as long as a Bluetooth keyboard is also connected. So, whatever's going on, it's specific to the "Alternate keymap" option. (I also suspect that it was introduced with one of the patches to iOS 18, rather than the initial iOS 18 release, given that iOS 18 has been out for 6 months and we've just heard of problems in the last 2 weeks.)

What exactly does "Alternate keymap" do? Why is it now a problem?