# Process this file with autoconf to produce a configure script
#AC_INIT(scim, 1.4.7, suzhe@tsinghua.org.cn)
-AC_INIT(isf, 2.4.6403, isf@samsung.com)
+AC_INIT(isf, 2.4.6404, isf@samsung.com)
AC_CONFIG_SRCDIR([ism/src/scim.h])
m4_pattern_allow([^AS_])
# ISF version
ISF_MAJOR_VERSION=2
ISF_MINOR_VERSION=4
-ISF_MICRO_VERSION=6403
+ISF_MICRO_VERSION=6404
ISF_VERSION=$ISF_MAJOR_VERSION.$ISF_MINOR_VERSION.$ISF_MICRO_VERSION
}
if (force) {
- context_scim->impl->next_shift_status = uppercase?SHIFT_MODE_ON:SHIFT_MODE_OFF;
+ context_scim->impl->next_shift_status = uppercase ? SHIFT_MODE_ON : SHIFT_MODE_OFF;
if (noti)
isf_imf_context_input_panel_caps_mode_set (ctx, uppercase);
} else {
- if (context_scim->impl->next_shift_status != (uppercase?SHIFT_MODE_ON:SHIFT_MODE_OFF)) {
- context_scim->impl->next_shift_status = uppercase?SHIFT_MODE_ON:SHIFT_MODE_OFF;
+ if (context_scim->impl->next_shift_status != (uppercase ? SHIFT_MODE_ON : SHIFT_MODE_OFF)) {
+ context_scim->impl->next_shift_status = uppercase ? SHIFT_MODE_ON : SHIFT_MODE_OFF;
if (noti)
isf_imf_context_input_panel_caps_mode_set (ctx, uppercase);
}
panel_slot_process_key_event (int context, const KeyEvent &key)
{
EcoreIMFContextISF *ic = find_ic (context);
+ Eina_Bool keygen = EINA_TRUE;
SCIM_DEBUG_FRONTEND(1) << __FUNCTION__ << " context=" << context << " key=" << key.get_key_string () << " ic=" << ic << "\n";
if (!(ic && ic->impl))
return;
KeyEvent _key = key;
- if (key.is_key_press() &&
+ if (key.is_key_press () &&
ecore_imf_context_input_panel_layout_get (ic->ctx) == ECORE_IMF_INPUT_PANEL_LAYOUT_NORMAL) {
- if (key.code == SHIFT_MODE_OFF /*Shift_OFF*/ ||
- key.code == SHIFT_MODE_ON /*Shift_ON*/ ||
- key.code == SHIFT_MODE_LOCK /*Shift_Lock*/) {
+ if (key.code == SHIFT_MODE_OFF ||
+ key.code == SHIFT_MODE_ON ||
+ key.code == SHIFT_MODE_LOCK) {
ic->impl->next_shift_status = _key.code;
} else if ((key.code >= 'a' && key.code <= 'z') ||
(key.code >= 'A' && key.code <= 'Z')) {
Eina_Bool uppercase;
switch (ic->impl->next_shift_status) {
case 0:
- uppercase = caps_mode_check(ic->ctx,EINA_FALSE,EINA_FALSE);
+ uppercase = caps_mode_check (ic->ctx, EINA_FALSE, EINA_FALSE);
break;
- case SHIFT_MODE_OFF: /*Shift_OFF*/
+ case SHIFT_MODE_OFF:
uppercase = EINA_FALSE;
ic->impl->next_shift_status = 0;
break;
- case SHIFT_MODE_ON: /*Shift_ON*/
+ case SHIFT_MODE_ON:
uppercase = EINA_TRUE;
ic->impl->next_shift_status = 0;
break;
- case SHIFT_MODE_LOCK: /*Shift_Lock*/
+ case SHIFT_MODE_LOCK:
uppercase = EINA_TRUE;
break;
default:
uppercase = EINA_FALSE;
}
+
if (uppercase) {
if(key.code >= 'a' && key.code <= 'z')
_key.code -= 32;
}
}
}
- if (feed_key_event (ic, _key, false) == EINA_TRUE) return;
+
+ if (key.code == SHIFT_MODE_OFF ||
+ key.code == SHIFT_MODE_ON ||
+ key.code == SHIFT_MODE_LOCK) {
+ keygen = EINA_FALSE;
+ }
+
+ if (keygen)
+ if (feed_key_event (ic, _key, false) == EINA_TRUE) return;
_panel_client.prepare (ic->id);