--- imsettings-1.2.8/data/xinput.sh.in.in.orig 2012-02-10 03:25:18.000000000 +0100 +++ imsettings-1.2.8/data/xinput.sh.in.in 2012-02-17 21:14:57.666422719 +0100 @@ -266,8 +266,34 @@ SHORT_DESC="User Specific" fi elif [ -r "$SYS_XINPUTRC" ]; then - source "$SYS_XINPUTRC" - READ_XINPUTRC=$SYS_XINPUTRC + # FIXME: This hardcoded list has to be gone in the future. + # 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 $_im_language_list; do + if echo $tmplang | grep -q -E "^$i"; then + source "$SYS_XINPUTRC" + READ_XINPUTRC=$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 + fi fi [ -z "$IMSETTINGS_INTEGRATE_DESKTOP" ] && IMSETTINGS_INTEGRATE_DESKTOP=yes