I’m trying to implement a cross-platform terminal (VTE is Linux -only, so I can’t use it), based on
gtk::TextView in the
gtk-rs bindings for Rust, and I’m basically done but there’s a problem. On Windows,
connect_key_press_event does not emit an event when backspace or enter is pressed, which is highly problematic as backspace is an essential part of a working terminal. Backspace is emitted correctly on Linux.
Additionally, arrow keys do not emit the event on Linux or Windows. I’m not sure if this is an upstream GTK bug, or a GTK-rs bug, but when I asked on the gtk-rs issue tracker, I was redirected here.
The textarea itself, which needs arrows, backspace, etc. seems to work properly on all platforms, so there must be another signal or something that I can connect to in order to get this information, but I’m at a loss as to which signal it is. Additionally, this difference in behavior between Linux and Windows seems like a bug.