diff --git a/data/icons/key-enter.svg b/data/icons/key-enter.svg new file mode 100644 index 00000000..8489dc32 --- /dev/null +++ b/data/icons/key-enter.svg @@ -0,0 +1,10 @@ + + + + + + diff --git a/data/icons/key-shift.svg b/data/icons/key-shift.svg new file mode 100644 index 00000000..3dc64b04 --- /dev/null +++ b/data/icons/key-shift.svg @@ -0,0 +1,8 @@ + + + + + + diff --git a/data/keyboards/symbols/us.xml b/data/keyboards/symbols/us.xml index 323c4c08..dcc93871 100644 --- a/data/keyboards/symbols/us.xml +++ b/data/keyboards/symbols/us.xml @@ -181,11 +181,11 @@ quotedbl - Return + Return - Shift_L - Shift_L + Shift_L + Shift_L Shift_L Shift_L diff --git a/data/squeekboard.gresources.xml b/data/squeekboard.gresources.xml index 106e050f..f1d72c41 100644 --- a/data/squeekboard.gresources.xml +++ b/data/squeekboard.gresources.xml @@ -32,5 +32,7 @@ keyboards/symbols/ug.xml keyboards/symbols/us.xml keyboards/symbols/zh-bopomofo.xml + icons/key-enter.svg + icons/key-shift.svg diff --git a/eek/eek-gtk-renderer.c b/eek/eek-gtk-renderer.c index b00d2361..ce46f9fb 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 840f8882..f0dd0097 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 =