Eu tenho uma máquina Fedora na qual posso fazer o SSH. Um dos programas que eu gostaria de usar ocasionalmente usa as teclas de função. O problema é que eu estou SSH'ing a partir de um tablet Android (ASUS Transformer Infinito) com um teclado físico, mas não F1- F12chaves. Assim, até que o aplicativo de terminal que estou usando (VX ConnectBot) decida adicioná-los como um recurso, estou procurando uma maneira de enviá-los usando o restante do teclado.
Eu posso utilizar todos os caracteres ASCII imprimíveis, Esc, Ctrl, Shift, Enter, e Tab.
Respostas:
Os terminais compreendem apenas caracteres, não chaves. Portanto, todas as teclas de função são codificadas como sequências de caracteres, usando caracteres de controle. Além de alguns comuns que possuem um caractere de controle associado ( Tabé
Ctrl+I
, EnteréCtrl+M
, EscéCtrl+[
), as teclas de função enviam sequências de escape, começando comCtrl+[ [
ouCtrl+[ O
. Você pode usar otput
comando para ver o que os aplicativos de sequência de escape esperam para cada tecla de função no seu terminal. Essas seqüências são armazenadas noterminfo
banco de dados. Por exemplo, o snippet de shell abaixo mostra as seqüências de escape correspondentes a cada tecla de função.Outra maneira de ver a sequência de escape de uma tecla de função é pressionar Ctrl+ Vem um aplicativo de terminal que não religue a tecla Ctrl+ V(como o shell). Ctrl+ Vinsere o próximo caractere (que será o caractere de escape) literalmente, e você poderá ver o restante da sequência, que consiste em caracteres comuns.
Como as seqüências podem ser difíceis de digitar, investigue a alteração das combinações de teclas em seu aplicativo ou usando outro emulador de terminal. Além disso, observe que você pode ter um limite de tempo: alguns aplicativos reconhecem apenas seqüências de escape se elas forem rápidas o suficiente, para que possam dar um significado apenas à Escchave.
fonte
kf13
, Shift + F2 ékf14
, etc. Então Ctrl + F1 ékf25
, Ctrl + Shift + F1 ékf37
, Alt + F1 ékf49
. Não sei se isso funciona em outros terminais nem o que você obtém se tiver uma chave F13 real.O Android Terminal Emulator de Jack Palevich usa combinações de teclas com as teclas de volume para enviar uma variedade de teclas, incluindo teclas de função. Há também o teclado do hacker, que tem todas as teclas disponíveis que um teclado real teria.
fonte