emul_state: Added a routine to get status of host on OS X.
authorKitae Kim <kt920.kim@samsung.com>
Tue, 22 Jan 2013 13:29:26 +0000 (22:29 +0900)
committerKitae Kim <kt920.kim@samsung.com>
Tue, 22 Jan 2013 19:29:16 +0000 (04:29 +0900)
Query keyboard status such as numlock or capslock to host's X server.

Signed-off-by: Kitae Kim <kt920.kim@samsung.com>
tizen/src/Makefile.tizen
tizen/src/emul_state.c

index 98c7050..3303e89 100755 (executable)
@@ -12,6 +12,7 @@ QEMU_CFLAGS += $(GLIB_CFLAGS)
 ifdef CONFIG_DARWIN
 QEMU_CFLAGS += -framework Foundation -framework SystemConfiguration
 QEMU_CFLAGS += -framework Cocoa -framework QTKit -framework CoreVideo
+QEMU_CFLAGS += -L/usr/X11/lib
 endif
 ifndef CONFIG_DEBUG_EXEC
 CFLAGS += -g -O2
@@ -27,7 +28,7 @@ LIBS += -lavformat -lavcodec -lavutil -lm -lcurl -lGL -lXcomposite -lXext
 endif
 ifdef CONFIG_DARWIN
 # FIXME: disabled codec on Mac now
-LIBS += -lavformat -lavcodec -lavutil -lm
+LIBS += -lavformat -lavcodec -lavutil -lm -lX11
 endif
 
 ifdef CONFIG_DEBUG_EXEC
index 34cc6b3..501fcf5 100644 (file)
@@ -3,7 +3,7 @@
  *
  * Copyright (C) 2011, 2012 Samsung Electronics Co., Ltd. All rights reserved.
  *
- * Contact: 
+ * Contact:
  * SeokYeon Hwang <syeon.hwang@samsung.com>
  * MunKyu Im <munkyu.im@samsung.com>
  * GiWoong Kim <giwoong.kim@samsung.com>
 #include "emul_state.h"
 #include "debug_ch.h"
 
-#if defined( __linux__)
-#include <X11/XKBlib.h>
-#elif defined(_WIN32)
+#if defined(CONFIG_WIN32)
 #include <windows.h>
+#else
+#include <X11/XKBlib.h>
 #endif
 
 MULTI_DEBUG_CHANNEL(qemu, emul_state);
@@ -164,8 +164,13 @@ MultiTouchState *get_emul_multi_touch_state(void)
 int get_host_lock_key_state(int key)
 {
     /* support only capslock, numlock */
-
-#if defined(CONFIG_LINUX)
+#if defined(CONFIG_WIN32)
+    if (key == HOST_CAPSLOCK_KEY) {
+        return (GetKeyState(VK_CAPITAL) & 1) != 0;
+    } else if (key == HOST_NUMLOCK_KEY) {
+        return (GetKeyState(VK_NUMLOCK) & 1) != 0;
+    }
+#else
     unsigned state = 0;
     Display *display = XOpenDisplay((char*)0);
     if (display) {
@@ -178,23 +183,9 @@ int get_host_lock_key_state(int key)
     } else if (key == HOST_NUMLOCK_KEY) {
         return (state & 0x02) != 0;
     }
-
-    return -1;
-
-#elif defined(CONFIG_WIN32)
-    if (key == HOST_CAPSLOCK_KEY) {
-        return (GetKeyState(VK_CAPITAL) & 1) != 0;
-    } else if (key == HOST_NUMLOCK_KEY) {
-        return (GetKeyState(VK_NUMLOCK) & 1) != 0;
-    }
-
-    return -1;
-
-#elif defined(CONFIG_DARWIN)
-    //TODO:
 #endif
 
-    return 0;
+    return -1;
 }
 
 /* manage CapsLock key state for usb keyboard input */