Шансы есть, задач здесь три:
1. Отрисовка экрана
2. Обработка ввода
3. Сохранение введенного значения (вызывается при нажатии Save)
Саму клавиатуру удобно представить в виде двумерного массива, в каждой ячейке которого находится определенный символ. Адрес текущего выбранного значения можно хранить в специальной переменной. Еще переменная понадобиться для хранения текщего введенного значения, из поля ввода.
При отрисовке экрана, отображаем поле ввода, с введенным значением, рисуем клавиши из массива, и подсвечиваем текущую.
При нажатии кнопок перемещения меняем значение адреса. При нажатии кнопки выбора берем из массива, по адресу, выбранное значение и добавляем его к значению поля ввода. Кнопки "Backspase" и "Save", обрабатываем отдельно, по условию.