diff --git a/docs/reference/eek/eek-sections.txt b/docs/reference/eek/eek-sections.txt
index 356f8454ca7662694756cd0edde6f7938950384b..0285dc6ea23a79d4dc7cb458c502d363ea488dcb 100644
--- a/docs/reference/eek/eek-sections.txt
+++ b/docs/reference/eek/eek-sections.txt
@@ -123,6 +123,7 @@ EekXklLayoutClass
 EekXklLayoutPrivate
 eek_xkl_layout_new
 eek_xkl_layout_set_config
+eek_xkl_layout_set_config_full
 eek_xkl_layout_set_model
 eek_xkl_layout_set_layouts
 eek_xkl_layout_set_variants
@@ -131,6 +132,9 @@ eek_xkl_layout_get_model
 eek_xkl_layout_get_layouts
 eek_xkl_layout_get_variants
 eek_xkl_layout_get_options
+eek_xkl_layout_disable_option
+eek_xkl_layout_enable_option
+eek_xkl_layout_get_option
 <SUBSECTION Standard>
 EEK_XKL_LAYOUT
 EEK_IS_XKL_LAYOUT
@@ -149,6 +153,7 @@ EekXkbLayoutClass
 EekXkbLayoutPrivate
 eek_xkb_layout_new
 eek_xkb_layout_set_names
+eek_xkb_layout_set_names_full
 eek_xkb_layout_set_keycodes
 eek_xkb_layout_set_geometry
 eek_xkb_layout_set_symbols
diff --git a/eek/eek-drawing.c b/eek/eek-drawing.c
index 49f0cfdf1c9350906c1536da40ebbc7cffff25ba..675f6dc7ad56b1c461f3354109ac71a5009b7daf 100644
--- a/eek/eek-drawing.c
+++ b/eek/eek-drawing.c
@@ -90,7 +90,7 @@ egf_key_callback (EekElement *element,
     gdouble font_size;
     guint keysym;
     EekBounds bounds;
-    const gchar *label;
+    gchar *label;
 
     keysym = eek_key_get_keysym (key);
     if (keysym == EEK_INVALID_KEYSYM ||
@@ -217,7 +217,7 @@ eek_draw_key_label (cairo_t               *cr,
 {
     guint keysym;
     EekKeysymCategory category;
-    const gchar *label;
+    gchar *label;
     PangoLayout *layout;
     PangoRectangle logical_rect = { 0, };
     EekBounds bounds;
diff --git a/eek/eek-keysym.c b/eek/eek-keysym.c
index 57b1188280f5acce80661fb968cd0fa9947adc3d..678e8a863d2db06c3c90ac50e64b6a7258ed83d7 100644
--- a/eek/eek-keysym.c
+++ b/eek/eek-keysym.c
@@ -41,7 +41,7 @@ struct eek_keysym_label {
 #include "eek-unicode-keysym-labels.h"
 #include "eek-keyname-keysym-labels.h"
 
-static G_CONST_RETURN gchar *
+static gchar *
 unichar_to_utf8 (gunichar uc)
 {
     if (g_unichar_isgraph (uc)) {
@@ -65,7 +65,7 @@ keysym_label_compare (const void *key0, const void *key1)
 
 static gboolean
 find_keysym (guint              keysym,
-             const gchar      **label,
+             gchar            **label,
              EekKeysymCategory *category)
 {
     struct eek_keysym_label bsearch_key, *bsearch_val;
@@ -144,10 +144,10 @@ find_keysym (guint              keysym,
  *
  * Return a string representation of @keysym.
  */
-G_CONST_RETURN gchar *
+gchar *
 eek_keysym_to_string (guint keysym)
 {
-    const gchar *label;
+    gchar *label;
 
     if (find_keysym (keysym, &label, NULL))
         return label;
diff --git a/eek/eek-keysym.h b/eek/eek-keysym.h
index 37e2e86437d18a34f8f464843ab2925c8a5b35a4..ba1425fefc04c3ae70905beec0f17c8009d3cda0 100644
--- a/eek/eek-keysym.h
+++ b/eek/eek-keysym.h
@@ -51,10 +51,11 @@ typedef enum {
     EEK_KEYSYM_CATEGORY_FUNCTION,
     EEK_KEYSYM_CATEGORY_KEYNAME,
     EEK_KEYSYM_CATEGORY_UNKNOWN,
+    /*< private >*/
     EEK_KEYSYM_CATEGORY_LAST = EEK_KEYSYM_CATEGORY_UNKNOWN
 } EekKeysymCategory;
 
-G_CONST_RETURN gchar *eek_keysym_to_string (guint keysym);
+gchar *eek_keysym_to_string (guint keysym);
 EekKeysymCategory eek_keysym_get_category (guint keysym);
 
 #endif  /* EEK_KEYSYM_H */