This is an automated email from the git hooks/post-receive script.
git pushed a commit to branch master
in repository echart.
View the commit online.
commit cb6fba370f0eb704c6b7cfd08dc056c3ff9a564e
Author: Vincent Torri <[email protected]>
AuthorDate: Tue Jun 9 06:52:44 2026 +0200
Esc and 'q' exit program
---
src/bin/echart_grid.c | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 50 insertions(+)
diff --git a/src/bin/echart_grid.c b/src/bin/echart_grid.c
index 07ab6cb..7966964 100644
--- a/src/bin/echart_grid.c
+++ b/src/bin/echart_grid.c
@@ -10,6 +10,22 @@
#include "Echart.h"
#include "echart_private.h"
+/* Modifiers */
+#define ENTICE_MODIFIERS_GET(mod) \
+ do \
+ { \
+ ctrl = evas_key_modifier_is_set(mod, "Control"); \
+ alt = evas_key_modifier_is_set(mod, "Alt"); \
+ shift = evas_key_modifier_is_set(mod, "Shift"); \
+ winm = evas_key_modifier_is_set(mod, "Super"); \
+ meta = \
+ evas_key_modifier_is_set(mod, "Meta") || \
+ evas_key_modifier_is_set(mod, "AltGr") || \
+ evas_key_modifier_is_set(mod, "ISO_Level3_Shift"); \
+ hyper = evas_key_modifier_is_set(mod, "Hyper"); \
+ } \
+ while (0)
+
typedef enum Chart_Type
{
CHART_TYPE_LINE,
@@ -177,6 +193,30 @@ _grid_sel(void *data,
fflush(stdout);
}
+static void
+_cb_key_down(void *data,
+ Evas *evas EINA_UNUSED,
+ Evas_Object *obj EINA_UNUSED,
+ void *event_info)
+{
+ Evas_Object *win = data;
+ Evas_Event_Key_Down *ev = event_info;
+ Eina_Bool ctrl, alt, shift, winm, meta, hyper; /* modifiers */
+
+ EINA_SAFETY_ON_NULL_RETURN(event_info);
+
+ ENTICE_MODIFIERS_GET(ev->modifiers);
+
+ /* No modifier */
+ if (!ctrl && !alt && !shift && !winm && !meta && !hyper)
+ {
+ if (!strcmp(ev->keyname, "q"))
+ evas_object_del(win);
+ else if (!strcmp(ev->key, "Escape"))
+ evas_object_del(win);
+ }
+}
+
EAPI_MAIN int
elm_main(int argc EINA_UNUSED, char **argv EINA_UNUSED)
{
@@ -263,6 +303,16 @@ elm_main(int argc EINA_UNUSED, char **argv EINA_UNUSED)
600 * elm_config_scale_get());
evas_object_show(win);
+ /* dummy button to catch keyboard events */
+ o = elm_button_add(win);
+ elm_object_focus_highlight_style_set(o, "blank");
+ evas_object_size_hint_weight_set(o, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ elm_win_resize_object_add(win, o);
+ evas_object_show(o);
+ elm_object_focus_set(o, EINA_TRUE);
+ evas_object_event_callback_add(o, EVAS_CALLBACK_KEY_DOWN,
+ _cb_key_down, win);
+
elm_run();
echart_shutdown();
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.