Fix HID issues

Mixed type HID report descriptor in the current trunk doesn't work
well so this patch fixes the HID creation logic to make it use
composite configuration which has separated keyboard and mouse
HID descriptor using a single USB port.

ikvm service also should be changed using below setting after
applying this patch:
ExecStart=/usr/bin/env obmc-ikvm -v /dev/video0 -k /dev/hidg0 -p /dev/hidg1

Change-Id: I9b2975f4fdade2c6030def829951d02b24bea562
Signed-off-by: Jae Hyun Yoo <jae.hyun.yoo@linux.intel.com>
diff --git a/ikvm_args.hpp b/ikvm_args.hpp
index 489718b..f877d32 100644
--- a/ikvm_args.hpp
+++ b/ikvm_args.hpp
@@ -72,13 +72,23 @@
     }
 
     /*
-     * @brief Get the path to the USB input device
+     * @brief Get the path to the USB keyboard device
      *
-     * @return Reference to the string storing the path to the input device
+     * @return Reference to the string storing the path to the keyboard device
      */
-    inline const std::string& getInputPath() const
+    inline const std::string& getKeyboardPath() const
     {
-        return inputPath;
+        return keyboardPath;
+    }
+
+    /*
+     * @brief Get the path to the USB mouse device
+     *
+     * @return Reference to the string storing the path to the mouse device
+     */
+    inline const std::string& getPointerPath() const
+    {
+        return pointerPath;
     }
 
     /*
@@ -100,8 +110,10 @@
      *        stream
      */
     int frameRate;
-    /* @brief Path to the USB input device */
-    std::string inputPath;
+    /* @brief Path to the USB keyboard device */
+    std::string keyboardPath;
+    /* @brief Path to the USB mouse device */
+    std::string pointerPath;
     /* @brief Path to the V4L2 video device */
     std::string videoPath;
     /* @brief Original command line arguments passed to the application */