While using Android Studio on Ubuntu there are scenarios where the IDE will stop responding to keyboard input or start inputting random characters?
How to fix this? Or possible workarounds.
The bug seems to be triggered by some missing synchronization between IBus (the server) and Xlib + AWT (the client JVM), exposed by a combination of a quick succession of key presses and the client’s slower event handling.
The 2 workarounds that helped me were:
Workaround #1: Force ibus in synchronous mode
$ IBUS_ENABLE_SYNC_MODE=1 ibus-daemon -xrd
Do this preferably before starting Studio. This workaround was suggested in https://code.google.com/p/ibus/issues/detail?id=1733 for a different Java application facing the same problems.
Workaround #2: Disable IBus input in Studio
$ XMODIFIERS= ./bin/studio.sh
This will only disable input methods for Studio, not the other applications. Restarting the daemon while Studio is running (‘ibus-daemon -rd’) effectively disables the input methods for all other applications, and can also crash Studio's JVM with a segmentation fault.