Add Indicator module.
authorChristopher Michael <cpmichael1@comcast.net>
Wed, 25 Nov 2009 01:01:40 +0000 (01:01 +0000)
committerChristopher Michael <cpmichael1@comcast.net>
Wed, 25 Nov 2009 01:01:40 +0000 (01:01 +0000)
Some minor fixes for softkey module.

SVN revision: 43965

14 files changed:
src/modules/Makefile.am
src/modules/illume-indicator/Makefile.am [new file with mode: 0644]
src/modules/illume-indicator/e-module-illume-indicator.edj [new file with mode: 0644]
src/modules/illume-indicator/e_mod_config.c [new file with mode: 0644]
src/modules/illume-indicator/e_mod_config.h [new file with mode: 0644]
src/modules/illume-indicator/e_mod_main.c [new file with mode: 0644]
src/modules/illume-indicator/e_mod_main.h [new file with mode: 0644]
src/modules/illume-indicator/e_mod_win.c [new file with mode: 0644]
src/modules/illume-indicator/e_mod_win.h [new file with mode: 0644]
src/modules/illume-indicator/module.desktop.in [new file with mode: 0644]
src/modules/illume-softkey/e_mod_main.c
src/modules/illume-softkey/e_mod_win.c
src/modules/illume-softkey/module.desktop.in
src/modules/illume2/e_kbd.c

index c601a47..8cb82e4 100644 (file)
@@ -239,7 +239,7 @@ SUBDIRS += connman
 endif
 
 if USE_MODULE_ILLUME
-SUBDIRS += illume illume2 illume-home illume-softkey illume-keyboard
+SUBDIRS += illume illume2 illume-home illume-softkey illume-keyboard illume-indicator
 endif
 
 if USE_MODULE_SYSCON
