From 0321c0e17b27ab0bb94de689af76e2f83fef395f Mon Sep 17 00:00:00 2001 From: Michael BOUCHAUD Date: Wed, 22 Jun 2011 12:34:01 +0000 Subject: [PATCH] e: fix one more clip in illume-keyboard and build the edje from source now SVN revision: 60588 --- configure.ac | 1 + src/modules/illume-keyboard/Makefile.am | 26 +- .../e-module-illume-keyboard.edc | 891 ++++++++++++++++++ .../e-module-illume-keyboard.edj | Bin 33517 -> 0 bytes .../illume-keyboard/images/Makefile.am | 22 + .../illume-keyboard/images/base_bg.png | Bin 0 -> 125 bytes .../illume-keyboard/images/big_arrow_up.png | Bin 0 -> 1492 bytes .../illume-keyboard/images/bt_base2.png | Bin 0 -> 894 bytes .../illume-keyboard/images/bt_basew.png | Bin 0 -> 1439 bytes .../illume-keyboard/images/bt_dis_hilight.png | Bin 0 -> 138 bytes .../illume-keyboard/images/bt_glow.png | Bin 0 -> 599 bytes .../illume-keyboard/images/bt_hilight.png | Bin 0 -> 293 bytes .../illume-keyboard/images/bt_hilightw.png | Bin 0 -> 209 bytes .../illume-keyboard/images/bt_shine.png | Bin 0 -> 213 bytes .../illume-keyboard/images/inset_sunk.png | Bin 0 -> 417 bytes src/modules/illume-keyboard/images/k_grad.png | Bin 0 -> 1060 bytes .../illume-keyboard/images/k_tabhl.png | Bin 0 -> 366 bytes .../illume-keyboard/images/k_tabhm.png | Bin 0 -> 125 bytes .../illume-keyboard/images/k_tabhr.png | Bin 0 -> 365 bytes src/modules/illume-keyboard/images/k_tabl.png | Bin 0 -> 206 bytes src/modules/illume-keyboard/images/k_tabr.png | Bin 0 -> 184 bytes src/modules/illume-keyboard/images/k_tpsh.png | Bin 0 -> 477 bytes src/modules/illume-keyboard/images/k_wtgr.png | Bin 0 -> 1311 bytes .../illume-keyboard/images/module_icon.png | Bin 0 -> 2271 bytes 24 files changed, 937 insertions(+), 3 deletions(-) create mode 100644 src/modules/illume-keyboard/e-module-illume-keyboard.edc delete mode 100644 src/modules/illume-keyboard/e-module-illume-keyboard.edj create mode 100644 src/modules/illume-keyboard/images/Makefile.am create mode 100644 src/modules/illume-keyboard/images/base_bg.png create mode 100644 src/modules/illume-keyboard/images/big_arrow_up.png create mode 100644 src/modules/illume-keyboard/images/bt_base2.png create mode 100644 src/modules/illume-keyboard/images/bt_basew.png create mode 100644 src/modules/illume-keyboard/images/bt_dis_hilight.png create mode 100644 src/modules/illume-keyboard/images/bt_glow.png create mode 100644 src/modules/illume-keyboard/images/bt_hilight.png create mode 100644 src/modules/illume-keyboard/images/bt_hilightw.png create mode 100644 src/modules/illume-keyboard/images/bt_shine.png create mode 100644 src/modules/illume-keyboard/images/inset_sunk.png create mode 100644 src/modules/illume-keyboard/images/k_grad.png create mode 100644 src/modules/illume-keyboard/images/k_tabhl.png create mode 100644 src/modules/illume-keyboard/images/k_tabhm.png create mode 100644 src/modules/illume-keyboard/images/k_tabhr.png create mode 100644 src/modules/illume-keyboard/images/k_tabl.png create mode 100644 src/modules/illume-keyboard/images/k_tabr.png create mode 100644 src/modules/illume-keyboard/images/k_tpsh.png create mode 100644 src/modules/illume-keyboard/images/k_wtgr.png create mode 100644 src/modules/illume-keyboard/images/module_icon.png diff --git a/configure.ac b/configure.ac index 4fdc5f119..3df04b4b6 100644 --- a/configure.ac +++ b/configure.ac @@ -837,6 +837,7 @@ src/modules/illume-keyboard/Makefile src/modules/illume-keyboard/module.desktop src/modules/illume-keyboard/keyboards/Makefile src/modules/illume-keyboard/dicts/Makefile +src/modules/illume-keyboard/images/Makefile src/modules/illume-indicator/Makefile src/modules/illume-indicator/module.desktop src/modules/illume-indicator/images/Makefile diff --git a/src/modules/illume-keyboard/Makefile.am b/src/modules/illume-keyboard/Makefile.am index bd4d0ba22..e8ee4e497 100644 --- a/src/modules/illume-keyboard/Makefile.am +++ b/src/modules/illume-keyboard/Makefile.am @@ -1,13 +1,25 @@ -MAINTAINERCLEANFILES = Makefile.in -SUBDIRS = keyboards dicts +MAINTAINERCLEANFILES = Makefile.in module.desktop +SUBDIRS = keyboards dicts images MODULE = illume-keyboard +EDJE_CC = @edje_cc@ +EDJE_FLAGS_VERBOSE_ = +EDJE_FLAGS_VERBOSE_0 = +EDJE_FLAGS_VERBOSE_1 = -v +EDJE_FLAGS = $(EDJE_FLAGS_$(V)) \ + -id $(top_srcdir)/src/modules/$(MODULE)/images \ + @EDJE_DEF@ + + + # data files for the module filesdir = $(libdir)/enlightenment/modules/$(MODULE) files_DATA = \ e-module-$(MODULE).edj module.desktop -EXTRA_DIST = $(files_DATA) +EXTRA_DIST = \ + e-module-$(MODULE).edc \ + module.desktop.in # the module .so file INCLUDES = -I. \ @@ -36,5 +48,13 @@ module_la_LIBADD = @e_libs@ @dlopen_libs@ module_la_LDFLAGS = -module -avoid-version module_la_DEPENDENCIES = $(top_builddir)/config.h +e-module-$(MODULE).edj: Makefile $(EXTRA_DIST) + $(EDJE_CC) $(EDJE_FLAGS) \ + $(top_srcdir)/src/modules/$(MODULE)/e-module-$(MODULE).edc \ + $(top_builddir)/src/modules/$(MODULE)/e-module-$(MODULE).edj + +clean-local: + rm -f *.edj + uninstall: rm -rf $(DESTDIR)$(libdir)/enlightenment/modules/$(MODULE) diff --git a/src/modules/illume-keyboard/e-module-illume-keyboard.edc b/src/modules/illume-keyboard/e-module-illume-keyboard.edc new file mode 100644 index 000000000..132ebea16 --- /dev/null +++ b/src/modules/illume-keyboard/e-module-illume-keyboard.edc @@ -0,0 +1,891 @@ +collections +{ + group + { + images.image: "module_icon.png" COMP; + name: "icon"; + max: 128 128; + parts + { + part + { + name: "base"; + mouse_events: 0; + description + { + state: "default" 0.0; + aspect: 1.0 1.0; + aspect_preference: BOTH; + image.normal: "module_icon.png"; + } + } + } + } + group { name: "e/modules/kbd/base/default"; + images { + image: "k_wtgr.png" COMP; + image: "k_tpsh.png" COMP; + image: "k_tabl.png" COMP; + image: "k_tabr.png" COMP; + image: "k_tabhl.png" COMP; + image: "k_tabhm.png" COMP; + image: "k_tabhr.png" COMP; + image: "k_grad.png" COMP; +// image: "k_ltgry.png" COMP; +// image: "grill_dark_tiny_pattern.png" COMP; + image: "big_arrow_up.png" COMP; + image: "bt_basew.png" COMP; + image: "bt_base2.png" COMP; + image: "bt_hilightw.png" COMP; + } +// data.item: "shaped" "1"; + parts { + part { name: "base"; + description { state: "default" 0.0; + rel1 { + to_y: "compose_bg"; + relative: 0.0 1.0; + offset: 0 0; + } + image.normal: "k_grad.png"; + fill { + smooth: 0; + size { + relative: 0 1.0; + offset: 36 0; + } + } + } + } +/* + part { name: "base"; + type: RECT; + description { state: "default" 0.0; + color: 51 51 51 255; + } + } + part { name: "grill"; + description { state: "default" 0.0; + rel1 { + to_y: "compose_bg"; + relative: 0.0 1.0; + offset: 0 0; + } + image.normal: "grill_dark_tiny_pattern.png"; + fill { + size { + relative: 0 0; + offset: 144 144; + } + } + } + } + part { name: "light"; + description { state: "default" 0.0; + rel1.to: "grill"; + rel2.to: "grill"; + image.normal: "k_ltgry.png"; + fill { + smooth: 0; + size { + relative: 0 1.0; + offset: 36 0; + } + } + } + } + */ + part { name: "compose_bg"; + description { state: "default" 0.0; + image.normal: "k_wtgr.png"; + rel2.to: "e.swallow.label"; + rel2.offset: 1 2; + fill { + smooth: 0; + size { + relative: 0 1.0; + offset: 36 0; + } + } + } + } + part { name: "e.text.label"; + type: TEXT; + mouse_events: 0; + scale: 1; + description { state: "default" 0.0; + visible: 0; + rel1.to_x: "tl_tab"; + rel1.relative: 1.0 0.0; + rel1.offset: 1 8; + rel2.to_x: "rt_tab"; + rel2.relative: 0.0 0.0; + rel2.offset: -2 8; + align: 0.5 0.0; + fixed: 0 1; + text { + font: "Sans"; + size: 10; + min: 0 1; + } + } + } + part { name: "e.swallow.label"; + type: SWALLOW; + description { state: "default" 0.0; + rel1.to: "e.text.label"; + rel1.offset: -8 -8; + rel2.to: "e.text.label"; + rel2.offset: 7 7; + align: 0.5 0.0; + } + } + part { name: "compose_sh"; + mouse_events: 0; + description { state: "default" 0.0; + image.normal: "k_tpsh.png"; + rel1 { + to_x: "tl_tab"; + relative: 1.0 0.0; + offset: -12 0; + } + rel2 { + to_x: "rt_tab"; + to_y: "compose_bg"; + relative: 0.0 1.0; + offset: 11 -1; + } + image.border: 12 12 12 12; + fill.smooth: 0; + } + } + part { name: "tl_tab"; + mouse_events: 0; + description { state: "default" 0.0; + image.normal: "k_tabl.png"; + image.border: 0 12 6 6; + fill.smooth: 0; + rel1.to: "lprev"; + rel2.to: "lprev"; + rel2.offset: 13 -1; + } + } + part { name: "rt_tab"; + mouse_events: 0; + description { state: "default" 0.0; + image.normal: "k_tabr.png"; + image.border: 12 0 6 6; + fill.smooth: 0; + rel1.to: "lnext"; + rel1.offset: -12 0; + rel2.to: "lnext"; + } + } + part { name: "lprev"; + type: RECT; + description { state: "default" 0.0; + aspect: 1.5 1.5; + align: 0.0 0.5; + aspect_preference: VERTICAL; + color: 0 0 0 0; + rel2 { + to_y: "compose_bg"; + relative: 0.0 1.0; + offset: 0 -1; + } + } + } + part { name: "lnext"; + type: RECT; + description { state: "default" 0.0; + aspect: 1.5 1.5; + align: 1.0 0.5; + aspect_preference: VERTICAL; + color: 0 0 0 0; + rel1 { + relative: 1.0 0.0; + offset: -1 0; + } + rel2 { + to_y: "compose_bg"; + relative: 1.0 1.0; + offset: -1 -1; + } + } + } + + part { name: "tl_tabh"; + mouse_events: 0; + description { state: "default" 0.0; + image.normal: "k_tabhl.png"; + image.border: 0 12 6 20; + fill.smooth: 0; + rel1.to: "tl_tab"; + rel2.to: "tl_tab"; + rel2.offset: -2 15; + } + } + part { name: "tr_tabh"; + mouse_events: 0; + description { state: "default" 0.0; + image.normal: "k_tabhr.png"; + image.border: 12 0 6 20; + fill.smooth: 0; + rel1.to: "rt_tab"; + rel1.offset: 1 0; + rel2.to: "rt_tab"; + rel2.offset: -1 15; + } + } + part { name: "t_h"; + mouse_events: 0; + description { state: "default" 0.0; + image.normal: "k_tabhm.png"; + fill.smooth: 0; + rel1 { + to: "tl_tabh"; + relative: 1.0 1.0; + offset: 0 -15; + } + rel2 { + to: "tr_tabh"; + relative: 0.0 1.0; + offset: -1 -1; + } + } + } + // dict/selection selector + part { name: "lprev2"; + mouse_events: 0; + scale: 1; + description { state: "default" 0.0; + max: 22 22; + aspect: 1.39393939 1.39393939; + aspect_preference: BOTH; + image.normal: "big_arrow_up.png"; + color: 255 255 255 255; + align: 0.5 0.5; + rel1.to: "lprev"; + rel2.to: "lprev"; + } + } + + // layout selector icon/config + part { name: "button_image"; + type: IMAGE; + mouse_events: 0; + description { state: "default" 0.0; + rel1.to: "lnext"; + rel1.offset: 0 1; + rel2.to: "lnext"; +rel2.offset: -4 -1; + image.normal: "bt_basew.png"; + image.border: 7 7 7 7; + fill.smooth: 0; + } + description { state: "active" 0.0; + inherit: "default" 0.0; + image.normal: "bt_base2.png"; + image.border: 7 7 7 7; + fill.smooth: 0; + } + } + part { name: "e.swallow.layout"; + type: SWALLOW; + mouse_events: 0; + description { state: "default" 0.0; + rel1.to: "button_image"; + rel2.to: "button_image"; + } + } + part { name: "over"; + type: IMAGE; + mouse_events: 0; + description { state: "default" 0.0; + rel1.to: "button_image"; + rel2.to: "button_image"; + rel2.relative: 1.0 0.5; + image.normal: "bt_hilightw.png"; + image.border: 7 7 7 0; + fill.smooth: 0; + } + } + part { name: "e.swallow.content"; + type: SWALLOW; + description { state: "default" 0.0; + rel1 { + to_y: "e.swallow.label"; + relative: 0.0 1.0; + offset: 0 4; + } + rel2 { + relative: 1.0 1.0; + offset: -1 -1; + } + } + } + } + programs { + program { name: "lprev"; + signal: "mouse,down,1"; + source: "lprev"; + action: SIGNAL_EMIT "e,action,do,matches" ""; + } + program { name: "lnext"; + signal: "mouse,up,1"; + source: "lnext"; + action: SIGNAL_EMIT "e,action,do,layouts" ""; + } + program { name: "clicked"; + signal: "mouse,down,1"; + source: "lnext"; + action: STATE_SET active 0.0; + target: "button_image"; + } + program { name: "released"; + signal: "mouse,up,1"; + source: "lnext"; + action: STATE_SET default 0.0; + target: "button_image"; + } + } + } + + group { name: "e/modules/kbd/match/word"; + images { + image: "bt_basew.png" COMP; + image: "bt_base2.png" COMP; + image: "bt_hilight.png" COMP; + image: "bt_shine.png" COMP; + image: "bt_glow.png" COMP; +image: "bt_dis_hilight.png" COMP; + } + parts { + part { name: "button_image"; + mouse_events: 1; + description { state: "default" 0.0; + rel1.to: "e.text.label"; + rel1.offset: -3 -3; + rel2.to_x: "e.text.label"; + rel2.offset: 2 2; + image { + normal: "bt_basew.png"; + border: 7 7 7 7; + } + fill.smooth: 0; + } + description { state: "active" 0.0; + inherit: "default" 0.0; + image.normal: "bt_base2.png"; + } + } + part { name: "e.text.label"; + type: TEXT; + effect: SOFT_SHADOW; + mouse_events: 0; + scale: 1; + description { state: "default" 0.0; + color: 0 0 0 255; + color3: 0 0 0 0; + min: 32 0; + rel1 { + relative: 0.0 0.0; + offset: 3 3; + } + rel2 { + relative: 1.0 1.0; + offset: -4 -4; + } + text { + font: "Sans"; + size: 10; + min: 1 1; + } + } + description { state: "active" 0.0; + inherit: "default" 0.0; + color: 224 224 224 255; + color3: 0 0 0 64; + } + } + part { name: "over1"; + mouse_events: 0; + description { state: "default" 0.0; + rel1.to: "button_image"; + rel2.to: "button_image"; + rel2.relative: 1.0 0.5; + image { + normal: "bt_hilight.png"; + border: 7 7 7 0; + } + fill.smooth: 0; + } + description { state: "disabled" 0.0; + inherit: "default" 0.0; + image { + normal: "bt_dis_hilight.png"; + border: 4 4 4 0; + } + } + } + part { name: "over2"; + mouse_events: 0; + description { state: "default" 0.0; + rel1.to: "button_image"; + rel2.to: "button_image"; + image { + normal: "bt_shine.png"; + border: 7 7 7 7; + } + fill.smooth: 0; + } + description { state: "disabled" 0.0; + inherit: "default" 0.0; + visible: 0; + } + } + part { name: "over3"; + mouse_events: 0; + description { state: "default" 0.0; + visible: 0; + color: 255 255 255 0; + image { + normal: "bt_glow.png"; + border: 12 12 12 12; + } + fill.smooth : 0; + } + description { state: "clicked" 0.0; + inherit: "default" 0.0; + visible: 1; + color: 255 255 255 255; + } + } + } + programs { + program { name: "select"; + signal: "mouse,up,1"; + source: "button_image"; + action: SIGNAL_EMIT "e,action,do,select" ""; + } + program { name: "default"; + signal: "e,state,selected"; + source: "e"; + action: STATE_SET "active" 0.0; + target: "button_image"; + target: "e.text.label"; + } + program { name: "select2"; + signal: "mouse,down,1"; + source: "button_image"; + action: STATE_SET "active" 0.0; + target: "button_image"; + target: "e.text.label"; + } + program { name: "select3"; + signal: "mouse,up,1"; + source: "button_image"; + action: STATE_SET "default" 0.0; + target: "button_image"; + target: "over3"; + target: "e.text.label"; + } + program { name: "select4"; + signal: "mouse,down,1"; + source: "button_image"; + action: STATE_SET "clicked" 0.0; + target: "over3"; + } + } + } + + group { name: "e/modules/kbd/key/default"; + images { + image: "bt_base2.png" COMP; + image: "bt_basew.png" COMP; + image: "bt_hilightw.png" COMP; + image: "bt_shine.png" COMP; + } + parts { + part { name: "button_image"; + mouse_events: 0; + description { state: "default" 0.0; + rel1.to: "e.swallow.content"; + rel1.offset: -3 -3; + rel2.to_x: "e.swallow.content"; + rel2.offset: 2 2; + image { + normal: "bt_basew.png"; + border: 7 7 7 7; + } + fill.smooth: 0; + } + description { state: "active" 0.0; + inherit: "default" 0.0; + image { + normal: "bt_base2.png"; + border: 7 7 7 7; + } + } + } + part { name: "content_clip"; + type: RECT; + description { state: "default" 0.0; + color: 0 0 0 255; + rel1.to: "button_image"; + rel2.to: "button_image"; + } + description { state: "active" 0.0; + inherit: "default" 0.0; + color: 255 255 255 255; + } + } + part { + name: "e.swallow.content"; + type: SWALLOW; + clip_to: "content_clip"; + mouse_events: 0; + description { state: "default" 0.0; + rel1 { + relative: 0.0 0.0; + offset: 3 3; + } + rel2 { + relative: 1.0 1.0; + offset: -4 -4; + } + } + description { state: "selected" 0.0; + inherit: "default" 0.0; + rel1 { + relative: -0.5 -2.0; + offset: 3 3; + } + rel2 { + relative: 1.5 0.0; + offset: -4 -4; + } + } + } + part { name: "e.text.label"; + type: TEXT; + clip_to: "content_clip"; + mouse_events: 0; + scale: 1; + description { state: "default" 0.0; + rel1.to: "e.swallow.content"; + rel2.to: "e.swallow.content"; + color: 255 255 255 255; + text { + font: "Sans"; + size: 10; + min: 1 1; + } + } + description { state: "selected" 0.0; + inherit: "default" 0.0; + text { + size: 24; + } + } + } + part { name: "over1"; + mouse_events: 0; + description { state: "default" 0.0; + rel1.to: "button_image"; + rel2.to: "button_image"; + rel2.relative: 1.0 0.5; + image { + normal: "bt_hilightw.png"; + border: 7 7 7 0; + } + fill.smooth: 0; + } + } + part { name: "over2"; + mouse_events: 1; + description { state: "default" 0.0; + rel1.to: "button_image"; + rel2.to: "button_image"; + image { + normal: "bt_shine.png"; + border: 7 7 7 7; + } + fill.smooth: 0; + } + description { state: "disabled" 0.0; + inherit: "default" 0.0; + visible: 0; + } + } + } + programs { + program { name: "down"; + signal: "e,state,pressed"; + source: "e"; + action: STATE_SET "selected" 0.0; + target: "e.swallow.content"; + target: "e.text.label"; + } + program { name: "up"; + signal: "e,state,released"; + source: "e"; + action: STATE_SET "default" 0.0; + transition: DECELERATE 0.25; + target: "e.swallow.content"; + target: "e.text.label"; + } + program { name: "selected"; + signal: "e,state,selected"; + source: "e"; + action: STATE_SET "active" 0.0; + target: "button_image"; + target: "content_clip"; + } + program { name: "sunelected"; + signal: "e,state,unselected"; + source: "e"; + action: STATE_SET "default" 0.0; + target: "button_image"; + target: "content_clip"; + } + } + } + + group { name: "e/modules/kbd/zoomkey/default"; + images { + image: "bt_base2.png" COMP; + image: "bt_basew.png" COMP; + image: "bt_hilightw.png" COMP; + image: "bt_shine.png" COMP; + } + parts { + part { name: "button_image"; + mouse_events: 0; + description { state: "default" 0.0; + rel1.to: "e.swallow.content"; + rel1.offset: -3 -3; + rel2.to: "e.swallow.content"; + rel2.offset: 2 2; + image { + normal: "bt_basew.png"; + border: 7 7 7 7; + } + fill.smooth: 0; + } + description { state: "active" 0.0; + inherit: "default" 0.0; + image { + normal: "bt_base2.png"; + border: 7 7 7 7; + } + } + } + part { name: "content_clip"; + type: RECT; + description { state: "default" 0.0; + color: 0 0 0 255; + rel1.to: "button_image"; + rel2.to: "button_image"; + } + description { state: "active" 0.0; + inherit: "default" 0.0; + color: 255 255 255 255; + } + } + part { + name: "e.swallow.content"; + type: SWALLOW; + clip_to: "content_clip"; + mouse_events: 0; + description { state: "default" 0.0; + rel1 { + relative: 0.0 0.0; + offset: 3 3; + } + rel2 { + relative: 1.0 1.0; + offset: -4 -4; + } + } + description { state: "selected" 0.0; + inherit: "default" 0.0; + rel1 { + relative: -0.25 -0.25; + offset: 3 3; + } + rel2 { + relative: 1.25 1.25; + offset: -4 -4; + } + } + } + part { name: "e.text.label"; + type: TEXT; + clip_to: "content_clip"; + mouse_events: 0; + scale: 1; + description { state: "default" 0.0; + rel1.to: "e.swallow.content"; + rel2.to: "e.swallow.content"; + color: 255 255 255 255; + text { + font: "Sans"; + size: 40; + min: 1 1; + } + } + description { state: "selected" 0.0; + inherit: "default" 0.0; + text { + size: 60; + } + } + } + part { name: "over1"; + mouse_events: 0; + description { state: "default" 0.0; + rel1.to: "button_image"; + rel2.to: "button_image"; + rel2.relative: 1.0 0.5; + image { + normal: "bt_hilightw.png"; + border: 7 7 7 0; + } + fill.smooth: 0; + } + } + part { name: "over2"; + mouse_events: 1; + description { state: "default" 0.0; + rel1.to: "button_image"; + rel2.to: "button_image"; + image { + normal: "bt_shine.png"; + border: 7 7 7 7; + } + fill.smooth: 0; + } + description { state: "disabled" 0.0; + inherit: "default" 0.0; + visible: 0; + } + } + } + programs { + program { name: "down"; + signal: "e,state,pressed"; + source: "e"; + action: STATE_SET "selected" 0.0; + target: "e.swallow.content"; + target: "e.text.label"; + } + program { name: "up"; + signal: "e,state,released"; + source: "e"; + action: STATE_SET "default" 0.0; + transition: DECELERATE 0.25; + target: "e.swallow.content"; + target: "e.text.label"; + } + program { name: "selected"; + signal: "e,state,selected"; + source: "e"; + action: STATE_SET "active" 0.0; + target: "button_image"; + target: "content_clip"; + } + program { name: "sunelected"; + signal: "e,state,unselected"; + source: "e"; + action: STATE_SET "default" 0.0; + target: "button_image"; + target: "content_clip"; + } + } + } + + group { name: "e/modules/kbd/zoom/default"; +// data.item: "shaped" "1"; +// max: 320 320; // hmm size here should be determined some other way + images { + image: "base_bg.png" COMP; + image: "inset_sunk.png" COMP; + } + parts { + part { name: "base"; + mouse_events: 0; + description { state: "default" 0.0; + image.normal: "base_bg.png"; + image.border: 2 2 2 2; + fill.smooth: 0; + } + } + part { name: "clip"; + type: RECT; + mouse_events: 0; + description { state: "default" 0.0; + rel1.to: "border"; + rel2.to: "border"; + rel1.offset: 1 1; + rel2.offset: -2 -2; + } + } + part { name: "e.swallow.content"; + clip_to: "clip"; + type: SWALLOW; + scale: 1; + description { state: "default" 0.0; + min: 120 120; + max: 120 120; + rel1.offset: 4 4; + rel2.offset: -5 -5; + } + } + part { name: "border"; + mouse_events: 0; + description { state: "default" 0.0; + rel1.offset: 3 3; + rel2.offset: -4 -4; + image { + normal: "inset_sunk.png"; + border: 7 7 7 7; + middle: 0; + } + fill.smooth : 0; + } + } + } + } + + group { name: "e/modules/kbd/match/default"; +// data.item: "shaped" "1"; + images { + image: "base_bg.png" COMP; + } + parts { + part { name: "base"; + mouse_events: 0; + description { state: "default" 0.0; + image.normal: "base_bg.png"; + image.border: 2 2 2 2; + fill.smooth: 0; + } + } + part { name: "e.swallow.content"; + type: SWALLOW; + description { state: "default" 0.0; + rel1 { + relative: 0.0 0.0; + offset: 4 4; + } + rel2 { + relative: 1.0 1.0; + offset: -5 -5; + } + } + } + } + } + +} diff --git a/src/modules/illume-keyboard/e-module-illume-keyboard.edj b/src/modules/illume-keyboard/e-module-illume-keyboard.edj deleted file mode 100644 index b73f38ead5c5db3ea4ac2358a93309de376823ca..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 33517 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 diff --git a/src/modules/illume-keyboard/images/Makefile.am b/src/modules/illume-keyboard/images/Makefile.am new file mode 100644 index 000000000..1c3dec353 --- /dev/null +++ b/src/modules/illume-keyboard/images/Makefile.am @@ -0,0 +1,22 @@ +MAINTAINERCLEANFILES = Makefile.in + +EXTRA_DIST = \ +base_bg.png \ +big_arrow_up.png \ +bt_base2.png \ +bt_basew.png \ +bt_dis_hilight.png \ +bt_glow.png \ +bt_hilight.png \ +bt_hilightw.png \ +bt_shine.png \ +inset_sunk.png \ +k_grad.png \ +k_tabhl.png \ +k_tabhm.png \ +k_tabhr.png \ +k_tabl.png \ +k_tabr.png \ +k_tpsh.png \ +k_wtgr.png \ +module_icon.png diff --git a/src/modules/illume-keyboard/images/base_bg.png b/src/modules/illume-keyboard/images/base_bg.png new file mode 100644 index 0000000000000000000000000000000000000000..a47ea165923aadf3639f3ef90477b71550b4914e GIT binary patch literal 125 zcmeAS@N?(olHy`uVBq!ia0vp^Y(T8U!2~2fPqw!QQq09po*^6@9Je3(KLBz~JzX3_ zG|ngg`TyUZSt}vw0D}$>56=m%|NsB{&%3a{{{M<)Ss{-XT=LlSkzd~K&#$lAMZcIB YEQ$_kJ3a6!1scHM>FVdQ&MBb@0Hcp8&Hw-a literal 0 HcmV?d00001 diff --git a/src/modules/illume-keyboard/images/big_arrow_up.png b/src/modules/illume-keyboard/images/big_arrow_up.png new file mode 100644 index 0000000000000000000000000000000000000000..864f1ce7d2e5a02aa0bffdc91645e2bcaacd8520 GIT binary patch literal 1492 zcmV;_1uOcAP)2aGpr(+3|m%sy-dKu zRBm2qmm8G>TrCr@$^#Gp5CmXEqtO%qgZ~cj>#9#reD?96aiA&ywE#i@>IVh}h=^!l zV1NMB^Z#r4eF6TQ@+E<*0n`Eb8o=ROw{8&;(Zs|A5fSzF_7Z@@{CXX~|FeVp0XG0R z($mvJL`0*bqjcrU6&f8KCB_(CyLOEL9O3uv8C)v?Se0@($h*9zySsZa5{cm6y?c1_ z<;#~rM4iu{Ki@OBwpZY;t}e5urw7q!6ptT224f7iZNqUK*tVSmw=4@6FJ6Rg z+nq07yx0@Cwin=zjt;Z8w-^2W{g|GfhT}M3jKOi7JoBbXDwXPd_3Bm0;99A`?d|R6 zojZ5X*Vl)ssi_>G>$-U+|F^if2+Ok2*4Bott*y@2uV0r0u9pHF4u{Rb!9m=-c@tAp zQw0wa`THg!#9}d|(`mG~w;Mz7*vnEZ=RRC(vojYfakB{T}_3L=} z@L@qZ$W`Oz%a}9W4|kk0!2}Bz~aTS z*(^?-I)$@m&!Vrd4|8*KM*(~UkOq+D5qG^WpcF}qya+cnH7&(rF?4lxVPs?^2Pmh5 zC~=#co4;^p#P#&Ly1G9CfdF*<-)vM>HShV8Cr_fKr3KMw6!Y`*-%8-N2i$kjE>F=0 z2VTB?`!+^KMsWZB{k$9%T`qtv%la8WhDXWe0SE#xLZQ%jAP|72X;4+Q;Kh$0KaR%6 zM%=x77Yhpu-*E5@2Y2LXD@CFl1W;DV}gSoLF>)E!AOeTY5GWi{V_fi0u6z#lC zfa0@3P&YOLyC7E-In5YjNG6k~rE=?AG}LYO zZeok%CK8EeF+IyU9FND(djQ`{(H6Gly(b=zpBL*BVYY1}kw`Sle!X*3v4JR8j%wbe zbpZAOs6BY_;9r`i!EqeKc4jq~ldaJ9e-*X+&J3`Oi zDW|>FLv~aHpehs!%~+Pz!Usso6It(QFQ`URepdqshC-pgEz4@=gYKhG0Jg0je$f`- z!h-y|%f-@MJS~+vM~aHj)1;+971t8`MWH8xkn#W*)M>x92XV*pu313JP8fG2U~Qin zO!1kTU9O*%cIZN1*2}9H+bx(#f^ literal 0 HcmV?d00001 diff --git a/src/modules/illume-keyboard/images/bt_base2.png b/src/modules/illume-keyboard/images/bt_base2.png new file mode 100644 index 0000000000000000000000000000000000000000..f9144188643bdba8eff05d30c3c71de868e51d52 GIT binary patch literal 894 zcmV-^1A+XBP)lIA`!-Hs5S7G8NOaQklOXte1F?z zlL!7Vw0fi0gJB4r0DJ=Ox!rbe7`(IGTLSNH7|=Vz;5un;jHz2~9(V(YtH}4QHo?}J zR=1r)oPdIev}WaWAHy#DwDM}Lgh|i1q8C0FeQFP?N>1%E)B_43;9N_XNX-+eJ6YP# zErn9Y_G_upzEHD*K+c&%Ixu3$6TAZvoO7rGQiN0m5k(P1EjD8PMd(%9X3L0z0ld)_bT0-sXvg(3KC=AT`=SbJ|IqvAvu#Hm!z|v`Tg4X8ne?est#2p z7X2rNyeBjPaSrLVLdzge9Oz;w#psSL?HSNw{?MsmS;*i&hvgzwe^iy6Tb8B_`9KIw zD-I$TX7PNV{$hRn%)Abe<_bgJJ3{by?*|OMo<4JOIEHs&n$0Wn^#IHGq%~vj6|d;jk-h6Xn-r>u2+sKlAPr4m zv3Nt%G^csSR4=oIpY~`G}@wKt9*~b0Qu0Jk14u?aZ*P%NB9*@TqLgSmJK}3dW z*KHgIi_B%EFxI_Zw+1Wz9J@0wZ=E6M_BqCw>=diPj;>o(eR57dG)-Ga^&P|Y)DA#O ziIgI$`eaA)9PC5G=4Jo#7-Rg>2}HXMnhNph*SXD_%!{&=^{Mo9saDpw`Id7grA$0V z_WS)Kum)0BO>wv1eG4JnFBXfH_YUXEw0mu*sXt+(IB3euPFIRCH86?e@yKrXgUx31 zZM|Oq1^frRNO7K60)MVntG}1a<^A2=-G@@bZ5KBqomQ}8F)C8FEbdFvsoTGm!#msa z^K&{J4o}Z1U5Pju!>|{eMM*<`#C!9<0EmEX#_Fo`Aa^}ik;F^B` z$~70;B6r{)WOGUgiI5W^Y=I?$ETc_`XSyDTuIjFyS>T4e(r9M;qq?g4)vM|jv_G+D z$sWP^{1JfKLwkw=@p}cp6#(l1-UG0FP7Ue+%mJJL_!GccG|G*c0@&Q$-Mx2kaPU%9 zsZVE>*4DfI z{rwq$zn0yg+qZ9jng!&AMNkYQ03l3K`(ISgeQ1`-jZ}al!C2STJw`zDJIlAWFdiU; zQkq2aTy>pD+`4t^E`YBAoVY=k*VfjqtI{T9;o=^ZOeYnggqo#debN{t)w9vX#TD(2 zR{c5HHEWgX4f>qm@b&ep*8yAxFj=-0E=;G>6$nAc32lRAu*V=MfUrUkA_Wd^B!gzz zsbV{?FaaPXjI9gFAX}JEgS%=Q2u!D!RsdW;q~(-)P*tprNE8F+l@aNA!Kwwj?)}t zym4sh0G$D14oN{JCq_jCUDuUm20O&jVvPG8;@iPNC?L`-#1blXQ8A4bQW#SNt>74m zM2Tk@QhbaI^h+s?4eC?M$``OL#w!D~V8(zfvDCyHhlJ}CZn(ve3|Q9`fEq>8;HM40 z5Q3EYu|Z4;N-cB@^Q2bt3=vwr>F~;%qodL=!i?f@lraIu^ib_Zi_i!^DPHS)9UIi8 zJ_nabRiLT(*mz$IS}}wm<6POYgF{ZoqYAP!b4tXwCF$Zvt$9vBs4jq9>Jz96$Wk!G zc1lD3uyvG!Fd29=b~5q-q(d>-ye2qqQDjTX1AJhyy7U zIROq1Ru0Y{L5~*JaeGWALto=H4w7|_+l4Wt+C#}otFrhIQa#Kj;H6XuEDI|tjKmo; z#H0jS&SE|;Ba5M|k}=JTKva?Xg^*LI5=#cNisK=kB$pzrs#binVZ=h=UVAlR5$QcB zsZn<}WIo^!E0lq>D2BSO1E^M`RjpzUD{-X_;nwk9K{UzMAxbFAKGw3ws)hn&%M=QZUL(ai=0ZaY0cDj&o3xnOH#9)PluT z!AbBktAtb5A*CL_9Uq_BDHclx_4(5uo*vEL%%M~$av78#fJ%EbeES)PP;X~wSA}{% z2~tbHs@8V)p$h;2 literal 0 HcmV?d00001 diff --git a/src/modules/illume-keyboard/images/bt_dis_hilight.png b/src/modules/illume-keyboard/images/bt_dis_hilight.png new file mode 100644 index 0000000000000000000000000000000000000000..e03cd3c93ff4e561fbf92ec3d24940e828d12609 GIT binary patch literal 138 zcmeAS@N?(olHy`uVBq!ia0vp^CP2)`!3HD~X4)$NDVAa<&kznEsNqQI0P-C@T^vI^ zjwdHbur^B@9Fq9||NniXCANo7yf}OS2u$uIb+C5+t=v)h;&j313)e5In9q9RW^3|l iVPdRCkJ`?I91Q;rdAD5u-Fpyd7=x#)pUXO@geCy2(lLJk literal 0 HcmV?d00001 diff --git a/src/modules/illume-keyboard/images/bt_glow.png b/src/modules/illume-keyboard/images/bt_glow.png new file mode 100644 index 0000000000000000000000000000000000000000..735787e37ec379d43a627ab658d32f80d85caab4 GIT binary patch literal 599 zcmV-d0;v6oP)zFGZPVcNGWYZWT>({X058ubIwx{ z=~Z>%3_tcj3*cB)n^MZJl+tp$-F{6e-IY?TCKy$f7~}C|GI<+ge50yU;Mf^H2cKpq zrIcu9jN|x_Qd+K7tE=^T{owstlcewa+4=c-qpBBXHWiVmswY4Ue(+UQ1t6uAce~wY z7=~@mxyqIshGDzg?KactH2YZ>Kmlp~!T&SQM>Dfp2ZHA|?(d$*YItTk03Co1KnI`$ z&;h6_AooX&h}7zZ@Z1{D^)Cf~e3nwm{86|Rh_9Sdj=o{VBDW#06dglzAJ+ZSKN4$)S?+-b;KmmX0E-Yp^-Gcv!qX+m l4KO^vHP(}H{ogMde*@2D_QS?AOf>)i002ovPDHLkV1k(11z-RG literal 0 HcmV?d00001 diff --git a/src/modules/illume-keyboard/images/bt_hilight.png b/src/modules/illume-keyboard/images/bt_hilight.png new file mode 100644 index 0000000000000000000000000000000000000000..173ee6412be1167601e99168feb293b863c5bcb5 GIT binary patch literal 293 zcmV+=0owkFP)hVwqiEfXq*<7RxiBc^Wj&fW>wKzhn-z zCzzoNWZ4b1WI*sMaH@A_`sFSM{A1ZcuZ6NK4KuIDaa=9<-!~$<1VL~rio$*bS!=gZ z6m8NpMI6VA)eOUcwr$Zg4V-gFW6a?VWUbA^Fx+KX1}UW%>(%!?s;WZQb$esX834r8 zWaeCJef0$c08&b5tx?x?4&WI?M2S+$`E~@9QXrya%EhdA7ed^90|_CX^V$3Q4QG44 ra^8Z7=m#dm%+6N?GylMZz6JCE^{Yefx+}f>00000NkvXXu0mjf=P-GA literal 0 HcmV?d00001 diff --git a/src/modules/illume-keyboard/images/bt_hilightw.png b/src/modules/illume-keyboard/images/bt_hilightw.png new file mode 100644 index 0000000000000000000000000000000000000000..d5dbd3193f548f4632e1babd63f99b1ee7c14972 GIT binary patch literal 209 zcmeAS@N?(olHy`uVBq!ia0vp^CP2)`!3HD~X4)$NDVAa<&kznEsNqQI0P;ILT^vI^ zj=#NP$aTm;p!MPZM)4D(HqKcmZ7(g~_)X-R*~`7{Pjq%RxoxS)6cKaIDnDc=A+hXM zzoeMgr@lJ&ZT$xrZ>0ZuCvL#hyyUdjiEok_O}bCjUT$Hy`L4n2#nM>SuME3WBA9~% z0(f;CL_hFwt=i|yRaLK55_BP%`+gat=mmMl?@Xr*jGb3Yf4-Mc?*McYgQu&X%Q~lo FCIG;xOV|Ja literal 0 HcmV?d00001 diff --git a/src/modules/illume-keyboard/images/bt_shine.png b/src/modules/illume-keyboard/images/bt_shine.png new file mode 100644 index 0000000000000000000000000000000000000000..7a43de78f0dfec93f343a6fe3bce3c47c2dccb02 GIT binary patch literal 213 zcmeAS@N?(olHy`uVBq!ia0vp^CO|C3!3HFM+^b&;q*#ibJVQ8upoSx*1IX|3ba4!c zIQ(|HAz!P40PEA+5x@Bl9kh^{zGQ?z3?E22G{^2faRP+ z2;l;}1D}e_6qOPnQ#5)lnw)bmbzTMWA&|j=N50c$Ud8l(Nv_}xk===p!sPZqiCdAU*(cAzQ2CNy8JoDk(!}N0b z?-HLNRfD7oKvGp8Rso1r6_KU_kmd%9R7r$>{kDJUnB^A&-E0Y`m-Cq3G_l)t3FYUDEk zM*~i3?41m>g1RO-?b`|JWWZUn&uh`Y5aFFp>;^c8oby`^KWe@KQmAFxg1#mr00000 LNkvXXu0mjfb_u02 literal 0 HcmV?d00001 diff --git a/src/modules/illume-keyboard/images/k_grad.png b/src/modules/illume-keyboard/images/k_grad.png new file mode 100644 index 0000000000000000000000000000000000000000..e96638f1e3a63eae9f6ec6f1513e2ebaa0bc093f GIT binary patch literal 1060 zcmV+<1l#+GP)}00003b3#c}2nYz< z;ZNWI00Z1fL_t(|+U;ChcIzMvBsr`#``>}@hg+AR2O})p+^veP77v?=9_|t53Fl9)GuOt4_a8`_Nw7LI=sc zsxw>8^>{qGAIg@!v2B?|5X%?*Mmk82gRDUP8v^l18awRSTk(h9eR!YOa~$A-DtA{VtM}BtR9#Max zF$uoD0voos6rm#1e#TyVmkyGN`YHoZ1)U=goyYdOPd@;J!vq~<4p=8ZxjM6zZjXyP znHI>{p1%Y5kZpzl)g=s40c49{2=EH7ug3E%XzxU#+%Ap}HOeU_SS1~VVvxq{WdTY& z@K(?DqxSqKLa2L6o%IG&yb{u z?ngJw3_4UEY#)yHKn&*EAcN8$&ZZ6vkh+oOY|p+1QB`_N0# zhwlJr@yP_Gls(WvC_If>RUUyEcmomu9Y-=LlA#Qj{=h4NC%nQS}ziV3<0h+HZ031SlD)0 z&r$t~{#<)>kThE0Z0d4rx442DyzNhqlt__KG+0bp@Ihjb!}vj5zXXf_h7Y&5s>@ zHGt~-A(Rkc;)IdPEnL*yKzC3*jNePh?+OFF*FOvuU+6FbQGXTcTZgcVP(MWXTM1D?Q1=6VVEG^&B#joxnJ@3}3Xw^mA-`8Wt|D&( z0jr2qr(leDIV~7Uzv%gZ{yz&H5jwLa{dotONS=aY-fF`N*6f}<r+HPS=N|TAMfW1K&&314INHEBydPaBIO{ zFv;#ra&02IOY(+1*agK4)6C;=?l1#MkaWX$YG4jrhY;?tqSaKAo+VvLy0Ew@aJja( z2b=<>q?ZuFeIHl=)!KRkZh=GK#4?sW`z3G&9E=44c7bGp9|N=2m@)0nH3U{3W0N!1 zhOzckZE{r?2Dq@mr2#HIV9J5fFvg7-lVMC7sTz%{(Ni_$s=C3(c&m*Ej5*MK9j$T3 z)>Ad*s=AGT0Bmxg3{W0p+?Y{@QCl^>TVT-*`_>b%BdHhyhw=a%0TW4KjPVuN2WB0- zA_~!O+*Q{YaMX2}DR9OO{-Ube2mfQ_6RHHY^}n*L*Z=?k M07*qoM6N<$f?j8tmH+?% literal 0 HcmV?d00001 diff --git a/src/modules/illume-keyboard/images/k_tabhm.png b/src/modules/illume-keyboard/images/k_tabhm.png new file mode 100644 index 0000000000000000000000000000000000000000..a1f1e12d70e65cb687ba033c90a275000e76a214 GIT binary patch literal 125 zcmeAS@N?(olHy`uVBq!ia0vp^d_c_4!3HF+i2N%7QY^(zo*^7SP{WbZ0py!_x;Tbt zoKODq|9`zKGmC+dfx(}21tEif|NqaQ*~oLisY~}nLuaFp!?t6JPeOiW%dl23Fw}%| VPUx1MB@NWi;OXk;vd$@?2>_{~B?ABe literal 0 HcmV?d00001 diff --git a/src/modules/illume-keyboard/images/k_tabhr.png b/src/modules/illume-keyboard/images/k_tabhr.png new file mode 100644 index 0000000000000000000000000000000000000000..6c54fb117e3b06312877672c403849b4bfb954ec GIT binary patch literal 365 zcmV-z0h0cSP)a|YC1~`v9J)tFBohE zK{GS=-fWvAgfWlFDFOp-2nie(YbQ6w$ry;FIdB7<0W)@qq+3Y~NpF%WHB$CKm%ueJ z2OfZz=Dh3?UIC}TJ@BzT>;sSNy`I{JeP9F*fbX&37f{=M6j&Kpd5pRyCL{c&bKERX3RIUrin`ctH1Y)CSd_s?k%`ZQL_3 zc|aK`k1Ut@pBX?DYr%8wF}H!pbRL03*fPZ7oN5=aYPAn>{rWVDK?uGd4DEUa(+6LraTG-~Rpo zGZ&dEF&7pV3ftT7KdF+Pk^lth>HUh{%JTB_86u@-&YUTE;*v+$gC3RMxVX4aDVZth z>F?FN7q3{6v10%JdY#BR5pnT&5ebPMTz79WJd>BMc{XWsInY52p00i_>zopr0Be6s AB>(^b literal 0 HcmV?d00001 diff --git a/src/modules/illume-keyboard/images/k_tabr.png b/src/modules/illume-keyboard/images/k_tabr.png new file mode 100644 index 0000000000000000000000000000000000000000..524914b6258ff0ffb79d02ea8badd8cb398496f5 GIT binary patch literal 184 zcmeAS@N?(olHy`uVBq!ia0vp^d_c_4!3HF+i2N%7QY^(zo*^7SP{WbZ0p#aF7Uw;v~{?)qY#$PhVa;m17kXe3Xo$ zvl$tdwT68Ca&P_9nk-Y>g=#7@@0EpWD18>#BY%-M`==?7qK@-~ly_~bc3D5)CS~%p fQl*%i@c`>jX`U-r=L_BiTFv0;>gTe~DWM4fR75_d literal 0 HcmV?d00001 diff --git a/src/modules/illume-keyboard/images/k_tpsh.png b/src/modules/illume-keyboard/images/k_tpsh.png new file mode 100644 index 0000000000000000000000000000000000000000..f2b4097d1954b7e40d2d793af9c6ddfeff83a38e GIT binary patch literal 477 zcmV<30V4j1P)#kOvwh_XwzyC)diHdkTqyBht;zV2 zf3_-61*$+5r~*}>3RHnAPz9<$+X01zF=nf2WA=Kyb5sc%!px3XX=db|nrK4-NG?Wp zL{Dk1=T3MZM?uzFdg}jZ9P2xc z+?A9$YjsOI2{ag(rr@ul7m&Tg+VN|0j@lpxySP4 T^221x00000NkvXXu0mjfgPzIi literal 0 HcmV?d00001 diff --git a/src/modules/illume-keyboard/images/k_wtgr.png b/src/modules/illume-keyboard/images/k_wtgr.png new file mode 100644 index 0000000000000000000000000000000000000000..099a22345d44f590110702574ac07149aac819e7 GIT binary patch literal 1311 zcmV+)1>pLLP)RnD&k!jRHyw4rJ8{ZY?Oulet9%@2QmeuV$=*#Y$v z%CP3PI^O+~PwNNi?o(Jf57)HZZiIAh-s)s#_y9>gQ$WAzj+zAU;uUx#RWK9=8<=6z z7{F6FfCek?Kwyz*0LOc7-rVV&8~+7@5+1;Oa(GG@VDxu#^$NoW8r0yl48jPH43!Y= z_b^uH?W2#B9v*Po$cp#R7noJ>k3H*P{r$D!!AvN6$mY})2KDJwzG>qv;p@Mw5sOV5 zgka-reb~dB*)1Cw(y)_osN?4xQxRr5*Gu{LMRrn!wHNU4!q8g@rynTIZFC3|4B>{X z7})V8-`PCU46C7-IOoAwOT0E5VfK(^cEO63Gh2{!AHJDXnUm=~NfaBWwbe>(EdpD( zCV;15GUIi3JQ<|x6PX;c`Dx-L55>(KE`k=LN0zC9TyXEBCkR;N&PxBF#gV04nZ|L7 zUTizvn|~^X5#rYgQJM!+j$}2@0~F+rc7y}C=AjOvWiqz~@ENtvQYl!Fq8oW?_W&r1 zXzg7pp{0R=#LXPKpipyh<!Ph~p_F83>qqyecZLo;3#F?NNtD*? zp>@})ab8?CV$G2;No0dvHT0HZS5^Nzlv$1@1azp^Qe~WK{rH2qQ;bwqvl{34#nlI% zW_9Jl`7X(WZV31ZNq+(8S^Te-=aVZQoe6>-Qr;>Wiez&`Ch(JSNFZWWuihwebj;$P zCQC*rS(1gYO9gBW^EFtDJQ^Yku<8SBWB|lj7t6`Yl7gErGNWa%B1gBG-Aw{Hi*IC^ z$(9N=T8X6)o+I<#qN|cX(~(_lw_1EL+&CrSnUgpds#pmhnExa{&f`ye?2||qD?vx~ z62X1N)D-!1U-&78)3eadv^#@C~T%t3jz8VD{Vs#&9gr87#1pv&@^p!*xq}Lc4 z?G7!%#UXdynw>CVcBGclMEzXAV}%dBRipWCEvmElt=bc5uW*0z$g0m%g#{03NVC-g z@05B|mGJjpxczLY2;9b$GxTbQ_^~JlVD!-fzyA+>4M$t|HKc{v(RBOtsI+s|r@pyR zXd#YvrOqq0cA82iwqRj(Styi*0%-1Y_okG6WSJqVs_Z0Zr)KV+z9j@I8%tZ+?9#Ma zsCAbxlxo^K#WlHfBks1(`X{KKj#d8!bwN8$jHkHra87}G5hFhg&eo>kOzvB>dkK>r zYo63I`*6Z*7S>gjif6jRwI!~cX(t)lZmmYwLCEWQ7FL_Mt&p+F(ef%ts}{{p);{_$ z*|=^PSA>$hE-rP))i_R3T(=)i%+`U^=;H&~;#PoP*wE;^c6WPO``j%is3&PiUso&_ zu%9i(%)iFZS)Th6w;PMl^L2x^t_FuVyFQS8nqSu~RWLCwsg6QWbi(PCpjOBN{s6d3 VumiN>7ybYM002ovPDHLkV1oa7el7q2 literal 0 HcmV?d00001 diff --git a/src/modules/illume-keyboard/images/module_icon.png b/src/modules/illume-keyboard/images/module_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..2bf6d32fb9bc2b294bfc525bd4485687163948df GIT binary patch literal 2271 zcmV<52q5=~P)HMcV?##m5b@Gsj2Omb*!1) zUO`KxKFr!P^{ekt_5G{i|HuFKp$0tHY4e`r?_cyV);UgFvey7SpaM(*lj*fLLI4H` zfeqj>@C=A{3xJ;kqzoJbmVlqn&(FVc_UzfJ@B1oA5{xlKQA89)BuSE8ON--}Fbs*~ zIJ>u>CrKion^vn8$8mfY_!aOs;4|PR&`hmi>S52Ns?q|yBT9hk_4p`#+YplP+Ds*48!sC`!-TbSO=c&763m7z!)$Gyb9=vi3w$l zK`DjjdD})i?^>)wEJ15c5Cqx14X)K{c}bE?r{8xUxC-0@I#!I>br%><&zaBrzE8Pa z&N>)|AyE{ewa&m~j@=z$JkKLZx-m^GLqN&DQ%XtPnMmVK#RsH`3h;1F%8Z0Bp1G7awd8E)cDC)(UR{ zp66kVAq>MFKX$D^CPaCb;ktwG`)&{{CIFcMN-DHFZ)b=>Ef0hMD7*#O!OyjTJXaXx z4)!yxHKkIi_yCkr_`Z))s>cHIg4|B-VE0OsfCvm%B-a69G#vOjkU zAOMVwPk>TjOtAnQJyAP!eCD`U9UJHI`eW04+EjMu-08C2dDEve_Ov&OA~rTQ%#VNc zt}0az=-*xXZLt7&9-Nq&;q|2@PJQj9`u^K*4^^=6wC1ND{LDLZ`ZV|MKcH{`j4@`h zzQAIAfd>yC4*iQgPqXs(e^8s7pjlwydN)+2o&7~(S7IM<0h>kD9NVw}Z=1?K1G z_~*Yq9SQxdtu3xBFXMINLXei^4*@f2m3Y_yM1^XlE$j>6_|aqP<@y4vYil%a-5Lpi zIF9-3>NU1nn*ejQT5Y~otNp-2mZ zc;x4hGC({zIT_dH=J@>|{>a+RTMWBuqdZTAoh@3=Hu>|FD~yeeO`ku1-fOqpMuKSG z!b+ys<#M^_nVf?l=n-bpsuQJB>2R~zJO#W4{F1H|*U1AA0-KLMfB5jmT4VA?qrn&J z>q8%XWej1bL%X#}yWM7XW<~*2t5qd)2kD?_5^)@7<#fB_zVG+I2!bG6aatOtYBrlb zumHRPd;#2X0VH(Q*?Y^&%fFePo_>ETHj~z8Lpuz3Vc6lxlPAVl8lu*ka=DDwx<_Qq zYpx58TPkn8q3>}*ZmX*6m;9XM%> z@oXW+o=dnQ%U3ze{KKklE1;A%o#z5=;7%GPZva(>zds;IN8!!%|9@FV%r3mxYYMlx zI!JwTAy^h*Lr{Rq%K~xg23x@AjAnC0neHBd!N&tv8^ed|7i7z$?8%|Z4}B)2yCX1qZB|-ozX3_xG?gT;)7HuXAP6Nv;Tq`}+ca$*a!{>tkox4RP7|;*EP8&4DB8)MVN~LWz$wC8=qNyvu3{s)`Wd~VZip*bF0J3L5TtH;F zesN$>P_*5lR4P%aRQ87jh^e|Uz+K$r?M%ya2T6SbAWw=f3;-YlFgrV&yTZ$h31SKM ztkItJO-xKssZ@&Z0;Nh-i3nS-*QwX*J&MwxiBrF4?s;y0Uj66(156SZ3qbvqSA%26 zj;U+cuA8N$Gs^wpc@XThwo}Ie8jS|;zVkzMWM)=fy7-YU6o9euadmQWk?*{9PJQ^{ zFOs!JBX`vER*uhEf#%$~x71JGdrxhJA(t+GqzVNf2m%)C3w-0XC8`Gws3b{-T7vhr z&t@2@zpi}D`EP%#r>;>50EZ90WEK||RI}M+uPbK#%kjxo2}N!zUSuc+bpkq((`Pu0T_ToFHM;^PFQU;Xti1+-6-&vl@-xA3}E)s z1rp>vL1WBnqoHoBHHKY#+*Zte@_1bez6LPf9*%rOS9^GN@#4jYSFc}Zwb4M0c<=Co zdw19Ami?arq1qz=nyw6f7Wf|Uy61Uwez|}dP%f9lt*xiPUApfl{s~yw zD*y^OK=<{$Gr%jrLAr`jkI4=*)}&yYz$)-5u&VYj2Iv&Rp|l;~zb|r*3P6&&-8%3H tc)FJWBn!!Q80~aijR1gbj}g@?`4W}v)H55ZTO$Af002ovPDHLkV1nyoM0EfF literal 0 HcmV?d00001