e75b66d
diff -u imsettings-0.108.1/data/xinput.sh.in.in\~ imsettings-0.108.1/data/xinput.sh.in.in
e75b66d
--- imsettings-0.108.1/data/xinput.sh.in.in~	2010-08-10 18:02:57.000000000 +1000
e75b66d
+++ imsettings-0.108.1/data/xinput.sh.in.in	2010-08-10 18:12:14.000000000 +1000
e75b66d
@@ -171,15 +171,28 @@
e75b66d
     fi
e75b66d
 elif [ -r "$SYS_XINPUTRC" ]; then
e75b66d
     # FIXME: This hardcoded list has to be gone in the future.
e75b66d
-    _language_list="as bn gu hi ja kn ko mai ml mr ne or pa si ta te th ur vi zh"
e75b66d
+    # Locales that normally use input-method for native input
e75b66d
+    _im_language_list="as bn gu hi ja kn ko mai ml mr ne or pa si ta te th ur vi zh"
e75b66d
     _sourced_xinputrc=0
e75b66d
-    for i in $_language_list; do
e75b66d
+    for i in $_im_language_list; do
e75b66d
         if echo $tmplang | grep -q -E "^$i"; then
e75b66d
             source "$SYS_XINPUTRC"
e75b66d
             _sourced_xinputrc=1
e75b66d
             break
e75b66d
         fi
e75b66d
     done
e75b66d
+    # Locales that usually use X locale compose
e75b66d
+    # FIXME: which other locales should be included here?
e75b66d
+    if [ $_sourced_xinputrc -eq 0 ]; then
9bfa196
+        _xcompose_language_list="am_ET el_GR fi_FI pt_BR ru_RU"
e75b66d
+        for i in $_xcompose_language_list; do
e75b66d
+            if echo $tmplang | grep -q -E "^$i"; then
e75b66d
+                source @XINPUT_PATH@/xcompose.conf
e75b66d
+                _sourced_xinputrc=1
e75b66d
+                break
e75b66d
+            fi
e75b66d
+        done
e75b66d
+    fi
e75b66d
     if [ $_sourced_xinputrc -eq 0 ]; then
e75b66d
         # Read none.conf to set up properly for locales not listed the above.
e75b66d
         source @XINPUT_PATH@/none.conf
e75b66d
e75b66d
Diff finished.  Tue Aug 10 18:13:32 2010