#include "qemu/timer.h"
#include "hw/input/hid.h"
-#ifdef CONFIG_MARU
-#include "../tizen/src/mloop_event.h"
-#endif
-
/* HID interface requests */
#define GET_REPORT 0xa101
#define GET_IDLE 0xa102
{
USBHIDState *us = DO_UPCAST(USBHIDState, dev, dev);
-#ifdef CONFIG_MARU
- if (us->hid.kind == HID_KEYBOARD) {
- mloop_evcmd_set_usbkbd(NULL);
- }
-#endif
-
hid_free(&us->hid);
}
static int usb_keyboard_initfn(USBDevice *dev)
{
-#ifdef CONFIG_MARU
- mloop_evcmd_set_usbkbd(dev);
-#endif
return usb_hid_initfn(dev, HID_KEYBOARD);
}
return ret;
}
-static USBDevice *usbkbd = NULL;
static USBDevice *usbdisk = NULL;
#ifdef TARGET_I386
static PCIDevice *hostkbd = NULL;
return;
}
- if (strcmp(name, "keyboard") == 0) {
- if (usbkbd == NULL) {
- usbkbd = usbdevice_create(name);
- } else if (usbkbd->attached == 0) {
- usb_device_attach(usbkbd);
- }
- } else if (strncmp(name, "disk:", 5) == 0) {
+ if (strncmp(name, "disk:", 5) == 0) {
if (usbdisk == NULL) {
usbdisk = usbdevice_create(name);
}
return;
}
- if (strcmp(name, "keyboard") == 0) {
- if (usbkbd && usbkbd->attached != 0) {
- usb_device_detach(usbkbd);
- }
- } else if (strncmp(name, "disk:", 5) == 0) {
+ if (strncmp(name, "disk:", 5) == 0) {
if (usbdisk) {
// qdev_free(&usbdisk->qdev);
}
mloop_evsock_send(&mloop, &pack);
}
-void mloop_evcmd_usbkbd(int on)
-{
- struct mloop_evpack pack = { MLOOP_EVTYPE_USB_ADD, 13, "keyboard" };
- if (on == 0) {
- pack.type = MLOOP_EVTYPE_USB_DEL;
- }
- mloop_evsock_send(&mloop, &pack);
-}
-
void mloop_evcmd_hostkbd(int on)
{
struct mloop_evpack pack
mloop_evsock_send(&mloop, &pack);
}
-int mloop_evcmd_get_usbkbd_status(void)
-{
- return (usbkbd && usbkbd->attached ? 1 : 0);
-}
-
-void mloop_evcmd_set_usbkbd(void *dev)
-{
- usbkbd = (USBDevice *)dev;
-}
-
void mloop_evcmd_set_usbdisk(void *dev)
{
usbdisk = (USBDevice *)dev;