diff --git a/data/icons/key-enter.svg b/data/icons/key-enter.svg new file mode 100644 index 0000000000000000000000000000000000000000..8489dc326ba0329e29dca3f65c859ff54d71a144 --- /dev/null +++ b/data/icons/key-enter.svg @@ -0,0 +1,10 @@ +<?xml version="1.0" encoding="UTF-8" standalone="yes"?> + +<svg xmlns="http://www.w3.org/2000/svg" height="24" width="24" + version="1.1" viewBox="0 0 24 24"> + + <path d="M 24,1 L 24,10 C 24,15 20,17 17,17 L 7,17 L 10,20 L 10,23 + L 7,23 L 0,15 L 7,7 L 10,7 L 10,10 L 7,13 L 17,13 + C 19,13 20,12 20,10 L 20,1 Z" + stroke="none" fill="black" /> +</svg> diff --git a/data/icons/key-shift.svg b/data/icons/key-shift.svg new file mode 100644 index 0000000000000000000000000000000000000000..3dc64b04f78000ac00e80a029bb874d5fcf48cc9 --- /dev/null +++ b/data/icons/key-shift.svg @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8" standalone="yes"?> + +<svg xmlns="http://www.w3.org/2000/svg" height="24" width="24" + version="1.1" viewBox="0 0 24 24"> + + <path d="M 12,2 L 22,14 L 16,14 L 16,22 L 8,22 L 8,14 L 2,14 Z" + stroke="none" fill="black" /> +</svg> diff --git a/data/keyboards/symbols/us.xml b/data/keyboards/symbols/us.xml index 323c4c08af606e6a9d70d15eb48417a3d9b070b0..dcc93871b797cfb456d49ce832f496d19f2cb00c 100644 --- a/data/keyboards/symbols/us.xml +++ b/data/keyboards/symbols/us.xml @@ -181,11 +181,11 @@ <keysym keyval="34">quotedbl</keysym> </key> <key keycode="36" name="RTRN"> - <keysym keyval="65293">Return</keysym> + <keysym keyval="65293" icon="key-enter">Return</keysym> </key> <key keycode="50" name="LFSH"> - <keysym keyval="65505">Shift_L</keysym> - <keysym keyval="65505">Shift_L</keysym> + <keysym keyval="65505" icon="key-shift">Shift_L</keysym> + <keysym keyval="65505" icon="key-shift">Shift_L</keysym> <keysym keyval="65505" label="=/+">Shift_L</keysym> <keysym keyval="65505" label="123">Shift_L</keysym> </key> diff --git a/data/squeekboard.gresources.xml b/data/squeekboard.gresources.xml index 106e050ff1c2e1beb7ded63d8df855dc8ca1fe18..f1d72c412b64613abb056daa586cd71deaf39902 100644 --- a/data/squeekboard.gresources.xml +++ b/data/squeekboard.gresources.xml @@ -32,5 +32,7 @@ <file compressed="true" preprocess="xml-stripblanks">keyboards/symbols/ug.xml</file> <file compressed="true" preprocess="xml-stripblanks">keyboards/symbols/us.xml</file> <file compressed="true" preprocess="xml-stripblanks">keyboards/symbols/zh-bopomofo.xml</file> + <file>icons/key-enter.svg</file> + <file>icons/key-shift.svg</file> </gresource> </gresources> diff --git a/eek/eek-gtk-renderer.c b/eek/eek-gtk-renderer.c index b00d2361c0bb1b6771a23b9ad38a6dd6328272a7..ce46f9fb966548caba9ddab1f0dcebee3465b9d5 100644 --- a/eek/eek-gtk-renderer.c +++ b/eek/eek-gtk-renderer.c @@ -60,6 +60,20 @@ eek_gtk_renderer_real_get_icon_surface (EekRenderer *self, GError *error = NULL; cairo_surface_t *surface; + gchar *path = g_strconcat("/sm/puri/squeekboard/icons/", icon_name, ".svg", NULL); + + pixbuf = gdk_pixbuf_new_from_resource_at_scale (path, size, size, + TRUE, &error); + + if (pixbuf != NULL) + goto found; + else { + g_warning ("can't get icon pixbuf for %s: %s", path, error->message); + g_error_free (error); + error = NULL; + } + g_free(path); + pixbuf = gtk_icon_theme_load_icon (gtk_icon_theme_get_default (), icon_name, size, @@ -73,6 +87,7 @@ eek_gtk_renderer_real_get_icon_surface (EekRenderer *self, return NULL; } +found: surface = pixbuf_to_cairo_surface (pixbuf); g_object_unref (pixbuf); return surface; diff --git a/eek/eek-renderer.c b/eek/eek-renderer.c index 840f88823eec5bff0170266bd64d39f154cea5a7..f0dd009796d76ec08a4d74f23433817e194176c3 100644 --- a/eek/eek-renderer.c +++ b/eek/eek-renderer.c @@ -497,7 +497,7 @@ render_key (EekRenderer *self, if (!symbol) return; - #define SCALE 0.5 + #define SCALE 0.4 if (eek_symbol_get_icon_name (symbol)) { cairo_surface_t *icon_surface =