Я думаю, что вы ищете не ту вещь здесь.
Коды клавиш и события нажатия клавиш будут захватывать только вверх, вниз и т. Д. (Фактические кнопки), как вы уже заявили. Пользователь может вводить буквы несколькими способами, что все делается с помощью программного обеспечения (например, 22 - это «b», или 228 может быть «кошка» или «летучая мышь»), и нет никакого способа сказать, что пользователь ввел, основываясь только кнопки они нажимают. В большинство телефонов также встроено автозаполнение, которое добавляет символы, для которых пользователь не нажимал кнопки.
Попробуйте найти способы захвата фактического текста, который видит пользователь.