diff --git a/src/modules/illume-indicator/Makefile.am b/src/modules/illume-indicator/Makefile.am
new file mode 100644 (file)
index 0000000..0c86431
--- /dev/null
@@ -0,0 +1,33 @@
+MAINTAINERCLEANFILES = Makefile.in
+MODULE = illume-indicator
+
+# data files for the module
+filesdir = $(libdir)/enlightenment/modules/$(MODULE)
+files_DATA = \
+e-module-$(MODULE).edj module.desktop
+
+EXTRA_DIST = $(files_DATA)
+
+# the module .so file
+INCLUDES               = -I. \
+                         -I$(top_srcdir) \
+                         -I$(top_srcdir)/src/modules/$(MODULE) \
+                         -I$(top_srcdir)/src/bin \
+                         -I$(top_srcdir)/src/lib \
+                         -I$(top_srcdir)/src/modules \
+                         @e_cflags@
+pkgdir                 = $(libdir)/enlightenment/modules/$(MODULE)/$(MODULE_ARCH)
+pkg_LTLIBRARIES        = module.la
+module_la_SOURCES      = e_mod_main.c \
+                         e_mod_main.h \
+                         e_mod_config.c \
+                         e_mod_config.h \
+                         e_mod_win.c \
+                         e_mod_win.h
+
+module_la_LIBADD       = @e_libs@ @dlopen_libs@
+module_la_LDFLAGS      = -module -avoid-version
+module_la_DEPENDENCIES = $(top_builddir)/config.h
+
+uninstall:
+       rm -rf $(DESTDIR)$(libdir)/enlightenment/modules/$(MODULE)
diff --git a/src/modules/illume-indicator/e-module-illume-indicator.edj b/src/modules/illume-indicator/e-module-illume-indicator.edj
new file mode 100644 (file)
index 0000000..b1d64ac
Binary files /dev/null and b/src/modules/illume-indicator/e-module-illume-indicator.edj differ
diff --git a/src/modules/illume-indicator/e_mod_config.c b/src/modules/illume-indicator/e_mod_config.c
new file mode 100644 (file)
index 0000000..e1bca1e
--- /dev/null
@@ -0,0 +1,60 @@
+#include "e.h"
+#include "e_mod_main.h"
+#include "e_mod_config.h"
+
+/* local variables */
+EAPI Il_Ind_Config *il_ind_cfg = NULL;
+static E_Config_DD *conf_edd = NULL;
+
+EAPI int 
+il_ind_config_init(E_Module *m) 
+{
+   conf_edd = E_CONFIG_DD_NEW("Illume-Ind_Cfg", Il_Ind_Config);
+   #undef T
+   #undef D
+   #define T Il_Ind_Config
+   #define D conf_edd
+   E_CONFIG_VAL(D, T, version, INT);
+
+   il_ind_cfg = e_config_domain_load("module.illume-indicator", conf_edd);
+   if ((il_ind_cfg) && 
+       ((il_ind_cfg->version >> 16) < IL_CONFIG_MAJ)) 
+     {
+        E_FREE(il_ind_cfg);
+        il_ind_cfg = NULL;
+     }
+   if (!il_ind_cfg) 
+     {
+        il_ind_cfg = E_NEW(Il_Ind_Config, 1);
+        il_ind_cfg->version = 0;
+     }
+   if (il_ind_cfg) 
+     {
+        /* Add new config variables here */
+        /* if ((il_ind_cfg->version & 0xffff) < 1) */
+        il_ind_cfg->version = (IL_CONFIG_MAJ << 16) | IL_CONFIG_MIN;
+     }
+
+   il_ind_cfg->mod_dir = eina_stringshare_add(m->dir);
+   return 1;
+}
+
+EAPI int 
+il_ind_config_shutdown(void) 
+{
+   if (il_ind_cfg->mod_dir) eina_stringshare_del(il_ind_cfg->mod_dir);
+   il_ind_cfg->mod_dir = NULL;
+
+   E_FREE(il_ind_cfg);
+   il_ind_cfg = NULL;
+
+   E_CONFIG_DD_FREE(conf_edd);
+   return 1;
+}
+
+EAPI int 
+il_ind_config_save(void) 
+{
+   return 1;
+}
+
diff --git a/src/modules/illume-indicator/e_mod_config.h b/src/modules/illume-indicator/e_mod_config.h
new file mode 100644 (file)
index 0000000..ab8e63a
--- /dev/null
@@ -0,0 +1,23 @@
+#ifndef E_MOD_CONFIG_H
+#define E_MOD_CONFIG_H
+
+#define IL_CONFIG_MIN 0
+#define IL_CONFIG_MAJ 0
+
+typedef struct _Il_Ind_Config Il_Ind_Config;
+
+struct _Il_Ind_Config 
+{
+   int version;
+
+   // Placeholders
+   const char *mod_dir;
+};
+
+EAPI int il_ind_config_init(E_Module *m);
+EAPI int il_ind_config_shutdown(void);
+EAPI int il_ind_config_save(void);
+
+extern EAPI Il_Ind_Config *il_ind_cfg;
+
+#endif
diff --git a/src/modules/illume-indicator/e_mod_main.c b/src/modules/illume-indicator/e_mod_main.c
new file mode 100644 (file)
index 0000000..5360831
--- /dev/null
@@ -0,0 +1,36 @@
+#include "e.h"
+#include "e_mod_main.h"
+#include "e_mod_config.h"
+#include "e_mod_win.h"
+
+/* local variables */
+static Il_Ind_Win *iwin = NULL;
+
+EAPI E_Module_Api e_modapi = { E_MODULE_API_VERSION, "Illume-Indicator" };
+
+EAPI void *
+e_modapi_init(E_Module *m) 
+{
+   if (!il_ind_config_init(m)) return NULL;
+   e_mod_win_init();
+   iwin = e_mod_win_new();
+   return m;
+}
+
+EAPI int 
+e_modapi_shutdown(E_Module *m) 
+{
+   e_object_del(E_OBJECT(iwin));
+   iwin = NULL;
+
+   e_mod_win_shutdown();
+   il_ind_config_shutdown();
+   return 1;
+}
+
+EAPI int 
+e_modapi_save(E_Module *m) 
+{
+   return il_ind_config_save();
+}
+
diff --git a/src/modules/illume-indicator/e_mod_main.h b/src/modules/illume-indicator/e_mod_main.h
new file mode 100644 (file)
index 0000000..439fcdd
--- /dev/null
@@ -0,0 +1,24 @@
+#ifndef E_MOD_MAIN_H
+#define E_MOD_MAIN_H
+
+#define IL_IND_WIN_TYPE 0xE1b0786
+
+typedef struct _Il_Ind_Win Il_Ind_Win;
+
+struct _Il_Ind_Win 
+{
+   E_Object e_obj_inherit;
+
+   E_Win *win;
+   E_Menu *menu;
+   E_Gadcon *gadcon;
+   Evas_Object *o_base, *o_event;
+};
+
+EAPI extern E_Module_Api e_modapi;
+
+EAPI void *e_modapi_init(E_Module *m);
+EAPI int e_modapi_shutdown(E_Module *m);
+EAPI int e_modapi_save(E_Module *m);
+
+#endif
diff --git a/src/modules/illume-indicator/e_mod_win.c b/src/modules/illume-indicator/e_mod_win.c
new file mode 100644 (file)
index 0000000..a168330
--- /dev/null
@@ -0,0 +1,281 @@
+#include "e.h"
+#include "e_mod_main.h"
+#include "e_mod_win.h"
+#include "e_mod_config.h"
+
+/* local function prototypes */
+static void _il_ind_win_cb_free(Il_Ind_Win *iwin);
+static void _il_ind_win_cb_resize(E_Win *ewin);
+static void _il_ind_win_cb_mouse_down(void *data, Evas *evas, Evas_Object *obj, void *event);
+static int _il_ind_win_gadcon_client_add(void *data, const E_Gadcon_Client_Class *cc);
+static void _il_ind_win_gadcon_client_del(void *data, E_Gadcon_Client *gcc);
+static void _il_ind_win_gadcon_min_size_request(void *data, E_Gadcon *gc, Evas_Coord w, Evas_Coord h);
+static void _il_ind_win_gadcon_size_request(void *data, E_Gadcon *gc, Evas_Coord w, Evas_Coord h);
+static Evas_Object *_il_ind_win_gadcon_frame_request(void *data, E_Gadcon_Client *gcc, const char *style);
+static void _il_ind_win_cb_menu_post(void *data, E_Menu *m);
+static void _il_ind_win_menu_append(Il_Ind_Win *iwin, E_Menu *mn);
+static void _il_ind_win_cb_menu_pre(void *data, E_Menu *mn);
+static void _il_ind_win_cb_menu_items_append(void *data, E_Gadcon_Client *gcc, E_Menu *mn);
+static void _il_ind_win_cb_menu_edit(void *data, E_Menu *mn, E_Menu_Item *mi);
+static void _il_ind_win_cb_menu_contents(void *data, E_Menu *mn, E_Menu_Item *mi);
+
+EAPI int 
+e_mod_win_init(void) 
+{
+   return 1;
+}
+
+EAPI int 
+e_mod_win_shutdown(void) 
+{
+   return 1;
+}
+
+EAPI Il_Ind_Win *
+e_mod_win_new(void) 
+{
+   Il_Ind_Win *iwin;
+   E_Zone *zone;
+   Evas *evas;
+   Eina_List *l;
+   E_Config_Gadcon *cg;
+   Ecore_X_Window_State states[2];
+   char buff[PATH_MAX];
+
+   iwin = E_OBJECT_ALLOC(Il_Ind_Win, IL_IND_WIN_TYPE, _il_ind_win_cb_free);
+   if (!iwin) return NULL;
+
+   snprintf(buff, sizeof(buff), "%s/e-module-illume-indicator.edj", 
+            il_ind_cfg->mod_dir);
+
+   iwin->win = e_win_new(e_util_container_number_get(0));
+   states[0] = ECORE_X_WINDOW_STATE_SKIP_TASKBAR;
+   states[1] = ECORE_X_WINDOW_STATE_SKIP_PAGER;
+   ecore_x_netwm_window_state_set(iwin->win->evas_win, states, 2);
+   ecore_x_icccm_hints_set(iwin->win->evas_win, 0, 0, 0, 0, 0, 0, 0);
+   ecore_x_netwm_window_type_set(iwin->win->evas_win, ECORE_X_WINDOW_TYPE_DOCK);
+
+   e_win_no_remember_set(iwin->win, 1);
+   e_win_resize_callback_set(iwin->win, _il_ind_win_cb_resize);
+   e_win_borderless_set(iwin->win, 1);
+   iwin->win->data = iwin;
+   e_win_title_set(iwin->win, _("Illume Indicator"));
+   e_win_name_class_set(iwin->win, "E", "Illume-Indicator");
+
+   evas = e_win_evas_get(iwin->win);
+
+   zone = e_util_container_zone_number_get(0, 0);
+
+   iwin->o_event = evas_object_rectangle_add(evas);
+   evas_object_color_set(iwin->o_event, 0, 0, 0, 0);
+   evas_object_move(iwin->o_event, 0, 0);
+   evas_object_resize(iwin->o_event, zone->w, 32);
+   evas_object_event_callback_add(iwin->o_event, EVAS_CALLBACK_MOUSE_DOWN, 
+                                  _il_ind_win_cb_mouse_down, iwin);
+   evas_object_show(iwin->o_event);
+   evas_object_layer_set(iwin->o_event, 200);
+
+   iwin->o_base = edje_object_add(evas);
+   evas_object_resize(iwin->o_base, zone->w, 32);
+   if (!e_theme_edje_object_set(iwin->o_base, 
+                                "base/theme/modules/illume-indicator", 
+                                "modules/illume-indicator/shelf"))
+     edje_object_file_set(iwin->o_base, buff, "modules/illume-indicator/shelf");
+   evas_object_move(iwin->o_base, 0, 0);
+   evas_object_resize(iwin->o_base, zone->w, 32);
+   evas_object_layer_set(iwin->o_base, 200);
+   evas_object_show(iwin->o_base);
+
+   iwin->gadcon = e_gadcon_swallowed_new("illume-indicator", 1, iwin->o_base, 
+                                         "e.swallow.content");
+   iwin->gadcon->instant_edit = 1;
+   edje_extern_object_min_size_set(iwin->gadcon->o_container, zone->w, 32);
+   edje_object_part_swallow(iwin->o_base, "e.swallow.content", 
+                            iwin->gadcon->o_container);
+   e_gadcon_min_size_request_callback_set(iwin->gadcon, 
+                                          _il_ind_win_gadcon_min_size_request, 
+                                          iwin);
+   e_gadcon_size_request_callback_set(iwin->gadcon, 
+                                      _il_ind_win_gadcon_size_request, iwin);
+   e_gadcon_frame_request_callback_set(iwin->gadcon, 
+                                       _il_ind_win_gadcon_frame_request, iwin);
+   e_gadcon_orient(iwin->gadcon, E_GADCON_ORIENT_TOP);
+   e_gadcon_zone_set(iwin->gadcon, zone);
+   e_gadcon_ecore_evas_set(iwin->gadcon, iwin->win->ecore_evas);
+   e_gadcon_util_menu_attach_func_set(iwin->gadcon, 
+                                      _il_ind_win_cb_menu_items_append, iwin);
+
+   e_gadcon_populate(iwin->gadcon);
+
+   e_win_size_min_set(iwin->win, zone->w, 32);
+   e_win_show(iwin->win);
+   e_win_move_resize(iwin->win, 0, 0, zone->w, 32);
+
+   return iwin;
+}
+
+/* local function prototypes */
+static void 
+_il_ind_win_cb_free(Il_Ind_Win *iwin) 
+{
+   e_object_del(E_OBJECT(iwin->gadcon));
+   iwin->gadcon = NULL;
+
+   if (iwin->menu) 
+     {
+        e_menu_post_deactivate_callback_set(iwin->menu, NULL, NULL);
+        e_object_del(E_OBJECT(iwin->menu));
+        iwin->menu = NULL;
+     }
+
+   e_object_del(E_OBJECT(iwin->win));
+   E_FREE(iwin);
+}
+
+static void 
+_il_ind_win_cb_resize(E_Win *ewin) 
+{
+   Il_Ind_Win *iwin;
+
+   if (!(iwin = ewin->data)) return;
+   evas_object_resize(iwin->o_event, iwin->win->w, iwin->win->h);
+   evas_object_resize(iwin->o_base, iwin->win->w, iwin->win->h);
+}
+
+static void 
+_il_ind_win_cb_mouse_down(void *data, Evas *evas, Evas_Object *obj, void *event) 
+{
+   Il_Ind_Win *iwin;
+   Evas_Event_Mouse_Down *ev;
+
+   if (!(iwin = data)) return;
+   ev = event;
+   if (ev->button == 3) 
+     {
+        E_Menu *mn;
+        E_Zone *zone;
+        int x, y, w, h;
+
+        mn = e_menu_new();
+        e_menu_post_deactivate_callback_set(mn, _il_ind_win_cb_menu_post, iwin);
+        iwin->menu = mn;
+
+        _il_ind_win_menu_append(iwin, mn);
+
+        zone = e_util_container_zone_number_get(0, 0);
+        e_gadcon_canvas_zone_geometry_get(iwin->gadcon, &x, &y, NULL, NULL);
+        e_menu_activate_mouse(mn, zone, x + ev->output.x, y + ev->output.y, 
+                              1, 1, E_MENU_POP_DIRECTION_AUTO, ev->timestamp);
+     }
+}
+
+static void 
+_il_ind_win_cb_menu_post(void *data, E_Menu *m) 
+{
+   Il_Ind_Win *iwin;
+
+   if (!(iwin = data)) return;
+   if (!iwin->menu) return;
+   e_object_del(E_OBJECT(iwin->menu));
+   iwin->menu = NULL;
+}
+
+static void 
+_il_ind_win_cb_menu_items_append(void *data, E_Gadcon_Client *gcc, E_Menu *mn) 
+{
+   Il_Ind_Win *iwin;
+
+   if (!(iwin = data)) return;
+   _il_ind_win_menu_append(iwin, mn);
+}
+
+static void 
+_il_ind_win_menu_append(Il_Ind_Win *iwin, E_Menu *mn) 
+{
+   E_Menu *sm;
+   E_Menu_Item *mi;
+
+   sm = e_menu_new();
+   mi = e_menu_item_new(mn);
+   e_menu_item_label_set(mi, _("Illume Indicator"));
+   e_util_menu_item_theme_icon_set(mi, "preferences-desktop-shelf");
+   e_menu_pre_activate_callback_set(sm, _il_ind_win_cb_menu_pre, iwin);
+   e_object_data_set(E_OBJECT(mi), iwin);
+   e_menu_item_submenu_set(mi, sm);
+}
+
+static void 
+_il_ind_win_cb_menu_pre(void *data, E_Menu *mn) 
+{
+   Il_Ind_Win *iwin;
+   E_Menu_Item *mi;
+
+   if (!(iwin = data)) return;
+   e_menu_pre_activate_callback_set(mn, NULL, NULL);
+
+   mi = e_menu_item_new(mn);
+   if (iwin->gadcon->editing)
+     e_menu_item_label_set(mi, _("Stop Moving/Resizing Items"));
+   else
+     e_menu_item_label_set(mi, _("Begin Moving/Resizing Items"));
+   e_util_menu_item_theme_icon_set(mi, "transform-scale");
+   e_menu_item_callback_set(mi, _il_ind_win_cb_menu_edit, iwin);
+
+   mi = e_menu_item_new(mn);
+   e_menu_item_separator_set(mi, 1);
+
+   mi = e_menu_item_new(mn);
+   e_menu_item_label_set(mi, _("Set Contents"));
+   e_util_menu_item_theme_icon_set(mi, "preferences-desktop-shelf");
+   e_menu_item_callback_set(mi, _il_ind_win_cb_menu_contents, iwin);
+}
+
+static void 
+_il_ind_win_gadcon_min_size_request(void *data, E_Gadcon *gc, Evas_Coord w, Evas_Coord h) 
+{
+   Il_Ind_Win *iwin;
+
+   if (!(iwin = data)) return;
+   if (gc == iwin->gadcon) 
+     {
+        if (h < 32) h = 32;
+        edje_extern_object_min_size_set(iwin->gadcon->o_container, w, h);
+        edje_object_part_swallow(iwin->o_base, "e.swallow.content", 
+                                 iwin->gadcon->o_container);
+     }
+   evas_object_resize(iwin->o_base, iwin->win->w, iwin->win->h);
+}
+
+static void 
+_il_ind_win_gadcon_size_request(void *data, E_Gadcon *gc, Evas_Coord w, Evas_Coord h) 
+{
+   return;
+}
+
+static Evas_Object *
+_il_ind_win_gadcon_frame_request(void *data, E_Gadcon_Client *gcc, const char *style) 
+{
+   return NULL;
+}
+
+static void 
+_il_ind_win_cb_menu_edit(void *data, E_Menu *mn, E_Menu_Item *mi) 
+{
+   Il_Ind_Win *iwin;
+
+   if (!(iwin = data)) return;
+   if (iwin->gadcon->editing)
+     e_gadcon_edit_end(iwin->gadcon);
+   else
+     e_gadcon_edit_begin(iwin->gadcon);
+}
+
+static void 
+_il_ind_win_cb_menu_contents(void *data, E_Menu *mn, E_Menu_Item *mi) 
+{
+   Il_Ind_Win *iwin;
+
+   if (!(iwin = data)) return;
+   if (!iwin->gadcon->config_dialog) 
+     e_int_gadcon_config_shelf(iwin->gadcon);
+}
diff --git a/src/modules/illume-indicator/e_mod_win.h b/src/modules/illume-indicator/e_mod_win.h
new file mode 100644 (file)
index 0000000..14e61c6
--- /dev/null
@@ -0,0 +1,8 @@
+#ifndef E_MOD_WIN_H
+#define E_MOD_WIN_H
+
+EAPI int e_mod_win_init(void);
+EAPI int e_mod_win_shutdown(void);
+EAPI Il_Ind_Win *e_mod_win_new(void);
+
+#endif
diff --git a/src/modules/illume-indicator/module.desktop.in b/src/modules/illume-indicator/module.desktop.in
new file mode 100644 (file)
index 0000000..249dbf4
--- /dev/null
@@ -0,0 +1,6 @@
+[Desktop Entry]
+Type=Link
+Name=Illume-Indicator
+Icon=e-module-illume-indicator
+X-Enlightenment-ModuleType=system
+Comment=<title>Illume Indicator for Embedded</title>
index bb69062..d4f8aae 100644 (file)
@@ -3,7 +3,7 @@
 #include "e_mod_config.h"
 #include "e_mod_win.h"
 
