From 0a2d746e9bcac0e3fab5e7be9f2e232402364144 Mon Sep 17 00:00:00 2001 From: InHong Han Date: Wed, 2 Jun 2021 16:17:25 +0900 Subject: [PATCH] Support language changes using H/W keyboard Change-Id: I189fd3b67e4906db7f80bf9063023e4920e86a84 --- CMakeLists.txt | 1 + packaging/ise-default.spec | 1 + src/ise.cpp | 23 ++++++++++++++++++++--- 3 files changed, 22 insertions(+), 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 5261262..ac1cf11 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -103,6 +103,7 @@ SET(PKGS_CHECK_MODULES bundle rpc-port capi-appfw-event + notification ) IF (with_cbhm) diff --git a/packaging/ise-default.spec b/packaging/ise-default.spec index 9ad0501..0b6adab 100644 --- a/packaging/ise-default.spec +++ b/packaging/ise-default.spec @@ -35,6 +35,7 @@ BuildRequires: pkgconfig(json-glib-1.0) BuildRequires: pkgconfig(bundle) BuildRequires: pkgconfig(rpc-port) BuildRequires: pkgconfig(capi-appfw-event) +BuildRequires: pkgconfig(notification) Requires: ise-engine-glm Requires: ise-engine-default diff --git a/src/ise.cpp b/src/ise.cpp index 7c850da..1d80c7c 100644 --- a/src/ise.cpp +++ b/src/ise.cpp @@ -31,6 +31,7 @@ #include #include #include +#include #include "clipboard.h" #include "autofill.h" #include "ise.h" @@ -3066,10 +3067,26 @@ static bool ime_app_process_key_event_cb(ime_key_code_e keycode, ime_key_mask_e key.dev_subclass = dev_subclass; } - if (keyboard_state->visible_state) + if (keyboard_state->visible_state) { ise_process_key_event(key, ret); - else - ret = FALSE; + } else { + if (key.code == IME_KEY_space && (key.mask & IME_KEY_MASK_SHIFT)) { + if (key.mask & IME_KEY_MASK_RELEASED) { + if (_language_manager.select_next_language()) { + LANGUAGE_INFO *info = _language_manager.get_language_info(_language_manager.get_current_language()); + if (info) { + notification_status_message_post(info->display_name.c_str()); + } + } else { + LOGE("Failed to change language"); + } + } + + ret = TRUE; + } else { + ret = FALSE; + } + } if (dev_name) free(dev_name); -- 2.7.4