У меня есть машина Fedora, к которой я могу подключиться по SSH. Одна из программ, которую я хотел бы использовать, иногда использует функциональные клавиши. Проблема заключается в том, что я не буду ssh'ing от Android планшета (ASUS Transformer Инфинити) с физической клавиатурой, но нет F1- F12клавиши. Поэтому, пока приложение терминала, которое я использую (VX ConnectBot), не решит добавить их в качестве функции, я ищу способ отправки их с помощью остальной клавиатуры.
Я могу использовать все печатаемые символы ASCII, Esc, Ctrl, Shift, Enter, и Tab.
Ответы:
Терминалы понимают только символы, а не ключи. Таким образом, все функциональные клавиши кодируются как последовательности символов с использованием управляющих символов. Помимо нескольких общих, которые имеют связанный управляющий символ ( Tabесть
Ctrl+I
, EnterестьCtrl+M
, EscестьCtrl+[
), функциональные клавиши отправляют escape-последовательности, начиная сCtrl+[ [
илиCtrl+[ O
. Вы можете использоватьtput
команду, чтобы увидеть, что ожидают приложения escape-последовательности для каждой функциональной клавиши на вашем терминале. Эти последовательности хранятся вterminfo
базе данных. Например, приведенный ниже фрагмент оболочки показывает escape-последовательности, соответствующие каждой функциональной клавише.Другой способ увидеть escape-последовательность для функциональной клавиши - нажать Ctrl+ Vв терминальном приложении, которое не связывает клавишу Ctrl+ V(например, оболочку). Ctrl+ Vвставляет следующий символ (который будет escape-символом) буквально, и вы сможете увидеть остальную часть последовательности, которая состоит из обычных символов.
Поскольку последовательности могут быть неудобными для ввода, изучите возможность изменения привязок клавиш в вашем приложении или используйте другой эмулятор терминала. Также обратите внимание, что у вас может быть ограничение по времени: некоторые приложения распознают escape-последовательности только в том случае, если они вводятся достаточно быстро, чтобы они могли придать смысл Escтолько одному ключу.
источник
kf13
, Shift + F2 -kf14
и т. д. Затем Ctrl + F1 - этоkf25
, Ctrl + Shift + F1 - этоkf37
, Alt + F1 - этоkf49
. Я не знаю, работает ли это на других терминалах, и что вы получаете, если у вас есть фактический ключ F13.Эмулятор терминала Android от Jack Palevich использует комбинации клавиш с клавишами громкости для отправки различных клавиш, включая функциональные клавиши. Есть также Hacker's Keyboard, в котором есть все доступные клавиши, которые есть у настоящей клавиатуры.
источник