[5.0] Add GetLogicalKey API in DevelKeyEvent
[platform/core/uifw/dali-core.git] / dali / integration-api / events / key-event-integ.cpp
old mode 100644 (file)
new mode 100755 (executable)
index 6d42ac6..db7e1bc
@@ -18,6 +18,9 @@
 // CLASS HEADER
 #include <dali/integration-api/events/key-event-integ.h>
 
 // CLASS HEADER
 #include <dali/integration-api/events/key-event-integ.h>
 
+// INTERNAL INCLUDES
+#include <dali/internal/event/events/key-event-impl.h>
+
 namespace Dali
 {
 
 namespace Dali
 {
 
@@ -27,27 +30,31 @@ namespace Integration
 KeyEvent::KeyEvent()
 : Event( Key ),
   keyName(),
 KeyEvent::KeyEvent()
 : Event( Key ),
   keyName(),
+  logicalKey(),
   keyString(),
   keyCode( -1 ),
   keyModifier( 0 ),
   time( 0 ),
   state( KeyEvent::Down ),
   keyString(),
   keyCode( -1 ),
   keyModifier( 0 ),
   time( 0 ),
   state( KeyEvent::Down ),
+  compose( "" ),
   deviceName( "" ),
   deviceClass( Device::Class::NONE ),
   deviceSubclass( Device::Subclass::NONE )
 {
 }
 
   deviceName( "" ),
   deviceClass( Device::Class::NONE ),
   deviceSubclass( Device::Subclass::NONE )
 {
 }
 
-KeyEvent::KeyEvent( const std::string& keyName, const std::string& keyString, int keyCode, int keyModifier,
-                    unsigned long timeStamp, const State& keyState, const std::string& deviceName,
+KeyEvent::KeyEvent( const std::string& keyName, const std::string& logicalKey, const std::string& keyString, int keyCode, int keyModifier,
+                    unsigned long timeStamp, const State& keyState, const std::string& compose, const std::string& deviceName,
                     const Device::Class::Type deviceClass, const Device::Subclass::Type deviceSubclass )
 : Event( Key ),
   keyName( keyName ),
                     const Device::Class::Type deviceClass, const Device::Subclass::Type deviceSubclass )
 : Event( Key ),
   keyName( keyName ),
+  logicalKey( logicalKey ),
   keyString( keyString ),
   keyCode( keyCode ),
   keyModifier( keyModifier ),
   time( timeStamp ),
   state( keyState ),
   keyString( keyString ),
   keyCode( keyCode ),
   keyModifier( keyModifier ),
   time( timeStamp ),
   state( keyState ),
+  compose( compose ),
   deviceName( deviceName ),
   deviceClass( deviceClass ),
   deviceSubclass( deviceSubclass )
   deviceName( deviceName ),
   deviceClass( deviceClass ),
   deviceSubclass( deviceSubclass )
@@ -57,15 +64,23 @@ KeyEvent::KeyEvent( const std::string& keyName, const std::string& keyString, in
 KeyEvent::KeyEvent( const Dali::KeyEvent& event )
 : Event( Key ),
   keyName( event.keyPressedName ),
 KeyEvent::KeyEvent( const Dali::KeyEvent& event )
 : Event( Key ),
   keyName( event.keyPressedName ),
+  logicalKey( "" ),
   keyString( event.keyPressed ),
   keyCode( event.keyCode ),
   keyModifier( event.keyModifier ),
   time( event.time ),
   state( static_cast< Integration::KeyEvent::State >( event.state ) ),
   keyString( event.keyPressed ),
   keyCode( event.keyCode ),
   keyModifier( event.keyModifier ),
   time( event.time ),
   state( static_cast< Integration::KeyEvent::State >( event.state ) ),
+  compose( "" ),
   deviceName( "" ),
   deviceClass( Device::Class::NONE ),
   deviceSubclass( Device::Subclass::NONE )
 {
   deviceName( "" ),
   deviceClass( Device::Class::NONE ),
   deviceSubclass( Device::Subclass::NONE )
 {
+  const Internal::KeyEventImpl* keyEventImpl = GetImplementation( &event );
+  logicalKey = keyEventImpl->GetLogicalKey();
+  compose = keyEventImpl->GetCompose();
+  deviceName = keyEventImpl->GetDeviceName();
+  deviceClass = keyEventImpl->GetDeviceClass();
+  deviceSubclass = keyEventImpl->GetDeviceSubclass();
 }
 
 KeyEvent::~KeyEvent()
 }
 
 KeyEvent::~KeyEvent()