On-screen keyboard disappears after each character entered into the live search entry
@pwithnall
Submitted by Philip Withnall Link to original bug (#710183)
Description
When the live search entry automatically selects the first contact in the view, it shifts focus to the view and away from the search entry. This is fine on a laptop because the view can receive key press events and forward them to the search entry. However, on a touchscreen device, moving the focus away from the search entry makes the on-screen keyboard disappear, which makes it impossible to enter more search characters without clicking on the search entry again.
The offending code is here: https://git.gnome.org/browse/empathy/tree/libempathy-gtk/empathy-roster-view.c#n1459
This could be fixed by only calling select_first_contact() if Empathy is not being run on a touchscreen device. However, I’m not sure of the best way to do this. I think we’d have to remember whether the GdkEvent for the most recent key press in the search entry came from a GDK_SOURCE_TOUCHSCREEN GdkDevice and forward that up from the search entry to the roster view.
Version: 3.10.x