J'ai une machine Fedora sur laquelle je peux SSH. L'un des programmes que j'aimerais utiliser occasionnellement utilise les touches de fonction. Le problème est que je suis SSH'ing d'une tablette Android (ASUS Transformer Infinity) avec un clavier physique, mais pas F1- F12clés. Donc, jusqu'à ce que l'application terminale que j'utilise (VX ConnectBot) décide de les ajouter en tant que fonctionnalité, je cherche un moyen de les envoyer en utilisant le reste du clavier.
Je peux utiliser tous les caractères ASCII imprimables, Esc, Ctrl, Shift, Enteret Tab.
Réponses:
Les terminaux ne comprennent que les caractères, pas les clés. Ainsi, toutes les touches de fonction sont codées comme des séquences de caractères, en utilisant des caractères de contrôle. Hormis quelques-uns courants qui ont un caractère de contrôle associé ( Tabest
Ctrl+I
, EnterestCtrl+M
, EscestCtrl+[
), les touches de fonction envoient des séquences d'échappement, commençant parCtrl+[ [
ouCtrl+[ O
. Vous pouvez utiliser latput
commande pour voir ce que les applications de séquence d'échappement attendent pour chaque touche de fonction sur votre terminal. Ces séquences sont stockées dans laterminfo
base de données. Par exemple, l'extrait de shell ci-dessous montre les séquences d'échappement correspondant à chaque touche de fonction.Une autre façon de voir la séquence d'échappement d'une touche de fonction consiste à appuyer sur Ctrl+ Vdans une application de terminal qui ne lie pas la touche Ctrl+ V(comme le shell). Ctrl+ Vinsère littéralement le caractère suivant (qui sera le caractère d'échappement), et vous pourrez voir le reste de la séquence, qui se compose de caractères ordinaires.
Étant donné que les séquences peuvent être difficiles à taper, étudiez la possibilité de modifier les liaisons de touches dans votre application ou d'utiliser un autre émulateur de terminal. Notez également que vous pouvez avoir une limite de temps: certaines applications ne reconnaissent les séquences d'échappement que si elles arrivent assez rapidement, afin qu'elles puissent donner un sens à la Escclé seule.
la source
kf13
, Shift + F2 estkf14
, etc. Ensuite Ctrl + F1 estkf25
, Ctrl + Shift + F1 estkf37
, Alt + F1 estkf49
. Je ne sais pas si cela fonctionne sur d'autres terminaux ni ce que vous obtenez si vous avez une vraie clé F13.Android Terminal Emulator par Jack Palevich utilise des combinaisons de touches avec les touches de volume pour envoyer une variété de touches, y compris les touches de fonction. Il y a aussi le clavier de Hacker qui a toutes les touches disponibles qu'un vrai clavier aurait.
la source