bool eventHandled( false );
if ( mIMFContext )
{
+ Integration::KeyEvent integKeyEvent( keyEvent );
+ std::string key = integKeyEvent.logicalKey;
+
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 = keyEvent.keyPressedName.c_str();
- ecoreKeyDownEvent.key = keyEvent.keyPressedName.c_str();
+ ecoreKeyDownEvent.key = key.c_str();
ecoreKeyDownEvent.string = keyEvent.keyPressed.c_str();
ecoreKeyDownEvent.compose = compose.c_str();
ecoreKeyDownEvent.timestamp = keyEvent.time;
bool eventHandled( false );
if( mIMFContext )
{
+ Integration::KeyEvent integKeyEvent( keyEvent );
+ std::string key = integKeyEvent.logicalKey;
+
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 = keyEvent.keyPressedName.c_str();
- ecoreKeyUpEvent.key = keyEvent.keyPressedName.c_str();
+ ecoreKeyUpEvent.key = key.c_str();
ecoreKeyUpEvent.string = keyEvent.keyPressed.c_str();
ecoreKeyUpEvent.compose = compose.c_str();
ecoreKeyUpEvent.timestamp = keyEvent.time;
bool eventHandled( false );
if ( mIMFContext )
{
+ Integration::KeyEvent integKeyEvent( keyEvent );
+ std::string key = integKeyEvent.logicalKey;
+
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 = keyEvent.keyPressedName.c_str();
- ecoreKeyDownEvent.key = keyEvent.keyPressedName.c_str();
+ ecoreKeyDownEvent.key = key.c_str();
ecoreKeyDownEvent.string = keyEvent.keyPressed.c_str();
ecoreKeyDownEvent.compose = compose.c_str();
ecoreKeyDownEvent.timestamp = keyEvent.time;
bool eventHandled( false );
if( mIMFContext )
{
+ Integration::KeyEvent integKeyEvent( keyEvent );
+ std::string key = integKeyEvent.logicalKey;
+
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 = keyEvent.keyPressedName.c_str();
- ecoreKeyUpEvent.key = keyEvent.keyPressedName.c_str();
+ ecoreKeyUpEvent.key = key.c_str();
ecoreKeyUpEvent.string = keyEvent.keyPressed.c_str();
ecoreKeyUpEvent.compose = compose.c_str();
ecoreKeyUpEvent.timestamp = keyEvent.time;
DALI_LOG_INFO( gWindowBaseLogFilter, Debug::General, "WindowBaseEcoreWl::OnKeyDown\n" );
std::string keyName( keyEvent->keyname );
+ std::string logicalKey( "" );
std::string keyString( "" );
std::string compose( "" );
compose = keyEvent->compose;
}
+ // Ensure key symbol is not NULL as keys like SHIFT have a null string.
+ if( keyEvent->key )
+ {
+ logicalKey = keyEvent->key;
+ }
+
int keyCode = KeyLookup::GetDaliKeyCode( keyEvent->keyname );
keyCode = ( keyCode == -1 ) ? 0 : keyCode;
int modifier( keyEvent->modifiers );
GetDeviceClass( ecore_device_class_get( keyEvent->dev ), deviceClass );
GetDeviceSubclass( ecore_device_subclass_get( keyEvent->dev ), deviceSubclass );
- Integration::KeyEvent keyEvent( keyName, keyString, keyCode, modifier, time, Integration::KeyEvent::Down, compose, deviceName, deviceClass, deviceSubclass );
+ Integration::KeyEvent keyEvent( keyName, logicalKey, keyString, keyCode, modifier, time, Integration::KeyEvent::Down, compose, deviceName, deviceClass, deviceSubclass );
mKeyEventSignal.Emit( keyEvent );
}
DALI_LOG_INFO( gWindowBaseLogFilter, Debug::General, "WindowBaseEcoreWl::OnKeyUp\n" );
std::string keyName( keyEvent->keyname );
+ std::string logicalKey( "" );
std::string keyString( "" );
std::string compose( "" );
compose = keyEvent->compose;
}
+ // Ensure key symbol is not NULL as keys like SHIFT have a null string.
+ if( keyEvent->key )
+ {
+ logicalKey = keyEvent->key;
+ }
+
int keyCode = KeyLookup::GetDaliKeyCode( keyEvent->keyname );
keyCode = ( keyCode == -1 ) ? 0 : keyCode;
int modifier( keyEvent->modifiers );
GetDeviceClass( ecore_device_class_get( keyEvent->dev ), deviceClass );
GetDeviceSubclass( ecore_device_subclass_get( keyEvent->dev ), deviceSubclass );
- Integration::KeyEvent keyEvent( keyName, keyString, keyCode, modifier, time, Integration::KeyEvent::Up, compose, deviceName, deviceClass, deviceSubclass );
+ Integration::KeyEvent keyEvent( keyName, logicalKey, keyString, keyCode, modifier, time, Integration::KeyEvent::Up, compose, deviceName, deviceClass, deviceSubclass );
mKeyEventSignal.Emit( keyEvent );
}
DALI_LOG_INFO( gWindowBaseLogFilter, Debug::General, "WindowBaseEcoreWl::OnKeyDown\n" );
std::string keyName( keyEvent->keyname );
+ std::string logicalKey( "" );
std::string keyString( "" );
std::string compose( "" );
compose = keyEvent->compose;
}
+ // Ensure key symbol is not NULL as keys like SHIFT have a null string.
+ if( keyEvent->key )
+ {
+ logicalKey = keyEvent->key;
+ }
+
int keyCode = KeyLookup::GetDaliKeyCode( keyEvent->keyname );
keyCode = ( keyCode == -1 ) ? 0 : keyCode;
int modifier( keyEvent->modifiers );
GetDeviceClass( ecore_device_class_get( keyEvent->dev ), deviceClass );
GetDeviceSubclass( ecore_device_subclass_get( keyEvent->dev ), deviceSubclass );
- Integration::KeyEvent keyEvent( keyName, keyString, keyCode, modifier, time, Integration::KeyEvent::Down, compose, deviceName, deviceClass, deviceSubclass );
+ Integration::KeyEvent keyEvent( keyName, logicalKey, keyString, keyCode, modifier, time, Integration::KeyEvent::Down, compose, deviceName, deviceClass, deviceSubclass );
mKeyEventSignal.Emit( keyEvent );
}
DALI_LOG_INFO( gWindowBaseLogFilter, Debug::General, "WindowBaseEcoreWl::OnKeyUp\n" );
std::string keyName( keyEvent->keyname );
+ std::string logicalKey( "" );
std::string keyString( "" );
std::string compose( "" );
compose = keyEvent->compose;
}
+ // Ensure key symbol is not NULL as keys like SHIFT have a null string.
+ if( keyEvent->key )
+ {
+ logicalKey = keyEvent->key;
+ }
+
int keyCode = KeyLookup::GetDaliKeyCode( keyEvent->keyname );
keyCode = ( keyCode == -1 ) ? 0 : keyCode;
int modifier( keyEvent->modifiers );
GetDeviceClass( ecore_device_class_get( keyEvent->dev ), deviceClass );
GetDeviceSubclass( ecore_device_subclass_get( keyEvent->dev ), deviceSubclass );
- Integration::KeyEvent keyEvent( keyName, keyString, keyCode, modifier, time, Integration::KeyEvent::Up, compose, deviceName, deviceClass, deviceSubclass );
+ Integration::KeyEvent keyEvent( keyName, logicalKey, keyString, keyCode, modifier, time, Integration::KeyEvent::Up, compose, deviceName, deviceClass, deviceSubclass );
mKeyEventSignal.Emit( keyEvent );
}
DALI_LOG_INFO( gWindowBaseLogFilter, Debug::General, "WindowBaseEcoreX::OnKeyDown\n" );
std::string keyName( keyEvent->keyname );
+ std::string logicalKey( "" );
std::string keyString( "" );
std::string compose( "" );
compose = keyEvent->compose;
}
+ // Ensure key symbol is not NULL as keys like SHIFT have a null string.
+ if( keyEvent->key )
+ {
+ logicalKey = keyEvent->key;
+ }
+
int keyCode = ecore_x_keysym_keycode_get( keyEvent->keyname );
int modifier( keyEvent->modifiers );
unsigned long time = keyEvent->timestamp;
keyString = keyEvent->string;
}
- Integration::KeyEvent keyEvent( keyName, keyString, keyCode, modifier, time, Integration::KeyEvent::Down, compose, DEFAULT_DEVICE_NAME, DEFAULT_DEVICE_CLASS, DEFAULT_DEVICE_SUBCLASS );
+ Integration::KeyEvent keyEvent( keyName, logicalKey, keyString, keyCode, modifier, time, Integration::KeyEvent::Down, compose, DEFAULT_DEVICE_NAME, DEFAULT_DEVICE_CLASS, DEFAULT_DEVICE_SUBCLASS );
mKeyEventSignal.Emit( keyEvent );
}
DALI_LOG_INFO( gWindowBaseLogFilter, Debug::General, " WindowBaseEcoreX::OnKeyUp\n" );
std::string keyName( keyEvent->keyname );
+ std::string logicalKey( "" );
std::string keyString( "" );
std::string compose( "" );
{
compose = keyEvent->compose;
}
+ // Ensure key symbol is not NULL as keys like SHIFT have a null string.
+ if( keyEvent->key )
+ {
+ logicalKey = keyEvent->key;
+ }
+
int keyCode = ecore_x_keysym_keycode_get( keyEvent->keyname );
int modifier( keyEvent->modifiers );
unsigned long time( keyEvent->timestamp );
keyString = keyEvent->string;
}
- Integration::KeyEvent keyEvent( keyName, keyString, keyCode, modifier, time, Integration::KeyEvent::Up, compose, DEFAULT_DEVICE_NAME, DEFAULT_DEVICE_CLASS, DEFAULT_DEVICE_SUBCLASS );
+ Integration::KeyEvent keyEvent( keyName, logicalKey, keyString, keyCode, modifier, time, Integration::KeyEvent::Up, compose, DEFAULT_DEVICE_NAME, DEFAULT_DEVICE_CLASS, DEFAULT_DEVICE_SUBCLASS );
mKeyEventSignal.Emit( keyEvent );
}