Я пытаюсь сделать клавиатуру...
int code = 29; // Key code constant: 'A' key. Constant Value: 29 (0x0000001d)
KeyEvent k = new KeyEvent(KeyEvent.ACTION_UP, code);
InputConnection ic = getCurrentInputConnection();
ic.sendKeyEvent(k);
Этот код красиво отправляет письмо "A" в приложение, так как оно связано с кодом "29", как отсюда http://developer.android.com/reference/android/view/KeyEvent.html
Но что мне делать, если я хочу использовать символы Unicode, например здесь
http://en.wikipedia.org/wiki/List_of_Unicode_characters
Если вы создаете приложение для клавиатуры и имеете раскладку клавиатуры в xml, вы можете посмотреть предложение, предоставленное пользователем Laurent ' в другом потоке:
<Key android:codes="946" android:keyLabel="\u03B2"/>
<Key android:codes="946" android:keyLabel="&946;"/>
<Key android:codes="946" android:keyLabel="β"/>
<!-- Warning, you should use UTF-8 encoding for your project files if you use the third solution -->
<!-- all produce the same key with greek β character (unicode \u03B2, decimal 946) -->
Проверьте код образца программной клавиатуры.
Если вы разрабатываете новую клавиатуру (например, для любого другого языка), измените значение атрибута android: code на значение unicode, которое вы хотите вывести на клавиатуру. Это прекрасно работает, и я думаю, вы можете протестировать его в том же проекте softkeyboard.