From 1ac213ddc11631a543d3d999eaa4805fa6a67c8c Mon Sep 17 00:00:00 2001 From: Li Zhang Date: Fri, 2 Aug 2013 15:47:49 +0800 Subject: Add code for checking hotkey Change-Id: I799b653a7e10a17644beb7ee932021bbefc355a4 --- packaging/ise-engine-default.spec | 2 +- src/isf_default_imengine.cpp | 10 ++++++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/packaging/ise-engine-default.spec b/packaging/ise-engine-default.spec index 902ddc3..0bd3597 100644 --- a/packaging/ise-engine-default.spec +++ b/packaging/ise-engine-default.spec @@ -1,7 +1,7 @@ Name: ise-engine-default Summary: Multilingual Keyboard ISE Version: 0.1.5023 -Release: 6 +Release: 7 Group: System Environment/Libraries License: Apache License, Version 2.0 Source0: %{name}-%{version}.tar.gz diff --git a/src/isf_default_imengine.cpp b/src/isf_default_imengine.cpp index 06b9d75..18b0b76 100644 --- a/src/isf_default_imengine.cpp +++ b/src/isf_default_imengine.cpp @@ -258,9 +258,15 @@ bool DefaultInstance::_process_keyrelease(const KeyEvent & key) { bool DefaultInstance::_process_keypress(const KeyEvent & key_raw) { KeyEvent key = key_raw; - unsigned int keyvalue; + unsigned int keyvalue = key.code; - keyvalue = key.code; + if (key.is_control_down() || key.is_alt_down()) + return false; + + if (key.code == SCIM_KEY_NullKey || key.code == SCIM_KEY_Cancel) { + m_prevkeyval = keyvalue; + return false; + } if (m_lang >= IM_LANGUAGE_CNT) { return false; -- cgit v1.2.3