Revert "KeyEvent class pimpling"
authorJoogab Yun <joogab.yun@samsung.com>
Tue, 1 Sep 2020 08:07:50 +0000 (17:07 +0900)
committerJoogab Yun <joogab.yun@samsung.com>
Tue, 1 Sep 2020 08:07:50 +0000 (17:07 +0900)
This reverts commit 20e9508534d3498d600a885df07b8061eaf1500a.

16 files changed:
automated-tests/src/dali-adaptor/utc-Dali-Key.cpp
dali/devel-api/adaptor-framework/event-feeder.h
dali/devel-api/adaptor-framework/window-devel.h
dali/integration-api/adaptor-framework/scene-holder-impl.h
dali/integration-api/adaptor-framework/scene-holder.cpp
dali/integration-api/adaptor-framework/scene-holder.h
dali/internal/adaptor/android/framework-android.cpp
dali/internal/adaptor/common/adaptor-impl.cpp
dali/internal/adaptor/common/adaptor-impl.h
dali/internal/input/common/key-impl.cpp
dali/internal/input/tizen-wayland/input-method-context-impl-ecore-wl.cpp
dali/internal/input/tizen-wayland/input-method-context-impl-ecore-wl.h
dali/internal/input/ubuntu-x11/input-method-context-impl-x.cpp
dali/internal/input/ubuntu-x11/input-method-context-impl-x.h
dali/internal/input/windows/input-method-context-impl-win.cpp
dali/public-api/adaptor-framework/window.h

index 27e5fb6..9a2e7dc 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2020 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -24,7 +24,6 @@
 #include <stdlib.h>
 #include <iostream>
 #include <dali.h>
-#include <dali/devel-api/events/key-event-devel.h>
 #include <dali-test-suite-utils.h>
 
 using namespace Dali;
