From 10836ae78302aa778553300167f6cdebdf8d884b Mon Sep 17 00:00:00 2001 From: David Härdeman Date: Wed, 22 Jul 2015 23:39:29 +0200 Subject: Improve rcm-server integration with evdev generation --- rcm-client-main.c | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) (limited to 'rcm-client-main.c') diff --git a/rcm-client-main.c b/rcm-client-main.c index f7a70c6..ddf5f92 100644 --- a/rcm-client-main.c +++ b/rcm-client-main.c @@ -73,22 +73,23 @@ on_signal(GDBusObjectManagerClient *manager, GVariant *parameters, gpointer user_data) { - bool pressed; + gchar *protocol; + guint64 scancode; gchar *keycode; g_print("Signal %s received for obj %s\n", signal_name, g_dbus_object_get_object_path(G_DBUS_OBJECT(object_proxy))); - if (!strcmp(signal_name, "KeyReleased")) - pressed = false; - else if (!strcmp(signal_name, "KeyPressed")) - pressed = true; - else - return; - - g_variant_get(parameters, "(s)", &keycode); - rcng_client_receive_keypress(G_DBUS_OBJECT(object_proxy), keycode, pressed); - g_free(keycode); + if (!strcmp(signal_name, "KeyReleased")) { + g_variant_get(parameters, "(s)", &keycode); + rcng_client_receive_key_released(G_DBUS_OBJECT(object_proxy), keycode); + g_free(keycode); + } else if (!strcmp(signal_name, "KeyPressed")) { + g_variant_get(parameters, "(sts)", &protocol, &scancode, &keycode); + rcng_client_receive_key_pressed(G_DBUS_OBJECT(object_proxy), protocol, scancode, keycode); + g_free(protocol); + g_free(keycode); + } } static void -- cgit v1.2.3