-/*
- * GTK+ MiM input module
- */
-
+/*********************************************************************
+**
+** Copyright (C) 2009 MiM
+**
+** Contact: Handspring <xhealer@gmail.com>
+**
+** AUTHOR:
+**
+** This file is part of MiM Pinyin.
+**
+** This is free software: you can redistribute it and/or modify
+** it under the terms of the GNU General Public License as published by
+** the Free Software Foundation, either version 3 of the License, or
+** (at your option) any later version.
+**
+** This is distributed in the hope that it will be useful,
+** but WITHOUT ANY WARRANTY; without even the implied warranty of
+** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+** GNU General Public License for more details.
+**
+** You should have received a copy of the GNU General Public License
+** along with Sigil. If not, see <http://www.gnu.org/licenses/>.
+**
+*********************************************************************/
#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
-
+/*
+ * GTK+ MiM input module
+ */
#include <gtk/gtkimcontext.h>
#include <gtk/gtkimmodule.h>
#include <gdk/gdkkeysyms.h>
GType type_mim = 0;
static gboolean
-mim_filter_keypress(GtkIMContext *context, GdkEventKey *event)
+mim_filter_keypress(GtkIMContext *context,
+ GdkEventKey *event)
{
- gboolean is_initial;
- gint i;
-
if (event->type == GDK_KEY_RELEASE)
return FALSE;
- /* don't filter key events with accelerator modifiers held down */
- if (event->state & (gtk_accelerator_get_default_mod_mask()
- & ~GDK_SHIFT_MASK))
- return FALSE;
-
return TRUE;
}
GdkWindow *window)
{
if (window == NULL) {
- /* create new client window */
+ /*TODO: create new client window */
//mim_mui_create_window();
}
}
{
g_debug("mim-immodule imported!");
mim_register_type(module);
+ /*TODO: Mask off the accelerators, except the CTRL (need for CTRL
+ * ^SPACE) */
}
void
GtkIMContext *
im_module_create(const gchar *context_id)
{
- if (strcmp(context_id, "mim-n") == 0)
+ if (strcmp(context_id, "mim") == 0)
return GTK_IM_CONTEXT(g_object_new(type_mim, NULL));
else
return NULL;