Allow non-keysym symbols in XML.
This commit is contained in:
		@ -554,7 +554,7 @@
 | 
				
			|||||||
            <bounds>3.121951,162.341463,56.195122,37.463415</bounds>
 | 
					            <bounds>3.121951,162.341463,56.195122,37.463415</bounds>
 | 
				
			||||||
            <oref>outline10</oref>
 | 
					            <oref>outline10</oref>
 | 
				
			||||||
            <symbols groups="1" levels="1">
 | 
					            <symbols groups="1" levels="1">
 | 
				
			||||||
                <keysym keyval="65507">Control_L</keysym>
 | 
					                <symbol label="⌨">cycle-keyboard</symbol>
 | 
				
			||||||
            </symbols>
 | 
					            </symbols>
 | 
				
			||||||
        </key>
 | 
					        </key>
 | 
				
			||||||
        <key id="keycode133" name="keycode133" column="1" row="4">
 | 
					        <key id="keycode133" name="keycode133" column="1" row="4">
 | 
				
			||||||
 | 
				
			|||||||
@ -554,7 +554,7 @@
 | 
				
			|||||||
            <bounds>3.121951,162.341463,56.195122,37.463415</bounds>
 | 
					            <bounds>3.121951,162.341463,56.195122,37.463415</bounds>
 | 
				
			||||||
            <oref>outline10</oref>
 | 
					            <oref>outline10</oref>
 | 
				
			||||||
            <symbols groups="1" levels="1">
 | 
					            <symbols groups="1" levels="1">
 | 
				
			||||||
                <keysym keyval="65507">Control_L</keysym>
 | 
					                <symbol label="⌨">cycle-keyboard</symbol>
 | 
				
			||||||
            </symbols>
 | 
					            </symbols>
 | 
				
			||||||
        </key>
 | 
					        </key>
 | 
				
			||||||
        <key id="keycode133" name="keycode133" column="1" row="4">
 | 
					        <key id="keycode133" name="keycode133" column="1" row="4">
 | 
				
			||||||
 | 
				
			|||||||
@ -240,7 +240,7 @@ eek_symbol_init (EekSymbol *self)
 | 
				
			|||||||
EekSymbol *
 | 
					EekSymbol *
 | 
				
			||||||
eek_symbol_new (const gchar *name)
 | 
					eek_symbol_new (const gchar *name)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    return g_object_new (EEK_TYPE_SYMBOL, "name", name);
 | 
					    return g_object_new (EEK_TYPE_SYMBOL, "name", name, NULL);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
 | 
				
			|||||||
