方法

GtkTextViewim_context_filter_keypress

声明 [src]

gboolean
gtk_text_view_im_context_filter_keypress (
  GtkTextView* text_view,
  GdkEvent* event
)

描述 [源]

允许 GtkTextView 输入法内部处理按键和释放事件。

如果此函数返回 TRUE,则不应进一步处理此按键事件。请参阅 gtk_im_context_filter_keypress()

注意,在重写按键事件处理时,你应从事件处理程序中调用此函数。当需要在输入法和 GtkTextView 的默认按键事件处理之间插入自己的按键处理时,需要这样做。

static gboolean
gtk_foo_bar_key_press_event (GtkWidget *widget,
                             GdkEvent  *event)
{
  guint keyval;

  gdk_event_get_keyval ((GdkEvent*)event, &keyval);

  if (keyval == GDK_KEY_Return || keyval == GDK_KEY_KP_Enter)
    {
      if (gtk_text_view_im_context_filter_keypress (GTK_TEXT_VIEW (widget), event))
        return TRUE;
    }

  // Do some stuff

  return GTK_WIDGET_CLASS (gtk_foo_bar_parent_class)->key_press_event (widget, event);
}

参数

event

类型: GdkEvent

按键事件。

数据由方法调用者所有。

返回值

类型: gboolean

TRUE如果输入法已处理按键事件。