more touch (coform+imf) integration done in preparation.
SVN revision: 73120
This commit is contained in:
parent
689e2c2dd7
commit
f9474527a9
13
README
13
README
|
@ -49,3 +49,16 @@ Right mouse button = controls menu
|
||||||
Middle mouse button = paste highlight selection
|
Middle mouse button = paste highlight selection
|
||||||
Left mouse button/drag = make highlight
|
Left mouse button/drag = make highlight
|
||||||
Wheel = scroll up or down in history
|
Wheel = scroll up or down in history
|
||||||
|
|
||||||
|
Extended escapes for terminology only:
|
||||||
|
|
||||||
|
[\033][{][COMMAND][\000]
|
||||||
|
i.e.
|
||||||
|
1. ESC char (\033 or 0x1b)
|
||||||
|
2. { char
|
||||||
|
3... sequence of UTF8 chars other than nul (\000 or 0x00).
|
||||||
|
4 \000 char (nul byte or 0x00 to indicate end of sequence)
|
||||||
|
e.g.
|
||||||
|
echo -n '\033{Hello world\000'
|
||||||
|
|
||||||
|
Commands understood:
|
||||||
|
|
|
@ -13,6 +13,7 @@
|
||||||
int _log_domain = -1;
|
int _log_domain = -1;
|
||||||
|
|
||||||
static Evas_Object *win = NULL, *bg = NULL, *term = NULL, *media = NULL;
|
static Evas_Object *win = NULL, *bg = NULL, *term = NULL, *media = NULL;
|
||||||
|
static Evas_Object *conform = NULL;
|
||||||
static Ecore_Timer *flush_timer = NULL;
|
static Ecore_Timer *flush_timer = NULL;
|
||||||
static Eina_Bool focused = EINA_FALSE;
|
static Eina_Bool focused = EINA_FALSE;
|
||||||
|
|
||||||
|
@ -283,6 +284,12 @@ elm_main(int argc, char **argv)
|
||||||
putenv("TERMINOLOGY=1");
|
putenv("TERMINOLOGY=1");
|
||||||
|
|
||||||
win = tg_win_add();
|
win = tg_win_add();
|
||||||
|
|
||||||
|
conform = o = elm_conformant_add(win);
|
||||||
|
evas_object_size_hint_weight_set(o, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
||||||
|
evas_object_size_hint_fill_set(o, EVAS_HINT_FILL, EVAS_HINT_FILL);
|
||||||
|
elm_win_resize_object_add(win, o);
|
||||||
|
evas_object_show(o);
|
||||||
|
|
||||||
bg = o = edje_object_add(evas_object_evas_get(win));
|
bg = o = edje_object_add(evas_object_evas_get(win));
|
||||||
evas_object_size_hint_weight_set(o, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
evas_object_size_hint_weight_set(o, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
||||||
|
@ -294,7 +301,7 @@ elm_main(int argc, char **argv)
|
||||||
goto end;
|
goto end;
|
||||||
}
|
}
|
||||||
theme_auto_reload_enable(o);
|
theme_auto_reload_enable(o);
|
||||||
elm_win_resize_object_add(win, o);
|
elm_object_content_set(conform, o);
|
||||||
evas_object_show(o);
|
evas_object_show(o);
|
||||||
|
|
||||||
term = o = termio_add(win, config, cmd, 80, 24);
|
term = o = termio_add(win, config, cmd, 80, 24);
|
||||||
|
|
|
@ -674,6 +674,7 @@ _smart_cb_focus_in(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__,
|
||||||
elm_win_keyboard_mode_set(sd->win, ELM_WIN_KEYBOARD_TERMINAL);
|
elm_win_keyboard_mode_set(sd->win, ELM_WIN_KEYBOARD_TERMINAL);
|
||||||
if (sd->imf)
|
if (sd->imf)
|
||||||
{
|
{
|
||||||
|
ecore_imf_context_input_panel_show(sd->imf);
|
||||||
ecore_imf_context_reset(sd->imf);
|
ecore_imf_context_reset(sd->imf);
|
||||||
ecore_imf_context_focus_in(sd->imf);
|
ecore_imf_context_focus_in(sd->imf);
|
||||||
_imf_cursor_set(sd);
|
_imf_cursor_set(sd);
|
||||||
|
@ -695,6 +696,7 @@ _smart_cb_focus_out(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__,
|
||||||
ecore_imf_context_reset(sd->imf);
|
ecore_imf_context_reset(sd->imf);
|
||||||
_imf_cursor_set(sd);
|
_imf_cursor_set(sd);
|
||||||
ecore_imf_context_focus_out(sd->imf);
|
ecore_imf_context_focus_out(sd->imf);
|
||||||
|
ecore_imf_context_input_panel_hide(sd->imf);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1416,9 +1418,20 @@ _smart_add(Evas_Object *obj)
|
||||||
(sd->imf, ECORE_IMF_CALLBACK_COMMIT, _imf_event_commit_cb, sd);
|
(sd->imf, ECORE_IMF_CALLBACK_COMMIT, _imf_event_commit_cb, sd);
|
||||||
|
|
||||||
/* make IMF usable by a terminal - no preedit, prediction... */
|
/* make IMF usable by a terminal - no preedit, prediction... */
|
||||||
ecore_imf_context_use_preedit_set(sd->imf, EINA_FALSE);
|
ecore_imf_context_use_preedit_set
|
||||||
ecore_imf_context_prediction_allow_set(sd->imf, EINA_FALSE);
|
(sd->imf, EINA_FALSE);
|
||||||
ecore_imf_context_autocapital_type_set(sd->imf, ECORE_IMF_AUTOCAPITAL_TYPE_NONE);
|
ecore_imf_context_prediction_allow_set
|
||||||
|
(sd->imf, EINA_FALSE);
|
||||||
|
ecore_imf_context_autocapital_type_set
|
||||||
|
(sd->imf, ECORE_IMF_AUTOCAPITAL_TYPE_NONE);
|
||||||
|
ecore_imf_context_input_panel_layout_set
|
||||||
|
(sd->imf, ECORE_IMF_INPUT_PANEL_LAYOUT_TERMINAL);
|
||||||
|
ecore_imf_context_input_mode_set
|
||||||
|
(sd->imf, ECORE_IMF_INPUT_MODE_FULL);
|
||||||
|
ecore_imf_context_input_panel_language_set
|
||||||
|
(sd->imf, ECORE_IMF_INPUT_PANEL_LANG_ALPHABET);
|
||||||
|
ecore_imf_context_input_panel_return_key_type_set
|
||||||
|
(sd->imf, ECORE_IMF_INPUT_PANEL_RETURN_KEY_TYPE_DEFAULT);
|
||||||
imf_done:
|
imf_done:
|
||||||
if (sd->imf) DBG("Ecore IMF Setup");
|
if (sd->imf) DBG("Ecore IMF Setup");
|
||||||
else WRN("Ecore IMF failed");
|
else WRN("Ecore IMF failed");
|
||||||
|
|
Loading…
Reference in New Issue