Browse Source

Merge pull request #2075 from tdaffin/key_events

Call GtkImContextFilterKeypress after issuing the KeyDown event
pull/2097/head
Nikita Tsukanov 8 years ago
committed by GitHub
parent
commit
bb6cdd51f5
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 4
      src/Gtk/Avalonia.Gtk3/WindowBaseImpl.cs

4
src/Gtk/Avalonia.Gtk3/WindowBaseImpl.cs

@ -222,14 +222,14 @@ namespace Avalonia.Gtk3
{ {
var evnt = (GdkEventKey*) pev; var evnt = (GdkEventKey*) pev;
_lastKbdEvent = evnt->time; _lastKbdEvent = evnt->time;
if (Native.GtkImContextFilterKeypress(_imContext, pev))
return true;
var e = new RawKeyEventArgs( var e = new RawKeyEventArgs(
Gtk3Platform.Keyboard, Gtk3Platform.Keyboard,
evnt->time, evnt->time,
evnt->type == GdkEventType.KeyPress ? RawKeyEventType.KeyDown : RawKeyEventType.KeyUp, evnt->type == GdkEventType.KeyPress ? RawKeyEventType.KeyDown : RawKeyEventType.KeyUp,
Avalonia.Gtk.Common.KeyTransform.ConvertKey((GdkKey)evnt->keyval), GetModifierKeys((GdkModifierType)evnt->state)); Avalonia.Gtk.Common.KeyTransform.ConvertKey((GdkKey)evnt->keyval), GetModifierKeys((GdkModifierType)evnt->state));
OnInput(e); OnInput(e);
if (Native.GtkImContextFilterKeypress(_imContext, pev))
return true;
return true; return true;
} }

Loading…
Cancel
Save