@ -94,9 +94,7 @@ static const gchar *valid_path_list[] = {
 | 
				
			|||||||
    "groups/symbols/key/section/keyboard",
 | 
					    "groups/symbols/key/section/keyboard",
 | 
				
			||||||
    "levels/symbols/key/section/keyboard",
 | 
					    "levels/symbols/key/section/keyboard",
 | 
				
			||||||
    "keysym/symbols/key/section/keyboard",
 | 
					    "keysym/symbols/key/section/keyboard",
 | 
				
			||||||
    "custom/symbols/key/section/keyboard",
 | 
					    "symbol/symbols/key/section/keyboard",
 | 
				
			||||||
    "text/symbols/key/section/keyboard",
 | 
					 | 
				
			||||||
    "icon/symbols/key/section/keyboard",
 | 
					 | 
				
			||||||
    "invalid/symbols/key/section/keyboard",
 | 
					    "invalid/symbols/key/section/keyboard",
 | 
				
			||||||
    "index/key/section/keyboard",
 | 
					    "index/key/section/keyboard",
 | 
				
			||||||
    "point/outline/keyboard",
 | 
					    "point/outline/keyboard",
 | 
				
			||||||
@ -229,9 +227,11 @@ start_element_callback (GMarkupParseContext *pcontext,
 | 
				
			|||||||
        goto out;
 | 
					        goto out;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (g_strcmp0 (element_name, "keysym") == 0) {
 | 
					    if (g_strcmp0 (element_name, "symbol") == 0 ||
 | 
				
			||||||
 | 
					        g_strcmp0 (element_name, "keysym") == 0) {
 | 
				
			||||||
        data->label = g_strdup (label);
 | 
					        data->label = g_strdup (label);
 | 
				
			||||||
        data->icon = g_strdup (icon);
 | 
					        data->icon = g_strdup (icon);
 | 
				
			||||||
 | 
					        if (g_strcmp0 (element_name, "keysym") == 0)
 | 
				
			||||||
            data->keyval = keyval;
 | 
					            data->keyval = keyval;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -410,23 +410,32 @@ end_element_callback (GMarkupParseContext *pcontext,
 | 
				
			|||||||
        goto out;
 | 
					        goto out;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    if (g_strcmp0 (element_name, "symbol") == 0 ||
 | 
				
			||||||
 | 
					        g_strcmp0 (element_name, "keysym") == 0) {
 | 
				
			||||||
 | 
					        EekSymbol *symbol;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if (g_strcmp0 (element_name, "keysym") == 0) {
 | 
					        if (g_strcmp0 (element_name, "keysym") == 0) {
 | 
				
			||||||
            EekKeysym *keysym;
 | 
					            EekKeysym *keysym;
 | 
				
			||||||
 | 
					            if (data->keyval != EEK_INVALID_KEYSYM)
 | 
				
			||||||
        if (data->keyval != EEK_INVALID_KEYSYM) {
 | 
					 | 
				
			||||||
                keysym = eek_keysym_new (data->keyval);
 | 
					                keysym = eek_keysym_new (data->keyval);
 | 
				
			||||||
            //g_debug ("%u %s", data->keyval, eek_symbol_get_label (EEK_SYMBOL(keysym)));
 | 
					            else
 | 
				
			||||||
        } else
 | 
					 | 
				
			||||||
                keysym = eek_keysym_new_from_name (text);
 | 
					                keysym = eek_keysym_new_from_name (text);
 | 
				
			||||||
 | 
					            symbol = EEK_SYMBOL(keysym);
 | 
				
			||||||
 | 
					        } else {
 | 
				
			||||||
 | 
					            symbol = eek_symbol_new (text);
 | 
				
			||||||
 | 
					            eek_symbol_set_category (symbol, EEK_SYMBOL_CATEGORY_KEYNAME);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if (data->label) {
 | 
					        if (data->label) {
 | 
				
			||||||
            eek_symbol_set_label (EEK_SYMBOL(keysym), data->label);
 | 
					            eek_symbol_set_label (symbol, data->label);
 | 
				
			||||||
            g_free (data->label);
 | 
					            g_free (data->label);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        if (data->icon) {
 | 
					        if (data->icon) {
 | 
				
			||||||
            eek_symbol_set_icon_name (EEK_SYMBOL(keysym), data->icon);
 | 
					            eek_symbol_set_icon_name (symbol, data->icon);
 | 
				
			||||||
            g_free (data->icon);
 | 
					            g_free (data->icon);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        data->symbols = g_slist_prepend (data->symbols, keysym);
 | 
					
 | 
				
			||||||
 | 
					        data->symbols = g_slist_prepend (data->symbols, symbol);
 | 
				
			||||||
        goto out;
 | 
					        goto out;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -30,9 +30,9 @@
 | 
				
			|||||||
0xFF9E "Ins" EEK_SYMBOL_CATEGORY_FUNCTION
 | 
					0xFF9E "Ins" EEK_SYMBOL_CATEGORY_FUNCTION
 | 
				
			||||||
0xFF9F "Del" EEK_SYMBOL_CATEGORY_FUNCTION
 | 
					0xFF9F "Del" EEK_SYMBOL_CATEGORY_FUNCTION
 | 
				
			||||||
# aliases
 | 
					# aliases
 | 
				
			||||||
0xFE03 "AltGr" EEK_SYMBOL_CATEGORY_KEYNAME
 | 
					0xFE03 "⇮" EEK_SYMBOL_CATEGORY_KEYNAME
 | 
				
			||||||
0xFE04 "AltGr" EEK_SYMBOL_CATEGORY_KEYNAME
 | 
					0xFE04 "⇮" EEK_SYMBOL_CATEGORY_KEYNAME
 | 
				
			||||||
0xFE05 "AltGr" EEK_SYMBOL_CATEGORY_KEYNAME
 | 
					0xFE05 "⇮" EEK_SYMBOL_CATEGORY_KEYNAME
 | 
				
			||||||
0xFE08 "Next" EEK_SYMBOL_CATEGORY_KEYNAME
 | 
					0xFE08 "Next" EEK_SYMBOL_CATEGORY_KEYNAME
 | 
				
			||||||
0xFE0A "Prev" EEK_SYMBOL_CATEGORY_KEYNAME
 | 
					0xFE0A "Prev" EEK_SYMBOL_CATEGORY_KEYNAME
 | 
				
			||||||
0xFF08 "←" EEK_SYMBOL_CATEGORY_KEYNAME
 | 
					0xFF08 "←" EEK_SYMBOL_CATEGORY_KEYNAME
 | 
				
			||||||
 | 
				
			|||||||
@ -82,19 +82,20 @@ eekboard_context_real_g_signal (GDBusProxy  *self,
 | 
				
			|||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (g_strcmp0 (signal_name, "KeyPressed") == 0) {
 | 
					    if (g_strcmp0 (signal_name, "KeyPressed") == 0) {
 | 
				
			||||||
        guint keycode = 0;
 | 
					        const gchar *keyname;
 | 
				
			||||||
        GVariant *variant = NULL;
 | 
					        GVariant *variant = NULL;
 | 
				
			||||||
        guint modifiers = 0;
 | 
					        guint modifiers = 0;
 | 
				
			||||||
        EekSerializable *serializable;
 | 
					        EekSerializable *serializable;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        g_variant_get (parameters, "(uvu)", &keycode, &variant, &modifiers);
 | 
					        g_variant_get (parameters, "(&svu)", &keyname, &variant, &modifiers);
 | 
				
			||||||
        g_return_if_fail (variant != NULL);
 | 
					        g_return_if_fail (variant != NULL);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        serializable = eek_serializable_deserialize (variant);
 | 
					        serializable = eek_serializable_deserialize (variant);
 | 
				
			||||||
        g_return_if_fail (EEK_IS_SYMBOL(serializable));
 | 
					        g_return_if_fail (EEK_IS_SYMBOL(serializable));
 | 
				
			||||||
        
 | 
					        
 | 
				
			||||||
        g_signal_emit_by_name (context, "key-pressed",
 | 
					        g_signal_emit_by_name (context, "key-pressed",
 | 
				
			||||||
                               keycode, EEK_SYMBOL(serializable), modifiers);
 | 
					                               keyname, EEK_SYMBOL(serializable), modifiers);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        return;
 | 
					        return;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -139,7 +140,7 @@ eekboard_context_real_disabled (EekboardContext *self)
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
static void
 | 
					static void
 | 
				
			||||||
eekboard_context_real_key_pressed (EekboardContext *self,
 | 
					eekboard_context_real_key_pressed (EekboardContext *self,
 | 
				
			||||||
                                   guint            keycode,
 | 
					                                   const gchar     *keyname,
 | 
				
			||||||
                                   EekSymbol       *symbol,
 | 
					                                   EekSymbol       *symbol,
 | 
				
			||||||
                                   guint            modifiers)
 | 
					                                   guint            modifiers)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
@ -253,10 +254,10 @@ eekboard_context_class_init (EekboardContextClass *klass)
 | 
				
			|||||||
                      G_STRUCT_OFFSET(EekboardContextClass, key_pressed),
 | 
					                      G_STRUCT_OFFSET(EekboardContextClass, key_pressed),
 | 
				
			||||||
                      NULL,
 | 
					                      NULL,
 | 
				
			||||||
                      NULL,
 | 
					                      NULL,
 | 
				
			||||||
                      _eekboard_marshal_VOID__UINT_OBJECT_UINT,
 | 
					                      _eekboard_marshal_VOID__STRING_OBJECT_UINT,
 | 
				
			||||||
                      G_TYPE_NONE,
 | 
					                      G_TYPE_NONE,
 | 
				
			||||||
                      3,
 | 
					                      3,
 | 
				
			||||||
                      G_TYPE_UINT,
 | 
					                      G_TYPE_STRING,
 | 
				
			||||||
                      G_TYPE_OBJECT,
 | 
					                      G_TYPE_OBJECT,
 | 
				
			||||||
                      G_TYPE_UINT);
 | 
					                      G_TYPE_UINT);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -67,7 +67,7 @@ struct _EekboardContextClass {
 | 
				
			|||||||
    void (*enabled)      (EekboardContext *self);
 | 
					    void (*enabled)      (EekboardContext *self);
 | 
				
			||||||
    void (*disabled)     (EekboardContext *self);
 | 
					    void (*disabled)     (EekboardContext *self);
 | 
				
			||||||
    void (*key_pressed)  (EekboardContext *self,
 | 
					    void (*key_pressed)  (EekboardContext *self,
 | 
				
			||||||
                          guint            keycode,
 | 
					                          const gchar     *keyname,
 | 
				
			||||||
                          EekSymbol       *symbol,
 | 
					                          EekSymbol       *symbol,
 | 
				
			||||||
                          guint            modifiers);
 | 
					                          guint            modifiers);
 | 
				
			||||||
    void (*destroyed)    (EekboardContext *self);
 | 
					    void (*destroyed)    (EekboardContext *self);
 | 
				
			||||||
 | 
				
			|||||||
@ -1 +1 @@
 | 
				
			|||||||
VOID:UINT,OBJECT,UINT
 | 
					VOID:STRING,OBJECT,UINT
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										51
									
								
								src/client.c
									
									
									
									
									
								
							
							
						
						
									
										51
									
								
								src/client.c
									
									
									
									
									
								
							@ -64,7 +64,7 @@ struct _EekboardClient {
 | 
				
			|||||||
    EekboardEekboard *eekboard;
 | 
					    EekboardEekboard *eekboard;
 | 
				
			||||||
    EekboardContext *context;
 | 
					    EekboardContext *context;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    EekKeyboard *keyboard;
 | 
					    GSList *keyboards;
 | 
				
			||||||
    XklEngine *xkl_engine;
 | 
					    XklEngine *xkl_engine;
 | 
				
			||||||
    XklConfigRegistry *xkl_config_registry;
 | 
					    XklConfigRegistry *xkl_config_registry;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -288,7 +288,6 @@ eekboard_client_set_keyboard (EekboardClient *client,
 | 
				
			|||||||
                              const gchar    *keyboard)
 | 
					                              const gchar    *keyboard)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    gboolean retval;
 | 
					    gboolean retval;
 | 
				
			||||||
 | 
					 | 
				
			||||||
    retval = set_keyboard (client, keyboard);
 | 
					    retval = set_keyboard (client, keyboard);
 | 
				
			||||||
    if (retval && IS_KEYBOARD_VISIBLE (client))
 | 
					    if (retval && IS_KEYBOARD_VISIBLE (client))
 | 
				
			||||||
        eekboard_context_show_keyboard (client->context, NULL);
 | 
					        eekboard_context_show_keyboard (client->context, NULL);
 | 
				
			||||||
@ -697,15 +696,35 @@ static gboolean
 | 
				
			|||||||
set_keyboard (EekboardClient *client,
 | 
					set_keyboard (EekboardClient *client,
 | 
				
			||||||
              const gchar *keyboard)
 | 
					              const gchar *keyboard)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
 | 
					    GSList *keyboards = NULL;
 | 
				
			||||||
 | 
					    gchar **strv, **p;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    if (client->keyboards)
 | 
				
			||||||
 | 
					        g_slist_free (client->keyboards);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    strv = g_strsplit (keyboard, ",", -1);
 | 
				
			||||||
 | 
					    for (p = strv; *p != NULL; p++) {
 | 
				
			||||||
        guint keyboard_id;
 | 
					        guint keyboard_id;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        keyboard_id = eekboard_context_add_keyboard (client->context,
 | 
					        keyboard_id = eekboard_context_add_keyboard (client->context,
 | 
				
			||||||
                                                 keyboard,
 | 
					                                                     *p,
 | 
				
			||||||
                                                     NULL);
 | 
					                                                     NULL);
 | 
				
			||||||
        if (keyboard_id == 0)
 | 
					        if (keyboard_id == 0)
 | 
				
			||||||
            return FALSE;
 | 
					            return FALSE;
 | 
				
			||||||
 | 
					        keyboards = g_slist_prepend (keyboards,
 | 
				
			||||||
 | 
					                                     GUINT_TO_POINTER(keyboard_id));
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    g_strfreev (strv);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    eekboard_context_set_keyboard (client->context, keyboard_id, NULL);
 | 
					    /* make a cycle */
 | 
				
			||||||
 | 
					    keyboards = g_slist_reverse (keyboards);
 | 
				
			||||||
 | 
					    g_slist_last (keyboards)->next = keyboards;
 | 
				
			||||||
 | 
					    client->keyboards = keyboards;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /* select the first keyboard */
 | 
				
			||||||
 | 
					    eekboard_context_set_keyboard (client->context,
 | 
				
			||||||
 | 
					                                   GPOINTER_TO_UINT(keyboards->data),
 | 
				
			||||||
 | 
					                                   NULL);
 | 
				
			||||||
    return TRUE;
 | 
					    return TRUE;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -714,7 +733,7 @@ set_keyboard_from_xkl (EekboardClient *client)
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
    XklConfigRec *rec;
 | 
					    XklConfigRec *rec;
 | 
				
			||||||
    gchar *layout, *keyboard;
 | 
					    gchar *layout, *keyboard;
 | 
				
			||||||
    gboolean retval;
 | 
					    guint keyboard_id;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    rec = xkl_config_rec_new ();
 | 
					    rec = xkl_config_rec_new ();
 | 
				
			||||||
    xkl_config_rec_get_from_server (rec, client->xkl_engine);
 | 
					    xkl_config_rec_get_from_server (rec, client->xkl_engine);
 | 
				
			||||||
@ -723,10 +742,16 @@ set_keyboard_from_xkl (EekboardClient *client)
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    keyboard = g_strdup_printf ("xkb:%s", layout);
 | 
					    keyboard = g_strdup_printf ("xkb:%s", layout);
 | 
				
			||||||
    g_free (layout);
 | 
					    g_free (layout);
 | 
				
			||||||
    retval = set_keyboard (client, keyboard);
 | 
					 | 
				
			||||||
    g_free (keyboard);
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
    return retval;
 | 
					    keyboard_id = eekboard_context_add_keyboard (client->context,
 | 
				
			||||||
 | 
					                                                 keyboard,
 | 
				
			||||||
 | 
					                                                 NULL);
 | 
				
			||||||
 | 
					    g_free (keyboard);
 | 
				
			||||||
 | 
					    if (keyboard_id == 0)
 | 
				
			||||||
 | 
					        return FALSE;
 | 
				
			||||||
 | 
					    eekboard_context_set_keyboard (client->context, keyboard_id, NULL);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    return TRUE;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static void
 | 
					static void
 | 
				
			||||||
@ -909,12 +934,20 @@ send_fake_key_event (EekboardClient *client,
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
static void
 | 
					static void
 | 
				
			||||||
on_key_pressed (EekboardContext *context,
 | 
					on_key_pressed (EekboardContext *context,
 | 
				
			||||||
                guint            keycode,
 | 
					                const gchar     *keyname,
 | 
				
			||||||
                EekSymbol       *symbol,
 | 
					                EekSymbol       *symbol,
 | 
				
			||||||
                guint            modifiers,
 | 
					                guint            modifiers,
 | 
				
			||||||
                gpointer         user_data)
 | 
					                gpointer         user_data)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    EekboardClient *client = user_data;
 | 
					    EekboardClient *client = user_data;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    if (g_strcmp0 (eek_symbol_get_name (symbol), "cycle-keyboard") == 0) {
 | 
				
			||||||
 | 
					        client->keyboards = g_slist_next (client->keyboards);
 | 
				
			||||||
 | 
					        eekboard_context_set_keyboard (client->context,
 | 
				
			||||||
 | 
					                                       GPOINTER_TO_UINT(client->keyboards->data),
 | 
				
			||||||
 | 
					                                       NULL);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    send_fake_key_event (client, symbol, modifiers, TRUE);
 | 
					    send_fake_key_event (client, symbol, modifiers, TRUE);
 | 
				
			||||||
    send_fake_key_event (client, symbol, modifiers, FALSE);
 | 
					    send_fake_key_event (client, symbol, modifiers, FALSE);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
@ -80,7 +80,7 @@ static const gchar introspection_xml[] =
 | 
				
			|||||||
    "    <signal name='Enabled'/>"
 | 
					    "    <signal name='Enabled'/>"
 | 
				
			||||||
    "    <signal name='Disabled'/>"
 | 
					    "    <signal name='Disabled'/>"
 | 
				
			||||||
    "    <signal name='KeyPressed'>"
 | 
					    "    <signal name='KeyPressed'>"
 | 
				
			||||||
    "      <arg type='u' name='keycode'/>"
 | 
					    "      <arg type='s' name='keyname'/>"
 | 
				
			||||||
    "      <arg type='v' name='symbol'/>"
 | 
					    "      <arg type='v' name='symbol'/>"
 | 
				
			||||||
    "      <arg type='u' name='modifiers'/>"
 | 
					    "      <arg type='u' name='modifiers'/>"
 | 
				
			||||||
    "    </signal>"
 | 
					    "    </signal>"
 | 
				
			||||||
@ -593,7 +593,7 @@ static void
 | 
				
			|||||||
emit_key_pressed_dbus_signal (ServerContext *context, EekKey *key)
 | 
					emit_key_pressed_dbus_signal (ServerContext *context, EekKey *key)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    if (context->connection && context->enabled) {
 | 
					    if (context->connection && context->enabled) {
 | 
				
			||||||
        guint keycode = eek_key_get_keycode (key);
 | 
					        const gchar *keyname = eek_element_get_name (EEK_ELEMENT(key));
 | 
				
			||||||
        EekSymbol *symbol = eek_key_get_symbol_with_fallback (key, 0, 0);
 | 
					        EekSymbol *symbol = eek_key_get_symbol_with_fallback (key, 0, 0);
 | 
				
			||||||
        guint modifiers = eek_keyboard_get_modifiers (context->keyboard);
 | 
					        guint modifiers = eek_keyboard_get_modifiers (context->keyboard);
 | 
				
			||||||
        GVariant *variant;
 | 
					        GVariant *variant;
 | 
				
			||||||
@ -607,8 +607,8 @@ emit_key_pressed_dbus_signal (ServerContext *context, EekKey *key)
 | 
				
			|||||||
                                       context->object_path,
 | 
					                                       context->object_path,
 | 
				
			||||||
                                       SERVER_CONTEXT_INTERFACE,
 | 
					                                       SERVER_CONTEXT_INTERFACE,
 | 
				
			||||||
                                       "KeyPressed",
 | 
					                                       "KeyPressed",
 | 
				
			||||||
                                       g_variant_new ("(uvu)",
 | 
					                                       g_variant_new ("(svu)",
 | 
				
			||||||
                                                      keycode,
 | 
					                                                      keyname,
 | 
				
			||||||
                                                      variant,
 | 
					                                                      variant,
 | 
				
			||||||
                                                      modifiers),
 | 
					                                                      modifiers),
 | 
				
			||||||
                                       &error);
 | 
					                                       &error);
 | 
				
			||||||
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user