parent
7b462f7c57
commit
3255c4ca4c
64
src/main.c
64
src/main.c
|
@ -7,6 +7,49 @@
|
||||||
static Evas_Object *win;
|
static Evas_Object *win;
|
||||||
static Evas_Object *ly;
|
static Evas_Object *ly;
|
||||||
|
|
||||||
|
|
||||||
|
static const struct
|
||||||
|
{
|
||||||
|
const char *keyname;
|
||||||
|
int op;
|
||||||
|
} _keymap[] = {
|
||||||
|
{"KP_0", NUM_0},
|
||||||
|
{"0", NUM_0},
|
||||||
|
{"KP_1", NUM_1},
|
||||||
|
{"1", NUM_1},
|
||||||
|
{"KP_2", NUM_2},
|
||||||
|
{"2", NUM_2},
|
||||||
|
{"KP_3", NUM_3},
|
||||||
|
{"3", NUM_3},
|
||||||
|
{"KP_4", NUM_4},
|
||||||
|
{"4", NUM_4},
|
||||||
|
{"KP_5", NUM_5},
|
||||||
|
{"5", NUM_5},
|
||||||
|
{"KP_6", NUM_6},
|
||||||
|
{"6", NUM_6},
|
||||||
|
{"KP_7", NUM_7},
|
||||||
|
{"7", NUM_7},
|
||||||
|
{"KP_8", NUM_8},
|
||||||
|
{"8", NUM_8},
|
||||||
|
{"KP_9", NUM_9},
|
||||||
|
{"9", NUM_9},
|
||||||
|
{"KP_Divide", OP_DIV},
|
||||||
|
{"KP_Multiply", OP_MUT},
|
||||||
|
{"KP_Subtract", OP_SUB},
|
||||||
|
{"KP_Add", OP_ADD},
|
||||||
|
{"plus", OP_ADD},
|
||||||
|
{"minus", OP_SUB},
|
||||||
|
{"asterisk", OP_MUT},
|
||||||
|
{"slash", OP_DIV},
|
||||||
|
{"KP_Enter", OP_EQU},
|
||||||
|
{"Return", OP_EQU},
|
||||||
|
{"BackSpace", OP_CLR},
|
||||||
|
{"period", OP_DEC},
|
||||||
|
{"comma", OP_DEC},
|
||||||
|
NULL
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
_signal_cb(void *data, Evas_Object * o, const char *emission, const
|
_signal_cb(void *data, Evas_Object * o, const char *emission, const
|
||||||
char *source)
|
char *source)
|
||||||
|
@ -192,6 +235,25 @@ _edje_callbacks_define(Evas_Object * o)
|
||||||
edje_object_signal_callback_add(o, "NUM_PI", "*", _signal_cb, (void *) NUM_PI);
|
edje_object_signal_callback_add(o, "NUM_PI", "*", _signal_cb, (void *) NUM_PI);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static Eina_Bool
|
||||||
|
_key_down_cb(void *data, int type, void *event)
|
||||||
|
{
|
||||||
|
Ecore_Event_Key *ev = event;
|
||||||
|
int i;
|
||||||
|
|
||||||
|
printf("{\"%s\", },\n", ev->key);
|
||||||
|
|
||||||
|
for (i = 0; _keymap[i].keyname; i++)
|
||||||
|
{
|
||||||
|
if (!strcmp(_keymap[i].keyname, ev->key))
|
||||||
|
{
|
||||||
|
_signal_cb((void*)_keymap[i].op, elm_layout_edje_get(ly), NULL, NULL);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return EINA_TRUE;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
_create_gui(void)
|
_create_gui(void)
|
||||||
{
|
{
|
||||||
|
@ -210,6 +272,8 @@ _create_gui(void)
|
||||||
elm_win_resize_object_add(win, ly);
|
elm_win_resize_object_add(win, ly);
|
||||||
evas_object_show(ly);
|
evas_object_show(ly);
|
||||||
|
|
||||||
|
ecore_event_handler_add (ECORE_EVENT_KEY_DOWN, _key_down_cb, NULL);
|
||||||
|
|
||||||
evas_object_show(win);
|
evas_object_show(win);
|
||||||
evas_object_resize(win, 240, 320);
|
evas_object_resize(win, 240, 320);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue