forked from enlightenment/enlightenment
parent
2c6bced755
commit
6f33391c98
|
@ -2,10 +2,6 @@
|
|||
#include "e_kbd.h"
|
||||
#include "e_mod_layout.h"
|
||||
|
||||
#if 0
|
||||
|
||||
static void _e_kbd_layout_send(E_Kbd *kbd);
|
||||
|
||||
static Eina_List *handlers = NULL;
|
||||
static Eina_List *kbds = NULL;
|
||||
static Ecore_X_Atom atom_mb_im_invoker_command = 0;
|
||||
|
@ -14,14 +10,16 @@ static Eina_List *border_hooks = NULL;
|
|||
static E_Border *focused_border = NULL;
|
||||
static Ecore_X_Atom focused_vkbd_state = 0;
|
||||
static E_Module *mod = NULL;
|
||||
|
||||
//#define ICONIFY_TO_HIDE
|
||||
|
||||
static Ecore_Job *_e_kbd_apply_all_job = NULL;
|
||||
|
||||
#define ICONIFY_TO_HIDE 0
|
||||
|
||||
static void _e_kbd_layout_send(E_Kbd *kbd);
|
||||
|
||||
static void
|
||||
_e_kbd_cb_apply_all_job(void *data)
|
||||
{
|
||||
_e_mod_layout_apply_all();
|
||||
// _e_mod_layout_apply_all();
|
||||
_e_kbd_apply_all_job = NULL;
|
||||
}
|
||||
|
||||
|
@ -86,9 +84,7 @@ _e_kbd_cb_animate(void *data)
|
|||
}
|
||||
kbd->adjust = (kbd->adjust_end * v) + (kbd->adjust_start * (1.0 - v));
|
||||
if (kbd->border)
|
||||
{
|
||||
e_border_fx_offset(kbd->border, 0, kbd->border->h - kbd->adjust);
|
||||
}
|
||||
if (t == kbd->len)
|
||||
{
|
||||
kbd->animator = NULL;
|
||||
|
@ -159,11 +155,8 @@ _e_kbd_border_is_keyboard(E_Border *bd)
|
|||
(((bd->client.icccm.title) && (!strcmp(bd->client.icccm.title, "Keyboard"))) ||
|
||||
((bd->client.icccm.name) && ((!strcmp(bd->client.icccm.name, "multitap-pad")))))
|
||||
&& (bd->client.netwm.state.skip_taskbar)
|
||||
&& (bd->client.netwm.state.skip_pager)
|
||||
)
|
||||
)
|
||||
&& (bd->client.netwm.state.skip_pager)))
|
||||
return 1;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -269,8 +262,10 @@ _e_kbd_all_toggle(void)
|
|||
E_Kbd *kbd;
|
||||
|
||||
EINA_LIST_FOREACH(kbds, l, kbd)
|
||||
{
|
||||
if (kbd->visible) e_kbd_hide(kbd);
|
||||
else e_kbd_show(kbd);
|
||||
}
|
||||
}
|
||||
|
||||
static int
|
||||
|
@ -356,8 +351,7 @@ _e_kbd_cb_border_focus_in(void *data, int type, void *event)
|
|||
else e_kbd_fullscreen_set(ev->border->zone, 0);
|
||||
focused_border = ev->border;
|
||||
focused_vkbd_state = ev->border->client.vkbd.state;
|
||||
if (ev->border->client.vkbd.state == 0)
|
||||
return 1;
|
||||
if (ev->border->client.vkbd.state == 0) return 1;
|
||||
if (ev->border->client.vkbd.state == ECORE_X_VIRTUAL_KEYBOARD_STATE_OFF)
|
||||
{
|
||||
_e_kbd_all_layout_set(E_KBD_LAYOUT_NONE);
|
||||
|
@ -448,8 +442,11 @@ _e_kbd_cb_border_property(void *data, int type, void *event)
|
|||
}
|
||||
|
||||
static void
|
||||
_e_kbd_cb_border_hook_pre_post_fetch(void *data, E_Border *bd)
|
||||
_e_kbd_cb_border_hook_pre_post_fetch(void *data, void *data2)
|
||||
{
|
||||
E_Border *bd;
|
||||
|
||||
if (!(bd = data2)) return;
|
||||
// check if bd has special kbd properites - if so, store in created kbd
|
||||
if (!bd->new_client) return;
|
||||
if (_e_kbd_by_border_get(bd)) return;
|
||||
|
@ -503,18 +500,23 @@ _e_kbd_cb_border_hook_pre_post_fetch(void *data, E_Border *bd)
|
|||
}
|
||||
|
||||
static void
|
||||
_e_kbd_cb_border_hook_post_fetch(void *data, E_Border *bd)
|
||||
_e_kbd_cb_border_hook_post_fetch(void *data, void *data2)
|
||||
{
|
||||
E_Border *bd;
|
||||
|
||||
if (!(bd = data2)) return;
|
||||
// nothing - all done in _e_kbd_cb_border_hook_pre_post_fetch()
|
||||
if (!_e_kbd_by_border_get(bd)) return;
|
||||
}
|
||||
|
||||
static void
|
||||
_e_kbd_cb_border_hook_post_border_assign(void *data, E_Border *bd)
|
||||
_e_kbd_cb_border_hook_post_border_assign(void *data, void *data2)
|
||||
{
|
||||
E_Border *bd;
|
||||
E_Kbd *kbd;
|
||||
int pbx, pby, pbw, pbh;
|
||||
|
||||
if (!(bd = data2)) return;
|
||||
kbd = _e_kbd_by_border_get(bd);
|
||||
if (!kbd) return;
|
||||
|
||||
|
@ -591,10 +593,12 @@ _e_kbd_cb_border_hook_post_border_assign(void *data, E_Border *bd)
|
|||
}
|
||||
|
||||
static void
|
||||
_e_kbd_cb_border_hook_end(void *data, E_Border *bd)
|
||||
_e_kbd_cb_border_hook_end(void *data, void *data2)
|
||||
{
|
||||
E_Border *bd;
|
||||
E_Kbd *kbd;
|
||||
|
||||
if (!(bd = data2)) return;
|
||||
kbd = _e_kbd_by_border_get(bd);
|
||||
if (!kbd) return;
|
||||
if (kbd->border == bd)
|
||||
|
@ -614,15 +618,24 @@ _e_kbd_layout_send(E_Kbd *kbd)
|
|||
if ((kbd->actually_visible) && (!kbd->disabled))
|
||||
{
|
||||
type = ECORE_X_VIRTUAL_KEYBOARD_STATE_ON;
|
||||
if (kbd->layout == E_KBD_LAYOUT_DEFAULT) type = ECORE_X_VIRTUAL_KEYBOARD_STATE_ON;
|
||||
else if (kbd->layout == E_KBD_LAYOUT_ALPHA) type = ECORE_X_VIRTUAL_KEYBOARD_STATE_ALPHA;
|
||||
else if (kbd->layout == E_KBD_LAYOUT_NUMERIC) type = ECORE_X_VIRTUAL_KEYBOARD_STATE_NUMERIC;
|
||||
else if (kbd->layout == E_KBD_LAYOUT_PIN) type = ECORE_X_VIRTUAL_KEYBOARD_STATE_PIN;
|
||||
else if (kbd->layout == E_KBD_LAYOUT_PHONE_NUMBER) type = ECORE_X_VIRTUAL_KEYBOARD_STATE_PHONE_NUMBER;
|
||||
else if (kbd->layout == E_KBD_LAYOUT_HEX) type = ECORE_X_VIRTUAL_KEYBOARD_STATE_HEX;
|
||||
else if (kbd->layout == E_KBD_LAYOUT_TERMINAL) type = ECORE_X_VIRTUAL_KEYBOARD_STATE_TERMINAL;
|
||||
else if (kbd->layout == E_KBD_LAYOUT_PASSWORD) type = ECORE_X_VIRTUAL_KEYBOARD_STATE_PASSWORD;
|
||||
else if (kbd->layout == E_KBD_LAYOUT_NONE) type = ECORE_X_VIRTUAL_KEYBOARD_STATE_OFF;
|
||||
if (kbd->layout == E_KBD_LAYOUT_DEFAULT)
|
||||
type = ECORE_X_VIRTUAL_KEYBOARD_STATE_ON;
|
||||
else if (kbd->layout == E_KBD_LAYOUT_ALPHA)
|
||||
type = ECORE_X_VIRTUAL_KEYBOARD_STATE_ALPHA;
|
||||
else if (kbd->layout == E_KBD_LAYOUT_NUMERIC)
|
||||
type = ECORE_X_VIRTUAL_KEYBOARD_STATE_NUMERIC;
|
||||
else if (kbd->layout == E_KBD_LAYOUT_PIN)
|
||||
type = ECORE_X_VIRTUAL_KEYBOARD_STATE_PIN;
|
||||
else if (kbd->layout == E_KBD_LAYOUT_PHONE_NUMBER)
|
||||
type = ECORE_X_VIRTUAL_KEYBOARD_STATE_PHONE_NUMBER;
|
||||
else if (kbd->layout == E_KBD_LAYOUT_HEX)
|
||||
type = ECORE_X_VIRTUAL_KEYBOARD_STATE_HEX;
|
||||
else if (kbd->layout == E_KBD_LAYOUT_TERMINAL)
|
||||
type = ECORE_X_VIRTUAL_KEYBOARD_STATE_TERMINAL;
|
||||
else if (kbd->layout == E_KBD_LAYOUT_PASSWORD)
|
||||
type = ECORE_X_VIRTUAL_KEYBOARD_STATE_PASSWORD;
|
||||
else if (kbd->layout == E_KBD_LAYOUT_NONE)
|
||||
type = ECORE_X_VIRTUAL_KEYBOARD_STATE_OFF;
|
||||
}
|
||||
else
|
||||
type = ECORE_X_VIRTUAL_KEYBOARD_STATE_OFF;
|
||||
|
@ -725,7 +738,7 @@ _e_kbd_dbus_cb_dev_input_keyboard(void *user_data, void *reply_data, DBusError *
|
|||
Eina_List *l;
|
||||
char *device;
|
||||
|
||||
if (!ret || !ret->strings) return;
|
||||
if ((!ret) || (!ret->strings)) return;
|
||||
|
||||
if (dbus_error_is_set(error))
|
||||
{
|
||||
|
@ -749,17 +762,15 @@ _e_kbd_dbus_cb_input_keyboard_is(void *user_data, void *reply_data, DBusError *e
|
|||
if (dbus_error_is_set(error))
|
||||
{
|
||||
dbus_error_free(error);
|
||||
goto error;
|
||||
free(udi);
|
||||
return;
|
||||
}
|
||||
|
||||
if (ret && ret->boolean)
|
||||
if ((ret) && (ret->boolean))
|
||||
{
|
||||
_e_kbd_dbus_keyboard_add(udi);
|
||||
_e_kbd_dbus_keyboard_eval();
|
||||
}
|
||||
|
||||
error:
|
||||
free(udi);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -811,8 +822,7 @@ _e_kbd_dbus_ignore_keyboards_file_load(const char *file)
|
|||
char buf[4096];
|
||||
FILE *f;
|
||||
|
||||
f = fopen(file, "r");
|
||||
if (!f) return;
|
||||
if (!(f = fopen(file, "r"))) return;
|
||||
while (fgets(buf, sizeof(buf), f))
|
||||
{
|
||||
char *p;
|
||||
|
@ -837,9 +847,11 @@ static void
|
|||
_e_kbd_dbus_ignore_keyboards_load(void)
|
||||
{
|
||||
char buf[PATH_MAX];
|
||||
|
||||
e_user_dir_concat_static(buf, "keyboards/ignore_built_in_keyboards");
|
||||
_e_kbd_dbus_ignore_keyboards_file_load(buf);
|
||||
snprintf(buf, sizeof(buf), "%s/keyboards/ignore_built_in_keyboards", e_module_dir_get(mod));
|
||||
snprintf(buf, sizeof(buf), "%s/keyboards/ignore_built_in_keyboards",
|
||||
e_module_dir_get(mod));
|
||||
_e_kbd_dbus_ignore_keyboards_file_load(buf);
|
||||
}
|
||||
|
||||
|
@ -853,7 +865,6 @@ _e_kbd_dbus_real_kbd_init(void)
|
|||
_e_kbd_dbus_conn = e_dbus_bus_get(DBUS_BUS_SYSTEM);
|
||||
if (_e_kbd_dbus_conn)
|
||||
{
|
||||
|
||||
e_hal_manager_find_device_by_capability(_e_kbd_dbus_conn, "input.keyboard",
|
||||
_e_kbd_dbus_cb_dev_input_keyboard, NULL);
|
||||
|
||||
|
@ -1097,5 +1108,3 @@ e_kbd_fullscreen_set(E_Zone *zone, int fullscreen)
|
|||
e_border_layer_set(kbd->border, 100);
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
||||
|
|
|
@ -29,8 +29,7 @@ struct _E_Kbd
|
|||
E_Kbd_Layout layout;
|
||||
double start, len;
|
||||
|
||||
int h;
|
||||
int adjust_start, adjust, adjust_end;
|
||||
int h, adjust_start, adjust, adjust_end;
|
||||
|
||||
unsigned char visible : 1;
|
||||
unsigned char actually_visible : 1;
|
||||
|
|
|
@ -7,10 +7,7 @@
|
|||
* the .desktop file) but more specifically the api version it was compiled
|
||||
* for so E can skip modules that are compiled for an incorrect API version
|
||||
* safely) */
|
||||
EAPI E_Module_Api e_modapi =
|
||||
{
|
||||
E_MODULE_API_VERSION, "Illume2"
|
||||
};
|
||||
EAPI E_Module_Api e_modapi = { E_MODULE_API_VERSION, "Illume2" };
|
||||
|
||||
/* called first thing when E inits the module */
|
||||
EAPI void *
|
||||
|
|
Loading…
Reference in New Issue