@@ -98,7 +97,8 @@ const std::size_t KEY_LOOKUP_COUNT = (sizeof( KeyLookupTable))/ (sizeof(KeyLooku
 // Generate a KeyPressEvent to send to Core
 Dali::KeyEvent GenerateKeyPress( const std::string& keyName )
 {
-  Dali::KeyEvent keyPress = DevelKeyEvent::New(keyName, "", "", -1, 0, 0lu, Dali::KeyEvent::Down, "", "", Device::Class::NONE, Device::Subclass::NONE);  // set name to test, key string to i and modifier to shift
+  KeyEvent keyPress;
+  keyPress.keyPressedName = keyName;
   return keyPress;
 }
 
index ab52f73..e1648a6 100644 (file)
@@ -25,7 +25,7 @@ namespace Dali
 {
 
 class WheelEvent;
-class KeyEvent;
+struct KeyEvent;
 struct TouchPoint;
 
 namespace EventFeeder
index 42de53c..4e14202 100644 (file)
@@ -27,7 +27,7 @@
 
 namespace Dali
 {
-class KeyEvent;
+struct KeyEvent;
 class TouchEvent;
 class WheelEvent;
 class RenderTaskList;
index e3828b9..c5d5936 100644 (file)
@@ -43,7 +43,7 @@ class Actor;
 class Layer;
 class WheelEvent;
 struct TouchPoint;
-class KeyEvent;
+struct KeyEvent;
 
 namespace Integration
 {
index f9c1965..d7b1514 100644 (file)
@@ -102,8 +102,8 @@ void SceneHolder::FeedWheelEvent( Dali::WheelEvent& wheelEvent )
 
 void SceneHolder::FeedKeyEvent( Dali::KeyEvent& keyEvent )
 {
-  Integration::KeyEvent event( keyEvent.GetKeyName(), keyEvent.GetLogicalKey(), keyEvent.GetKeyString(), keyEvent.GetKeyCode(), keyEvent.GetKeyModifier(), keyEvent.GetTime(), static_cast< Integration::KeyEvent::State >( keyEvent.GetState() ), keyEvent.GetCompose(), keyEvent.GetDeviceName(), keyEvent.GetDeviceClass(), keyEvent.GetDeviceSubclass() );
-  GetImplementation(*this).FeedKeyEvent( event );
+  Integration::KeyEvent convertedEvent( keyEvent );
+  GetImplementation(*this).FeedKeyEvent( convertedEvent );
 }
 
 SceneHolder SceneHolder::Get( Actor actor )
index fe80572..2026e19 100644 (file)
@@ -33,7 +33,7 @@ class Any;
 class TouchEvent;
 class WheelEvent;
 struct TouchPoint;
-class KeyEvent;
+struct KeyEvent;
 
 namespace Internal DALI_INTERNAL
 {
index b129bcd..741f76c 100644 (file)
@@ -29,7 +29,6 @@
 #include <dali/integration-api/adaptor-framework/android/android-framework.h>
 #include <dali/public-api/events/touch-point.h>
 #include <dali/public-api/events/key-event.h>
-#include <dali/devel-api/events/key-event-devel.h>
 
 // INTERNAL INCLUDES
 #include <dali/internal/system/common/callback-manager.h>
@@ -422,13 +421,13 @@ struct Framework::Impl
       int32_t action = AKeyEvent_getAction( event );
       int64_t timeStamp = AKeyEvent_getEventTime( event );
 
-      Dali::KeyEvent::State state = Dali::KeyEvent::Down;
+      KeyEvent::State state = KeyEvent::Down;
       switch ( action )
       {
       case AKEY_EVENT_ACTION_DOWN:
         break;
       case AKEY_EVENT_ACTION_UP:
-        state = Dali::KeyEvent::Up;
+        state = KeyEvent::Up;
         break;
       }
 
@@ -441,7 +440,7 @@ struct Framework::Impl
       default:
         break;
       }
-      Dali::KeyEvent keyEvent = Dali::DevelKeyEvent::New( keyName, "", "", keyCode, 0, timeStamp, state, "", "", Device::Class::NONE, Device::Subclass::NONE );
+      Dali::KeyEvent keyEvent( keyName, "", keyCode, 0, timeStamp, state );
       Dali::Internal::Adaptor::Framework::Impl::NativeAppKeyEvent( framework, keyEvent );
       return 1;
     }
index 52b9eff..a48b607 100755 (executable)
@@ -574,9 +574,9 @@ void Adaptor::FeedWheelEvent( Dali::WheelEvent& wheelEvent )
   mWindows.front()->FeedWheelEvent( event );
 }
 
-void Adaptor::FeedKeyEvent( Dali::KeyEvent& keyEvent )
+void Adaptor::FeedKeyEvent( KeyEvent& keyEvent )
 {
-  Integration::KeyEvent convertedEvent( keyEvent.GetKeyName(), keyEvent.GetLogicalKey(), keyEvent.GetKeyString(), keyEvent.GetKeyCode(), keyEvent.GetKeyModifier(), keyEvent.GetTime(), static_cast< Integration::KeyEvent::State >( keyEvent.GetState() ), keyEvent.GetCompose(), keyEvent.GetDeviceName(), keyEvent.GetDeviceClass(), keyEvent.GetDeviceSubclass() );
+  Integration::KeyEvent convertedEvent( keyEvent );
   mWindows.front()->FeedKeyEvent( convertedEvent );
 }
 
index 7093fb7..5d0e63a 100755 (executable)
@@ -251,7 +251,7 @@ public: // AdaptorInternalServices implementation
   /**
    * @copydoc Dali::EventFeeder::FeedKeyEvent()
    */
-  virtual void FeedKeyEvent( Dali::KeyEvent& keyEvent );
+  virtual void FeedKeyEvent( KeyEvent& keyEvent );
 
   /**
    * @copydoc Dali::Adaptor::ReplaceSurface()
index 49dd765..fe81d22 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2020 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -282,7 +282,7 @@ KeyMap globalKeyLookup;
 
 bool IsKey( const Dali::KeyEvent& keyEvent, Dali::KEY daliKey)
 {
-  int key = globalKeyLookup.GetDaliKeyEnum( keyEvent.GetKeyName().c_str() );
+  int key = globalKeyLookup.GetDaliKeyEnum( keyEvent.keyPressedName.c_str() );
   return daliKey == key;
 }
 
index 7482be6..88b63a6 100755 (executable)
@@ -1055,14 +1055,14 @@ bool InputMethodContextEcoreWl::FilterEventKey( const Dali::KeyEvent& keyEvent )
   bool eventHandled( false );
 
   // If a device key then skip ecore_imf_context_filter_event.
-  if ( ! KeyLookup::IsDeviceButton( keyEvent.GetKeyName().c_str() ))
+  if ( ! KeyLookup::IsDeviceButton( keyEvent.keyPressedName.c_str() ))
   {
     //check whether it's key down or key up event
-    if ( keyEvent.GetState() == Dali::KeyEvent::Down )
+    if ( keyEvent.state == KeyEvent::Down )
     {
       eventHandled = ProcessEventKeyDown( keyEvent );
     }
-    else if ( keyEvent.GetState() == Dali::KeyEvent::Up )
+    else if ( keyEvent.state == KeyEvent::Up )
     {
       eventHandled = ProcessEventKeyUp( keyEvent );
     }
@@ -1160,38 +1160,38 @@ void InputMethodContextEcoreWl::GetPreeditStyle( Dali::InputMethodContext::PreEd
   attrs = mPreeditAttrs;
 }
 
-bool InputMethodContextEcoreWl::ProcessEventKeyDown( const Dali::KeyEvent& keyEvent )
+bool InputMethodContextEcoreWl::ProcessEventKeyDown( const KeyEvent& keyEvent )
 {
   bool eventHandled( false );
   if ( mIMFContext )
   {
-    Integration::KeyEvent integKeyEvent( keyEvent.GetKeyName(), keyEvent.GetLogicalKey(), keyEvent.GetKeyString(), keyEvent.GetKeyCode(), keyEvent.GetKeyModifier(), keyEvent.GetTime(), static_cast< Integration::KeyEvent::State >( keyEvent.GetState() ), keyEvent.GetCompose(), keyEvent.GetDeviceName(), keyEvent.GetDeviceClass(), keyEvent.GetDeviceSubclass() );
+    Integration::KeyEvent integKeyEvent( keyEvent );
     std::string key = integKeyEvent.logicalKey;
 
-    std::string compose = integKeyEvent.compose;
-    std::string deviceName = integKeyEvent.deviceName;
+    std::string compose = keyEvent.GetCompose();
+    std::string deviceName = keyEvent.GetDeviceName();
 
     // We're consuming key down event so we have to pass to InputMethodContext so that it can parse it as well.
     Ecore_IMF_Event_Key_Down ecoreKeyDownEvent;
-    ecoreKeyDownEvent.keyname = integKeyEvent.keyName.c_str();
+    ecoreKeyDownEvent.keyname = keyEvent.keyPressedName.c_str();
     ecoreKeyDownEvent.key = key.c_str();
-    ecoreKeyDownEvent.string = integKeyEvent.keyString.c_str();
+    ecoreKeyDownEvent.string = keyEvent.keyPressed.c_str();
     ecoreKeyDownEvent.compose = compose.c_str();
-    ecoreKeyDownEvent.timestamp = integKeyEvent.time;
-    ecoreKeyDownEvent.modifiers = EcoreInputModifierToEcoreIMFModifier( integKeyEvent.keyModifier );
-    ecoreKeyDownEvent.locks = EcoreInputModifierToEcoreIMFLock( integKeyEvent.keyModifier );
+    ecoreKeyDownEvent.timestamp = keyEvent.time;
+    ecoreKeyDownEvent.modifiers = EcoreInputModifierToEcoreIMFModifier( keyEvent.keyModifier );
+    ecoreKeyDownEvent.locks = EcoreInputModifierToEcoreIMFLock( keyEvent.keyModifier );
     ecoreKeyDownEvent.dev_name = deviceName.c_str();
-    ecoreKeyDownEvent.dev_class = static_cast<Ecore_IMF_Device_Class> ( integKeyEvent.deviceClass );//ECORE_IMF_DEVICE_CLASS_KEYBOARD;
-    ecoreKeyDownEvent.dev_subclass = static_cast<Ecore_IMF_Device_Subclass> ( integKeyEvent.deviceSubclass );//ECORE_IMF_DEVICE_SUBCLASS_NONE;
+    ecoreKeyDownEvent.dev_class = static_cast<Ecore_IMF_Device_Class> ( keyEvent.GetDeviceClass() );//ECORE_IMF_DEVICE_CLASS_KEYBOARD;
+    ecoreKeyDownEvent.dev_subclass = static_cast<Ecore_IMF_Device_Subclass> ( keyEvent.GetDeviceSubclass() );//ECORE_IMF_DEVICE_SUBCLASS_NONE;
 #if defined(ECORE_VERSION_MAJOR) && (ECORE_VERSION_MAJOR >= 1) && defined(ECORE_VERSION_MINOR) && (ECORE_VERSION_MINOR >= 22)
-    ecoreKeyDownEvent.keycode = integKeyEvent.keyCode; // Ecore_IMF_Event structure has added 'keycode' variable since ecore_imf 1.22 version.
+    ecoreKeyDownEvent.keycode = keyEvent.keyCode; // Ecore_IMF_Event structure has added 'keycode' variable since ecore_imf 1.22 version.
 #endif // Since ecore_imf 1.22 version
 
     // If the device is IME and the focused key is the direction keys, then we should send a key event to move a key cursor.
-    if ((integKeyEvent.deviceName == "ime") && ((!strncmp(integKeyEvent.keyName.c_str(), "Left", 4)) ||
-                                   (!strncmp(integKeyEvent.keyName.c_str(), "Right", 5)) ||
-                                   (!strncmp(integKeyEvent.keyName.c_str(), "Up", 2)) ||
-                                   (!strncmp(integKeyEvent.keyName.c_str(), "Down", 4))))
+    if ((keyEvent.GetDeviceName() == "ime") && ((!strncmp(keyEvent.keyPressedName.c_str(), "Left", 4)) ||
+                                   (!strncmp(keyEvent.keyPressedName.c_str(), "Right", 5)) ||
+                                   (!strncmp(keyEvent.keyPressedName.c_str(), "Up", 2)) ||
+                                   (!strncmp(keyEvent.keyPressedName.c_str(), "Down", 4))))
     {
       eventHandled = 0;
     }
@@ -1205,9 +1205,9 @@ bool InputMethodContextEcoreWl::ProcessEventKeyDown( const Dali::KeyEvent& keyEv
     // If the event has not been handled by InputMethodContext then check if we should reset our input method context
     if (!eventHandled)
     {
-      if (!strcmp(integKeyEvent.keyName.c_str(), "Escape") ||
-          !strcmp(integKeyEvent.keyName.c_str(), "Return") ||
-          !strcmp(integKeyEvent.keyName.c_str(), "KP_Enter"))
+      if (!strcmp(keyEvent.keyPressedName.c_str(), "Escape") ||
+          !strcmp(keyEvent.keyPressedName.c_str(), "Return") ||
+          !strcmp(keyEvent.keyPressedName.c_str(), "KP_Enter"))
       {
         ecore_imf_context_reset(mIMFContext);
       }
@@ -1216,31 +1216,31 @@ bool InputMethodContextEcoreWl::ProcessEventKeyDown( const Dali::KeyEvent& keyEv
   return eventHandled;
 }
 
-bool InputMethodContextEcoreWl::ProcessEventKeyUp( const Dali::KeyEvent& keyEvent )
+bool InputMethodContextEcoreWl::ProcessEventKeyUp( const KeyEvent& keyEvent )
 {
   bool eventHandled( false );
   if( mIMFContext )
   {
-    Integration::KeyEvent integKeyEvent( keyEvent.GetKeyName(), keyEvent.GetLogicalKey(), keyEvent.GetKeyString(), keyEvent.GetKeyCode(), keyEvent.GetKeyModifier(), keyEvent.GetTime(), static_cast< Integration::KeyEvent::State >( keyEvent.GetState() ), keyEvent.GetCompose(), keyEvent.GetDeviceName(), keyEvent.GetDeviceClass(), keyEvent.GetDeviceSubclass() );
+    Integration::KeyEvent integKeyEvent( keyEvent );
     std::string key = integKeyEvent.logicalKey;
 
-    std::string compose = integKeyEvent.compose;
-    std::string deviceName = integKeyEvent.deviceName;
+    std::string compose = keyEvent.GetCompose();
+    std::string deviceName = keyEvent.GetDeviceName();
 
     // We're consuming key up event so we have to pass to InputMethodContext so that it can parse it as well.
     Ecore_IMF_Event_Key_Up ecoreKeyUpEvent;
-    ecoreKeyUpEvent.keyname = integKeyEvent.keyName.c_str();
+    ecoreKeyUpEvent.keyname = keyEvent.keyPressedName.c_str();
     ecoreKeyUpEvent.key = key.c_str();
-    ecoreKeyUpEvent.string = integKeyEvent.keyString.c_str();
+    ecoreKeyUpEvent.string = keyEvent.keyPressed.c_str();
     ecoreKeyUpEvent.compose = compose.c_str();
-    ecoreKeyUpEvent.timestamp = integKeyEvent.time;
-    ecoreKeyUpEvent.modifiers =  EcoreInputModifierToEcoreIMFModifier( integKeyEvent.keyModifier );
-    ecoreKeyUpEvent.locks = EcoreInputModifierToEcoreIMFLock( integKeyEvent.keyModifier );
+    ecoreKeyUpEvent.timestamp = keyEvent.time;
+    ecoreKeyUpEvent.modifiers =  EcoreInputModifierToEcoreIMFModifier( keyEvent.keyModifier );
+    ecoreKeyUpEvent.locks = EcoreInputModifierToEcoreIMFLock( keyEvent.keyModifier );
     ecoreKeyUpEvent.dev_name = deviceName.c_str();
-    ecoreKeyUpEvent.dev_class = static_cast<Ecore_IMF_Device_Class> ( integKeyEvent.deviceClass );//ECORE_IMF_DEVICE_CLASS_KEYBOARD;
-    ecoreKeyUpEvent.dev_subclass = static_cast<Ecore_IMF_Device_Subclass> ( integKeyEvent.deviceSubclass );//ECORE_IMF_DEVICE_SUBCLASS_NONE;
+    ecoreKeyUpEvent.dev_class = static_cast<Ecore_IMF_Device_Class> ( keyEvent.GetDeviceClass() );//ECORE_IMF_DEVICE_CLASS_KEYBOARD;
+    ecoreKeyUpEvent.dev_subclass = static_cast<Ecore_IMF_Device_Subclass> ( keyEvent.GetDeviceSubclass() );//ECORE_IMF_DEVICE_SUBCLASS_NONE;
 #if defined(ECORE_VERSION_MAJOR) && (ECORE_VERSION_MAJOR >= 1) && defined(ECORE_VERSION_MINOR) && (ECORE_VERSION_MINOR >= 22)
-    ecoreKeyUpEvent.keycode = integKeyEvent.keyCode; // Ecore_IMF_Event structure has added 'keycode' variable since ecore_imf 1.22 version.
+    ecoreKeyUpEvent.keycode = keyEvent.keyCode; // Ecore_IMF_Event structure has added 'keycode' variable since ecore_imf 1.22 version.
 #endif // Since ecore_imf 1.22 version
 
     eventHandled = ecore_imf_context_filter_event(mIMFContext,
index acde069..8a37100 100755 (executable)
@@ -286,7 +286,7 @@ private:
    * @param[in] keyEvent The event key to be handled.
    * @return Whether the event key is handled.
    */
-  bool ProcessEventKeyDown( const Dali::KeyEvent& keyEvent );
+  bool ProcessEventKeyDown( const KeyEvent& keyEvent );
 
   /**
    * @brief Process event key up, whether filter a key to isf.
@@ -294,7 +294,7 @@ private:
    * @param[in] keyEvent The event key to be handled.
    * @return Whether the event key is handled.
    */
-  bool ProcessEventKeyUp( const Dali::KeyEvent& keyEvent );
+  bool ProcessEventKeyUp( const KeyEvent& keyEvent );
 
   /**
   * Ecore_Event_Modifier enums in Ecore_Input.h do not match Ecore_IMF_Keyboard_Modifiers in Ecore_IMF.h.
index b375e31..83e0c22 100755 (executable)
@@ -761,14 +761,14 @@ bool InputMethodContextX::FilterEventKey( const Dali::KeyEvent& keyEvent )
   bool eventHandled( false );
 
   // If a device key then skip ecore_imf_context_filter_event.
-  if ( ! KeyLookup::IsDeviceButton( keyEvent.GetKeyName().c_str() ))
+  if ( ! KeyLookup::IsDeviceButton( keyEvent.keyPressedName.c_str() ))
   {
     //check whether it's key down or key up event
-    if ( keyEvent.GetState() == Dali::KeyEvent::Down )
+    if ( keyEvent.state == KeyEvent::Down )
     {
       eventHandled = ProcessEventKeyDown( keyEvent );
     }
-    else if ( keyEvent.GetState() == Dali::KeyEvent::Up )
+    else if ( keyEvent.state == KeyEvent::Up )
     {
       eventHandled = ProcessEventKeyUp( keyEvent );
     }
@@ -857,25 +857,25 @@ void InputMethodContextX::GetPreeditStyle( Dali::InputMethodContext::PreEditAttr
   attrs = mPreeditAttrs;
 }
 
-bool InputMethodContextX::ProcessEventKeyDown( const Dali::KeyEvent& keyEvent )
+bool InputMethodContextX::ProcessEventKeyDown( const KeyEvent& keyEvent )
 {
   bool eventHandled( false );
   if ( mIMFContext )
   {
-    Integration::KeyEvent integKeyEvent( keyEvent.GetKeyName(), keyEvent.GetLogicalKey(), keyEvent.GetKeyString(), keyEvent.GetKeyCode(), keyEvent.GetKeyModifier(), keyEvent.GetTime(), static_cast< Integration::KeyEvent::State >( keyEvent.GetState() ), keyEvent.GetCompose(), keyEvent.GetDeviceName(), keyEvent.GetDeviceClass(), keyEvent.GetDeviceSubclass() );
+    Integration::KeyEvent integKeyEvent( keyEvent );
     std::string key = integKeyEvent.logicalKey;
 
-    std::string compose = integKeyEvent.compose;
+    std::string compose = keyEvent.GetCompose();
 
     // We're consuming key down event so we have to pass to InputMethodContext so that it can parse it as well.
     Ecore_IMF_Event_Key_Down ecoreKeyDownEvent;
-    ecoreKeyDownEvent.keyname = integKeyEvent.keyName.c_str();
+    ecoreKeyDownEvent.keyname = keyEvent.keyPressedName.c_str();
     ecoreKeyDownEvent.key = key.c_str();
-    ecoreKeyDownEvent.string = integKeyEvent.keyString.c_str();
+    ecoreKeyDownEvent.string = keyEvent.keyPressed.c_str();
     ecoreKeyDownEvent.compose = compose.c_str();
-    ecoreKeyDownEvent.timestamp = integKeyEvent.time;
-    ecoreKeyDownEvent.modifiers = EcoreInputModifierToEcoreIMFModifier( integKeyEvent.keyModifier );
-    ecoreKeyDownEvent.locks = EcoreInputModifierToEcoreIMFLock( integKeyEvent.keyModifier );
+    ecoreKeyDownEvent.timestamp = keyEvent.time;
+    ecoreKeyDownEvent.modifiers = EcoreInputModifierToEcoreIMFModifier( keyEvent.keyModifier );
+    ecoreKeyDownEvent.locks = EcoreInputModifierToEcoreIMFLock( keyEvent.keyModifier );
 
 #if defined(ECORE_VERSION_MAJOR) && (ECORE_VERSION_MAJOR >= 1) && defined(ECORE_VERSION_MINOR)
 #if (ECORE_VERSION_MINOR >= 14)
@@ -884,15 +884,15 @@ bool InputMethodContextX::ProcessEventKeyDown( const Dali::KeyEvent& keyEvent )
     ecoreKeyDownEvent.dev_subclass = ECORE_IMF_DEVICE_SUBCLASS_NONE;
 #endif // Since ecore_imf 1.14 version
 #if (ECORE_VERSION_MINOR >= 22)
-    ecoreKeyDownEvent.keycode = integKeyEvent.keyCode;
+    ecoreKeyDownEvent.keycode = keyEvent.keyCode;
 #endif // Since ecore_imf 1.22 version
 #endif // Since ecore_imf Version 1
 
     // If the device is IME and the focused key is the direction keys, then we should send a key event to move a key cursor.
-    if ((integKeyEvent.deviceName == "ime") && ((!strncmp(integKeyEvent.keyName.c_str(), "Left", 4)) ||
-                                   (!strncmp(integKeyEvent.keyName.c_str(), "Right", 5)) ||
-                                   (!strncmp(integKeyEvent.keyName.c_str(), "Up", 2)) ||
-                                   (!strncmp(integKeyEvent.keyName.c_str(), "Down", 4))))
+    if ((keyEvent.GetDeviceName() == "ime") && ((!strncmp(keyEvent.keyPressedName.c_str(), "Left", 4)) ||
+                                   (!strncmp(keyEvent.keyPressedName.c_str(), "Right", 5)) ||
+                                   (!strncmp(keyEvent.keyPressedName.c_str(), "Up", 2)) ||
+                                   (!strncmp(keyEvent.keyPressedName.c_str(), "Down", 4))))
     {
       eventHandled = 0;
     }
@@ -906,9 +906,9 @@ bool InputMethodContextX::ProcessEventKeyDown( const Dali::KeyEvent& keyEvent )
     // If the event has not been handled by InputMethodContext then check if we should reset our IMFcontext
     if (!eventHandled)
     {
-      if (!strcmp(integKeyEvent.keyName.c_str(), "Escape") ||
-          !strcmp(integKeyEvent.keyName.c_str(), "Return") ||
-          !strcmp(integKeyEvent.keyName.c_str(), "KP_Enter"))
+      if (!strcmp(keyEvent.keyPressedName.c_str(), "Escape") ||
+          !strcmp(keyEvent.keyPressedName.c_str(), "Return") ||
+          !strcmp(keyEvent.keyPressedName.c_str(), "KP_Enter"))
       {
         ecore_imf_context_reset(mIMFContext);
       }
@@ -917,32 +917,31 @@ bool InputMethodContextX::ProcessEventKeyDown( const Dali::KeyEvent& keyEvent )
   return eventHandled;
 }
 
-bool InputMethodContextX::ProcessEventKeyUp( const Dali::KeyEvent& keyEvent )
+bool InputMethodContextX::ProcessEventKeyUp( const KeyEvent& keyEvent )
 {
   bool eventHandled( false );
   if( mIMFContext )
   {
-    Integration::KeyEvent integKeyEvent( keyEvent.GetKeyName(), keyEvent.GetLogicalKey(), keyEvent.GetKeyString(), keyEvent.GetKeyCode(), keyEvent.GetKeyModifier(), keyEvent.GetTime(), static_cast< Integration::KeyEvent::State >( keyEvent.GetState() ), keyEvent.GetCompose(), keyEvent.GetDeviceName(), keyEvent.GetDeviceClass(), keyEvent.GetDeviceSubclass() );
-
+    Integration::KeyEvent integKeyEvent( keyEvent );
     std::string key = integKeyEvent.logicalKey;
 
-    std::string compose = integKeyEvent.compose;
+    std::string compose = keyEvent.GetCompose();
 
     // We're consuming key up event so we have to pass to InputMethodContext so that it can parse it as well.
     Ecore_IMF_Event_Key_Up ecoreKeyUpEvent;
-    ecoreKeyUpEvent.keyname = integKeyEvent.keyName.c_str();
+    ecoreKeyUpEvent.keyname = keyEvent.keyPressedName.c_str();
     ecoreKeyUpEvent.key = key.c_str();
-    ecoreKeyUpEvent.string = integKeyEvent.keyString.c_str();
+    ecoreKeyUpEvent.string = keyEvent.keyPressed.c_str();
     ecoreKeyUpEvent.compose = compose.c_str();
-    ecoreKeyUpEvent.timestamp = integKeyEvent.time;
-    ecoreKeyUpEvent.modifiers = EcoreInputModifierToEcoreIMFModifier( integKeyEvent.keyModifier );
-    ecoreKeyUpEvent.locks = EcoreInputModifierToEcoreIMFLock( integKeyEvent.keyModifier );
+    ecoreKeyUpEvent.timestamp = keyEvent.time;
+    ecoreKeyUpEvent.modifiers = EcoreInputModifierToEcoreIMFModifier( keyEvent.keyModifier );
+    ecoreKeyUpEvent.locks = EcoreInputModifierToEcoreIMFLock( keyEvent.keyModifier );
 #if defined(ECORE_VERSION_MAJOR) && (ECORE_VERSION_MAJOR >= 1) && defined(ECORE_VERSION_MINOR)
 #if (ECORE_VERSION_MINOR >= 14)
     ecoreKeyUpEvent.dev_name  = "";
 #endif // Since ecore_imf 1.14 version
 #if (ECORE_VERSION_MINOR >= 22)
-    ecoreKeyUpEvent.keycode = integKeyEvent.keyCode;
+    ecoreKeyUpEvent.keycode = keyEvent.keyCode;
 #endif // Since ecore_imf 1.22 version
 #endif // Since ecore_imf Version 1
 
index 9dbfaca..e707386 100755 (executable)
@@ -2,7 +2,7 @@
 #define DALI_INTERNAL_INPUT_METHOD_CONTEXT_IMPL_X_H
 
 /*
- * Copyright (c) 2020 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2019 Samsung Electronics Co., Ltd.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -292,7 +292,7 @@ private:
    * @param[in] keyEvent The event key to be handled.
    * @return Whether the event key is handled.
    */
-  bool ProcessEventKeyDown( const Dali::KeyEvent& keyEvent );
+  bool ProcessEventKeyDown( const KeyEvent& keyEvent );
 
   /**
    * @brief Process event key up, whether filter a key to isf.
@@ -300,7 +300,7 @@ private:
    * @param[in] keyEvent The event key to be handled.
    * @return Whether the event key is handled.
    */
-  bool ProcessEventKeyUp( const Dali::KeyEvent& keyEvent );
+  bool ProcessEventKeyUp( const KeyEvent& keyEvent );
 
   /**
   * Ecore_Event_Modifier enums in Ecore_Input.h do not match Ecore_IMF_Keyboard_Modifiers in Ecore_IMF.h.
index b15c0dd..f3deb99 100755 (executable)
@@ -339,14 +339,14 @@ bool InputMethodContextWin::FilterEventKey( const Dali::KeyEvent& keyEvent )
 {\r
   bool eventHandled( false );\r
 \r
-  if ( ! KeyLookup::IsDeviceButton( keyEvent.GetKeyName().c_str() ))\r
+  if ( ! KeyLookup::IsDeviceButton( keyEvent.keyPressedName.c_str() ))\r
   {\r
     //check whether it's key down or key up event\r
-    if ( keyEvent.state == Dali::KeyEvent::Down )\r
+    if ( keyEvent.state == KeyEvent::Down )\r
     {\r
       eventHandled = ProcessEventKeyDown( keyEvent );\r
     }\r
-    else if ( keyEvent.state == Dali::KeyEvent::Up )\r
+    else if ( keyEvent.state == KeyEvent::Up )\r
     {\r
       eventHandled = ProcessEventKeyUp( keyEvent );\r
     }\r
index f53e6d0..06ec8eb 100644 (file)
@@ -57,7 +57,7 @@ class Actor;
 class Layer;
 class RenderTaskList;
 class TouchEvent;
-class KeyEvent;
+struct KeyEvent;
 
 /**
  * @brief The window class is used internally for drawing.