void ise_process_key_event(scim::KeyEvent& key, sclu32 &ret)
{
- if (key.get_key_string().compare("KeyRelease+XF86Back") == 0 || key.get_key_string().compare("XF86Back") == 0) {
+ Eina_Bool back_key_pressed = EINA_FALSE;
+ Eina_Bool back_key_released = EINA_FALSE;
+
+ if (key.get_key_string().compare("XF86Back") == 0) {
+ back_key_pressed = EINA_TRUE;
+ }
+ else if (key.get_key_string().compare("KeyRelease+XF86Back") == 0) {
+ back_key_released = EINA_TRUE;
+ }
+
+ if (back_key_pressed || back_key_released) {
if (g_popup_opened == TRUE) {
- if (key.get_key_string().compare("KeyRelease+XF86Back") == 0) {
+ if (back_key_released) {
g_ui->close_all_popups();
g_popup_opened = FALSE;
}