Есть некоторая информация о том, как это сделать ЗДЕСЬ. Выдержка из этой страницы приведена ниже.
Терминалы понимают только символы, а не ключи. Таким образом, все функциональные клавиши кодируются как последовательности символов с использованием управляющих символов.
Помимо нескольких общих, имеющих связанный управляющий символ (Tab - это Ctrl+I , Enter - это Ctrl+M , Esc - это Ctrl+[), функциональные клавиши отправляют escape-последовательности, начиная с Ctrl+[ [ или Ctrl+[ O Вы можете использовать команду tput чтобы увидеть, что ожидают приложения escape-последовательности для каждой функциональной клавиши на вашем терминале.
Кроме того, клавиатура хакера была предложена на странице, указанной выше, если вы пытаетесь сделать то же самое с устройства Android.