ecp: keyboard on/off sync with skin 72/13572/2
authorJinhyung Choi <jinhyung2.choi@samsung.com>
Tue, 10 Dec 2013 03:54:54 +0000 (12:54 +0900)
committerJinhyung Choi <jinhyung2.choi@samsung.com>
Tue, 10 Dec 2013 04:00:20 +0000 (13:00 +0900)
now ecp & skin menu gets correct synchronization.

Change-Id: Ic6c465417c12b5f7075f20706e7195f7a6760b28
Signed-off-by: Jinhyung Choi <jinhyung2.choi@samsung.com>
package/pkginfo.manifest
tizen/src/ecs/ecs.h
tizen/src/ecs/ecs_msg.c
tizen/src/skin/maruskin_server.c

index 7abbb87..996f6a0 100644 (file)
@@ -1,4 +1,4 @@
-Version: 1.7.3
+Version: 1.7.4
 Maintainer: Yeong-Kyoon Lee<yeongkyoon.lee@samsung.com>
 Source: emulator
 
index a2b366c..3806ab4 100644 (file)
@@ -224,6 +224,8 @@ int ecs_get_suspend_state(void);
 void ecs_set_suspend_state(int state);
 void ecs_suspend_lock_state(int state);
 
+void send_host_keyboard_ntf(int on);
+
 /* request */
 int accel_min_max(double value);
 void req_set_sensor_accel(int x, int y, int z);
index 9942eef..63e336b 100644 (file)
@@ -60,6 +60,7 @@
 #include "hw/maru_virtio_sensor.h"
 #include "hw/maru_virtio_nfc.h"
 #include "skin/maruskin_operation.h"
+#include "skin/maruskin_server.h"
 
 #define MAX_BUF_SIZE  255
 // utility functions
@@ -285,12 +286,11 @@ void msgproc_keepalive_ans (ECS_Client* ccli, ECS__KeepAliveAns* msg)
     ccli->keep_alive = 0;
 }
 
-static void send_host_keyboard_ntf (void)
+void send_host_keyboard_ntf (int on)
 {
     type_length length = (unsigned short)1;
     type_group group = GROUP_STATUS;
     type_action action = 122;
-    int is_on = mloop_evcmd_get_hostkbd_status();
 
     char* keyboard_msg = (char*) malloc(15);
     if(!keyboard_msg)
@@ -300,7 +300,7 @@ static void send_host_keyboard_ntf (void)
     memcpy(keyboard_msg + 10, &length, sizeof(unsigned short));
     memcpy(keyboard_msg + 12, &group, sizeof(unsigned char));
     memcpy(keyboard_msg + 13, &action, sizeof(unsigned char));
-    memcpy(keyboard_msg + 14, (is_on?"1":"0"), 1);
+    memcpy(keyboard_msg + 14, ((on == 1) ? "1":"0"), 1);
 
     send_device_ntf(keyboard_msg, 15);
 
@@ -355,12 +355,13 @@ bool msgproc_device_req(ECS_Client* ccli, ECS__DeviceReq* msg)
         }
     } else if (!strncmp(cmd, "HKeyboard", 8)) {
         if (group == MSG_GROUP_STATUS) {
-            send_host_keyboard_ntf();
+            send_host_keyboard_ntf(mloop_evcmd_get_hostkbd_status());
         } else {
             if (!strncmp(data, "1", 1)) {
                 is_on = 1;
             }
             do_host_kbd_enable(is_on);
+            notify_host_kbd_state(is_on);
         }
     }
 
index e14e547..25d982f 100644 (file)
@@ -1107,6 +1107,8 @@ static void* run_skin_server(void* args)
                     } else {
                         do_host_kbd_enable(true);
                     }
+
+                    send_host_keyboard_ntf((on == 0) ? 0 : 1);
                     break;
                 }
                 case RECV_INTERPOLATION_STATE: {