android的大写字母:keyOutputText?

android的大写字母:keyOutputText?,android,keyboard,android-softkeyboard,ime,Android,Keyboard,Android Softkeyboard,Ime,我正在用android开发一种特定于语言的软键盘。我的语言有两个字母字符,如“ch”和“ng”。我使用以下xml代码来显示和输出所需的字符 <Key android:keyOutputText="ng" android:keyLabel="ng"/> 但输出仅为小写字母,即使是句子中的第一个字母或使用SHIFT键时也是如此。我怎样才能解决这个问题?所需的输出将是当它是一个句子的第一个字母或使用shift键(如Ngaiteh)时,只将第一个字母大写,但当使用capslock(如N

我正在用android开发一种特定于语言的软键盘。我的语言有两个字母字符,如“ch”和“ng”。我使用以下xml代码来显示和输出所需的字符

<Key android:keyOutputText="ng" android:keyLabel="ng"/>

但输出仅为小写字母,即使是句子中的第一个字母或使用SHIFT键时也是如此。我怎样才能解决这个问题?所需的输出将是当它是一个句子的第一个字母或使用shift键(如Ngaiteh)时,只将第一个字母大写,但当使用capslock(如Ngaiteh)时,将其显示为所有大写


我知道使用普通的英文键盘很容易,只需一个接一个地键入所需的字符,但这将真正提高我的语言的键入速度。谢谢。

在键上使用xml属性
android:codes
,而不是
android:keyOutputText
,然后在方法
onKey(int primaryCode,int[]keyCodes)上覆盖行为
OnKeyboardActionListener

if (NG_KEYCODE == primaryCode) {
        if(keyboardView.isShifted()){
            getCurrentInputConnection().commitText(
                    "NG", 1);
        }else{
            getCurrentInputConnection().commitText(
                    "ng", 1);
        }
        updateShiftKeyState(getCurrentInputEditorInfo());
    }