summaryrefslogtreecommitdiff
path: root/libcaribou
diff options
context:
space:
mode:
authorDaiki Ueno <ueno@unixuser.org>2013-02-25 16:32:58 +0900
committerDaiki Ueno <ueno@unixuser.org>2013-02-26 07:36:34 +0900
commit0cf2fda3beaa20c7638af9015180f91a72f960f4 (patch)
tree62edfdb846c20e0946a2bcdc2df7561f0e39da81 /libcaribou
parentc9859c857f1b6e19679a5ba70f39157aa9f0b71e (diff)
downloadcaribou-0cf2fda3beaa20c7638af9015180f91a72f960f4.tar.gz
xml-deserializer: fallback to "touch" keyboard type, if not found
https://bugzilla.gnome.org/show_bug.cgi?id=689844
Diffstat (limited to 'libcaribou')
-rw-r--r--libcaribou/xml-deserializer.vala9
1 files changed, 9 insertions, 0 deletions
diff --git a/libcaribou/xml-deserializer.vala b/libcaribou/xml-deserializer.vala
index 8058c0f..dd42309 100644
--- a/libcaribou/xml-deserializer.vala
+++ b/libcaribou/xml-deserializer.vala
@@ -35,6 +35,15 @@ namespace Caribou {
dir, "caribou", "layouts", keyboard_type));
}
+ // If no such keyboard type is found, default to "touch"
+ dirs.add (Path.build_filename (Environment.get_user_data_dir (),
+ "caribou", "layouts", "touch"));
+
+ foreach (string dir in Environment.get_system_data_dirs ()) {
+ dirs.add (Path.build_filename (
+ dir, "caribou", "layouts", "touch"));
+ }
+
foreach (string data_dir in dirs) {
string fn = get_layout_file_inner (data_dir, group, variant);
if (fn != null)