-static Il_Sk_Win *win = NULL;
+static Il_Sk_Win *swin = NULL;
 
 EAPI E_Module_Api e_modapi = { E_MODULE_API_VERSION, "Illume-Softkey" };
 
@@ -14,7 +14,8 @@ e_modapi_init(E_Module *m)
    if (!il_sk_config_init(m)) return NULL;
 
    e_mod_win_init();
-   win = e_mod_win_new();
+
+   swin = e_mod_win_new();
 
    return m;
 }
@@ -22,8 +23,8 @@ e_modapi_init(E_Module *m)
 EAPI int 
 e_modapi_shutdown(E_Module *m) 
 {
-   e_object_del(E_OBJECT(win));
-   win = NULL;
+   e_object_del(E_OBJECT(swin));
+   swin = NULL;
 
    e_mod_win_shutdown();
    il_sk_config_shutdown();
index d4809d4..8afa1c0 100644 (file)
@@ -40,8 +40,8 @@ e_mod_win_new(void)
    states[0] = ECORE_X_WINDOW_STATE_SKIP_TASKBAR;
    states[1] = ECORE_X_WINDOW_STATE_SKIP_PAGER;
    ecore_x_netwm_window_state_set(swin->win->evas_win, states, 2);
-
    ecore_x_icccm_hints_set(swin->win->evas_win, 0, 0, 0, 0, 0, 0, 0);
+//   ecore_x_netwm_window_type_set(swin->win->evas_win, ECORE_X_WINDOW_TYPE_DOCK);
 
    zone = e_util_container_zone_number_get(0, 0);
    e_win_no_remember_set(swin->win, 1);
@@ -73,10 +73,10 @@ e_mod_win_new(void)
    e_widget_list_object_append(swin->o_box, swin->b_close, 1, 0, 0.5);
 
    e_win_size_min_set(swin->win, zone->w, 48);
+   e_win_layer_set(swin->win, 200);
    e_win_show(swin->win);
    e_win_move_resize(swin->win, 0, (zone->h - 48), zone->w, 48);
 
-   ecore_x_netwm_window_type_set(swin->win->evas_win, ECORE_X_WINDOW_TYPE_DOCK);
    return swin;
 }
 
index 354d2a0..1ae0e2f 100644 (file)
@@ -3,4 +3,4 @@ Type=Link
 Name=Illume-Softkey
 Icon=e-module-illume-softkey
 X-Enlightenment-ModuleType=system
-Comment=<title>Illume Home for Embedded</title>
+Comment=<title>Illume Softkey for Embedded</title>
index 20d8659..fcf8f1c 100644 (file)
@@ -718,9 +718,9 @@ _e_kbd_dbus_keyboard_eval(void)
    if (have_real != _e_kbd_dbus_have_real_keyboard)
      {
        _e_kbd_dbus_have_real_keyboard = have_real;
-       if (_e_kbd_dbus_have_real_keyboard)
-         _e_kbd_all_disable();
-       else
+//     if (_e_kbd_dbus_have_real_keyboard)
+//       _e_kbd_all_disable();
+//     else
          _e_kbd_all_enable();
      }
 }