Коды клавиш Android для символов

Мне нужна помощь в разработке моего нового пользовательского метода ввода. Я использую InputConnection.sendKeyEvent для отправки новых событий KeyEvents непосредственно в приложения. Проблема в том, что я не могу найти коды клавиш для символов (например, #$%*).

Я попытался отправить KeyEvent.KEYCODE_SHIFT_LEFT перед отправкой KeyEvent.KEYCODE_SEMICOLON, чтобы отправить двоеточие, и это работает, но, похоже, не работает с числами.

Итак, мой вопрос: как получить доступ ко всем кодам клавиш символов?


person Faris    schedule 20.04.2012    source источник


Ответы (2)


ниже приведены коды клавиш::: ССЫЛКА

KEYCODE_POUND за #

KEYCODE_STAR для *

и вы можете получить ключевой номер события, используя event.getNumber(), как показано ниже.

    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event)  {

        Log.d("::"+keyCode,"::"+event.getNumber());
            return super.onKeyDown(keyCode, event);
    }
person Shankar Agarwal    schedule 20.04.2012
comment
Спасибо, но я не могу найти коды клавиш для таких символов, как !$()%. Нужны ли мне их ссылки на юникод? - person Faris; 20.04.2012
comment
используйте код onkeyDown, вы получите журнал для каждой клавиши, которую вы нажимаете - person Shankar Agarwal; 20.04.2012
comment
Метод ввода не использует ключи за слово. Это что-то вроде 8pen. Поэтому я использую sendKeyEvent только для сенсорных событий на экране. Я думаю, что мне нужно проверить карту персонажей и посмотреть, какое мета-состояние должно быть активным. - person Faris; 20.04.2012

Есть две ссылки: link1 и link2

'!' - keyKode: 1, умерщвление (заглавные буквы): 1, '#' keyKode: 3, умерщвление (заглавные буквы): 1 и так далее.

Надеюсь, поможет.

person Vodyanikov Andrew Anatolevich    schedule 08.05.2020