DALI_LOG_INFO( gWindowBaseLogFilter, Debug::General, "WindowBaseEcoreX::OnKeyDown\n" );
std::string keyName( keyEvent->keyname );
+ std::string key( "" );
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 )
+ {
+ key = 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, key, 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 key( "" );
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 )
+ {
+ key = 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, key, keyString, keyCode, modifier, time, Integration::KeyEvent::Up, compose, DEFAULT_DEVICE_NAME, DEFAULT_DEVICE_CLASS, DEFAULT_DEVICE_SUBCLASS );
mKeyEventSignal.Emit( keyEvent );
}