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