#include <dali/integration-api/events/touch-event-integ.h>
#include <dali/integration-api/events/hover-event-integ.h>
#include <dali/integration-api/events/wheel-event-integ.h>
+#include <dali/devel-api/events/key-event-devel.h>
// INTERNAL INCLUDES
#include <events/gesture-manager.h>
}
}
+/**
+ * Get the device class from the provided ecore key event
+ */
+void GetDeviceClass( Ecore_Event_Key* keyEvent, DevelKeyEvent::DeviceClass::Type& deviceClass )
+{
+ Ecore_Device_Class ecoreDeviceClass = ecore_device_class_get( keyEvent->dev );
+
+ switch( ecoreDeviceClass )
+ {
+ case ECORE_DEVICE_CLASS_SEAT:
+ deviceClass = DevelKeyEvent::DeviceClass::SEAT;
+ break;
+
+ case ECORE_DEVICE_CLASS_KEYBOARD:
+ deviceClass = DevelKeyEvent::DeviceClass::KEYBOARD;
+ break;
+
+ case ECORE_DEVICE_CLASS_MOUSE:
+ deviceClass = DevelKeyEvent::DeviceClass::MOUSE;
+ break;
+
+ case ECORE_DEVICE_CLASS_TOUCH:
+ deviceClass = DevelKeyEvent::DeviceClass::TOUCH;
+ break;
+
+ case ECORE_DEVICE_CLASS_PEN:
+ deviceClass = DevelKeyEvent::DeviceClass::PEN;
+ break;
+
+ case ECORE_DEVICE_CLASS_POINTER:
+ deviceClass = DevelKeyEvent::DeviceClass::POINTER;
+ break;
+
+ case ECORE_DEVICE_CLASS_GAMEPAD:
+ deviceClass = DevelKeyEvent::DeviceClass::GAMEPAD;
+ break;
+
+ default:
+ deviceClass = DevelKeyEvent::DeviceClass::NONE;
+ break;
+ }
+}
} // unnamed namespace
}
std::string deviceName;
+ DevelKeyEvent::DeviceClass::Type deviceClass;
+
GetDeviceName( keyEvent, deviceName );
+ GetDeviceClass( keyEvent, deviceClass );
- DALI_LOG_INFO( gImfLogging, Debug::Verbose, "EVENT EcoreEventKeyDown - >>EcoreEventKeyDown deviceName(%s)\n", deviceName.c_str() );
+ DALI_LOG_INFO( gImfLogging, Debug::Verbose, "EVENT EcoreEventKeyDown - >>EcoreEventKeyDown deviceName(%s) deviceClass(%d)\n", deviceName.c_str(), deviceClass );
- Integration::KeyEvent keyEvent(keyName, keyString, keyCode, modifier, time, Integration::KeyEvent::Down, deviceName );
+ Integration::KeyEvent keyEvent(keyName, keyString, keyCode, modifier, time, Integration::KeyEvent::Down, deviceName, deviceClass );
handler->SendEvent( keyEvent );
}
}
}
std::string deviceName;
+ DevelKeyEvent::DeviceClass::Type deviceClass;
+
GetDeviceName( keyEvent, deviceName );
+ GetDeviceClass( keyEvent, deviceClass );
- Integration::KeyEvent keyEvent(keyName, keyString, keyCode, modifier, time, Integration::KeyEvent::Up, deviceName );
+ Integration::KeyEvent keyEvent(keyName, keyString, keyCode, modifier, time, Integration::KeyEvent::Up, deviceName, deviceClass );
handler->SendEvent( keyEvent );
}
}
#include <dali/integration-api/events/touch-event-integ.h>
#include <dali/integration-api/events/hover-event-integ.h>
#include <dali/integration-api/events/wheel-event-integ.h>
+#include <dali/devel-api/events/key-event-devel.h>
// INTERNAL INCLUDES
#include <events/gesture-manager.h>
const char * DETENT_DEVICE_NAME = "tizen_detent";
const std::string DEFAULT_DEVICE_NAME = "";
+const DevelKeyEvent::DeviceClass::Type DEFAULT_DEVICE_CLASS = DevelKeyEvent::DeviceClass::NONE;
+
// DBUS accessibility
#define A11Y_BUS "org.a11y.Bus"
#define A11Y_INTERFACE "org.a11y.Bus"
keyString = keyEvent->string;
}
- Integration::KeyEvent keyEvent(keyName, keyString, keyCode, modifier, time, Integration::KeyEvent::Down, DEFAULT_DEVICE_NAME );
+ Integration::KeyEvent keyEvent(keyName, keyString, keyCode, modifier, time, Integration::KeyEvent::Down, DEFAULT_DEVICE_NAME, DEFAULT_DEVICE_CLASS );
handler->SendEvent( keyEvent );
}
}
keyString = keyEvent->string;
}
- Integration::KeyEvent keyEvent(keyName, keyString, keyCode, modifier, time, Integration::KeyEvent::Up, DEFAULT_DEVICE_NAME );
+ Integration::KeyEvent keyEvent(keyName, keyString, keyCode, modifier, time, Integration::KeyEvent::Up, DEFAULT_DEVICE_NAME, DEFAULT_DEVICE_CLASS );
handler->SendEvent( keyEvent );
}