Change-Id: I8be6c984d6599ad3c79b0adf746db2bd68196768
{
INF("Keymap file (%s) has been found. xkb_keymap is going to be generated with it.\n", cache_path);
keymap = xkb_map_new_from_file(ctx, file, XKB_KEYMAP_FORMAT_TEXT_V1, 0);
- eina_stringshare_del(cache_path);
- cache_path = NULL;
- fclose(file);
+ if (!keymap)
+ {
+ WRN("Keymap file is exist (%s) but it is invaild file. Generate keymap using rmlvo\n", cache_path);
+ fclose(file);
+ remove(cache_path);
+ keymap = xkb_map_new_from_names(ctx, &names, 0);
+ }
+ else
+ {
+ eina_stringshare_del(cache_path);
+ cache_path = NULL;
+ fclose(file);
+ }
}
*keymap_path = cache_path;