/HideIseBasedOnFocus = false
/SupportHWKeyboardMode = true
/DefaultKbdModeChangerProgram = org.tizen.isf-kbd-mode-changer
+/LockScreenClassName = LOCK_SCREEN, hub-idlescreen
extern void scim_initialize (void);
+static std::vector <String> lock_screen_class_names;
+
static void _send_input_panel_hide_request ();
Ecore_IMF_Context *get_using_ic (Ecore_IMF_Input_Panel_Event type, int value) {
LOGD ("client window : %#x, focus window : %#x\n", client_win, focus_win);
if (client_win != focus_win) {
+ ret = EINA_TRUE;
ecore_x_icccm_name_class_get (focus_win, NULL, &class_name);
if (class_name) {
- if (strncmp (class_name, "LOCK_SCREEN", 11) != 0) {
- ret = EINA_TRUE;
+ LOGD ("window class name : %s\n", class_name);
+ for (unsigned int i = 0; i < lock_screen_class_names.size (); ++i) {
+ if (!strcmp (class_name, lock_screen_class_names [i].c_str ())) {
+ ret = EINA_FALSE;
+ break;
+ }
}
free (class_name);
_prop_change_handler = ecore_event_handler_add (ECORE_X_EVENT_WINDOW_PROPERTY, _prop_change, NULL);
_support_hw_keyboard_mode = scim_global_config_read (String (SCIM_GLOBAL_CONFIG_SUPPORT_HW_KEYBOARD_MODE), _support_hw_keyboard_mode);
+ scim_split_string_list (lock_screen_class_names, scim_global_config_read (String (SCIM_GLOBAL_CONFIG_LOCK_SCREEN_CLASS_NAME), String ("")), ',');
+
if (_support_hw_keyboard_mode){
if (!prop_x_keyboard_input_detected)
prop_x_keyboard_input_detected = ecore_x_atom_get (PROP_X_EXT_KEYBOARD_INPUT_DETECTED);
#define SCIM_GLOBAL_CONFIG_HIDE_ISE_BASED_ON_FOCUS "/HideIseBasedOnFocus"
#define SCIM_GLOBAL_CONFIG_SUPPORT_HW_KEYBOARD_MODE "/SupportHWKeyboardMode"
#define SCIM_GLOBAL_CONFIG_DEFAULT_KBD_MODE_CHANGER_PROGRAM "/DefaultKbdModeChangerProgram"
+#define SCIM_GLOBAL_CONFIG_LOCK_SCREEN_CLASS_NAME "/LockScreenClassName"
#define ISF_CONFIG_HARDWARE_KEYBOARD_DETECT "/isf/hw_keyboard_detect"