From d05b8006e3b62de2b7e6e53222fc74773ce5851f Mon Sep 17 00:00:00 2001 From: Jinhyung Choi Date: Tue, 10 Dec 2013 12:54:54 +0900 Subject: [PATCH] ecp: keyboard on/off sync with skin now ecp & skin menu gets correct synchronization. Change-Id: Ic6c465417c12b5f7075f20706e7195f7a6760b28 Signed-off-by: Jinhyung Choi --- package/pkginfo.manifest | 2 +- tizen/src/ecs/ecs.h | 2 ++ tizen/src/ecs/ecs_msg.c | 9 +++++---- tizen/src/skin/maruskin_server.c | 2 ++ 4 files changed, 10 insertions(+), 5 deletions(-) diff --git a/package/pkginfo.manifest b/package/pkginfo.manifest index 7abbb87..996f6a0 100644 --- a/package/pkginfo.manifest +++ b/package/pkginfo.manifest @@ -1,4 +1,4 @@ -Version: 1.7.3 +Version: 1.7.4 Maintainer: Yeong-Kyoon Lee Source: emulator diff --git a/tizen/src/ecs/ecs.h b/tizen/src/ecs/ecs.h index a2b366c..3806ab4 100644 --- a/tizen/src/ecs/ecs.h +++ b/tizen/src/ecs/ecs.h @@ -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); diff --git a/tizen/src/ecs/ecs_msg.c b/tizen/src/ecs/ecs_msg.c index 9942eef..63e336b 100644 --- a/tizen/src/ecs/ecs_msg.c +++ b/tizen/src/ecs/ecs_msg.c @@ -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); } } diff --git a/tizen/src/skin/maruskin_server.c b/tizen/src/skin/maruskin_server.c index e14e547..25d982f 100644 --- a/tizen/src/skin/maruskin_server.c +++ b/tizen/src/skin/maruskin_server.c @@ -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: { -- 2.7.4