1.MTK平台如何修改默认输入法
2.如何在Linux中更改输入法linux怎么改输入法
MTK平台如何修改默认输入法
如何修改默认输入法?
一、关闭适用于ICS(AndroidV4.0)之前的输入设置版本:
1.安装需要用的默认输入法(.apk)到system/app
2.修改文件frameworks/base/packages/SettingsProvider/res/values/defaults.xml
<string name="default_input_method" translatable="false">默认输入法 ID
</string>
红色标记表示输入法 ID, 比如 PinyinIME 为: com.android.inputmethod.pinyin/.PinyinIME
二、法源适用于ICS、码关JB、闭输JB2、入法天元币 源码KK的源码版本:
1.需要提前将用到的默认输入法(.apk)内置到系统中( 请参考如何将APK预置进系统)
2.修改文件mediatek/config/${ Project}/ProjectConfig.mk
将宏DEFAULT_INPUT_METHOD的值设置为所需的输入法;
比如PinyinIME, 则设为:
DEFAULT_INPUT_METHOD=com.android.inputmethod.pinyin.PinyinIME
这个值是关闭输入法源码中,包含InputMethodService子类的输入设置那个包名.实现InputMethodService的子类的类名。这里比log中打印的法源完整类名少一个"/",请注意
补充说明:
KK的版本不需要一下修改:
上面的修改方法只适用于默认输入法为com.android.inputmethod.pinyin/.PinyinIME这种格式的输入
法(即反斜杠后面就是类名的情况),对于com.google.android.inputmethod.latin/com.android.inputmethod.latin.LatinIME (即反斜杠后面是码关完整类名的情况),这种情况是闭输不支持修改mediatek/config/${ Project}/ProjectConfig.mk里面DEFAULT_INPUT_METHOD的方法来设置默认输入法的。
以com.google.android.inputmethod.latin/com.android.inputmethod.latin.LatinIME 为例
请改用下面的入法方法修改,在SettingsProvider 的源码DatabaseHelper.java中
有
Log.i(TAG, "defaultIME : " + defaultIME);
if (defaultIME != null) {
StringBuffer strBuffer = new StringBuffer(defaultIME);
int lastDotPos = defaultIME.lastIndexOf(".");
String strInsert = "/";
strBuffer.insert(lastDotPos, strInsert);
loadSetting(stmt, Settings.Secure.DEFAULT_INPUT_METHOD,
strBuffer.toString());
} else {
Log.i(TAG, "default IME from IMEFeatureOption is null!!");
}
请将默认的初始化部分code删除, 即将 下面的关闭苹果键盘源码code都删除掉。
Log.i(TAG, "defaultIME : " + defaultIME);
if (defaultIME != null) {
StringBuffer strBuffer = new StringBuffer(defaultIME);
int lastDotPos = defaultIME.lastIndexOf(".");
String strInsert = "/";
strBuffer.insert(lastDotPos, strInsert);
loadSetting(stmt, Settings.Secure.DEFAULT_INPUT_METHOD,
strBuffer.toString());
} else {
Log.i(TAG, "default IME from IMEFeatureOption is null!!");
}
然后在删除的后面添加
loadSetting(stmt, Settings.Secure.DEFAULT_INPUT_METHOD,
"com.google.android.inputmethod.latin/com.android.inputmethod.latin.LatinIME");//这里修改默认选中的输入法
三、适用于L, M的版本
请在APK正确预置的前提下,再修改如下:
在InputMethodManagerService的systemRunning()函数, if (!mImeSelectedOnBoot) 的分支中修改如下
if (!mImeSelectedOnBoot) {
Slog.w(TAG, "Reset the default IME as \"Resource\" is ready here.");
// String preInstalledImeName = SystemProperties.get("ro.mtk_default_ime");
String preInstalledImeName = "第三方输入法的完整包名ID";
或者直接修改build.prog中的ro.mtk_default_ime属性值,也可在system.prog中增加此属性值。只要修改完后,等待指标源码 adb shell getprop ro.mtk_default_ime能获取到正确的预置输入法ID即可。
MTK平台如何修改默认输入法如果按照如上的步骤没有修改成功,请参考如下步骤进行检查修改:
(1)检查是否成功预置输入法:FAQ
(2)检查下setting-- language&input 界面,该输入法前面的勾是否选上,没有选上说明此输入法没有被enable,请参考FAQ来enable;
(3)检查是否发生语言切换,如果有切换则会恢复默认输入法,定位源码系统若不想因语言变化导致恢复,请参考FAQ,FAQ
(4)修改默认输入法FAQ
这个解决方法是在闯客技术论坛转的,如果解决不了你可以去提问。
如何在Linux中更改输入法linux怎么改输入法
随着不同系统的发展,许多用户在使用不同的输入法时会遇到许多困难。尤其是深蓝学院源码使用Linux系统的用户,在使用不同的输入法时,他们会遇到有关更改Linux系统输入法的问题。因此,今天我们将介绍如何在Linux中更改输入法。
1、使用Im-config命令
首先,我们可以使用im-config命令来更改Linux系统的输入法,这是一个开放源码的解决方案,它可以帮助Linux用户更改输入法。该命令的使用方法如下:
`$ sudo im-config`
2、使用输入法管理器
此外,我们还可以使用输入法管理器来更改Linux系统的输入法,它可以帮助用户对输入法进行配置和定制。要使用输入法管理器管理输入法,可以使用以下命令:
`$ sudo ibus-setup`
3、使用fctix
此外,我们还可以使用fctix来更改Linux系统的输入法。该命令非常有用,可以帮助用户更新和管理输入法配置。要使用fctix,可以使用以下命令:
`$ sudo fctix –list`
4、使用SCIM
此外,我们还可以使用SCIM来更改Linux系统的输入法。SCIM工具的用途是帮助输入法浏览器访问和更改输入法配置档案。要使用SCIM,请使用以下命令:
`$ sudo scim –config-file /etc/scim/my-scim-config.conf`
以上就是如何在Linux中更改输入法的一些方法。以上列出的方法非常实用,可以帮助用户轻松更改Linux系统的输入法,从而提高工作效率。