2017-09-25 2 views
0

J'ai une application de terminal web ssh en utilisant 'xterm.js' dans le navigateur, et les modules 'ws' et 'ssh2' de node.js pour me connecter à un serveur ssh. J'ai mis en œuvre un geste de balayage qui envoie les codes ansi esc + '[A', esc + '[B', esc + '[C', et esc + '[D', pour simuler les flèches haut, bas, droite et gauche , où esc est le code d'échappement ("\ 033"). Cela fonctionne bien sur la ligne de commande bash, mais dans Midnight Commander, il affiche simplement les caractères 'A', 'B', 'C' ou 'D', sans le crochet gauche (ou apparemment l'échappement).Quel code Midnight Commander reconnaît-il pour les touches du curseur?

Est-ce que MC utilise un code différent? Je sais que "apprendre les clés" est une option, mais j'en ai besoin pour travailler hors de la boîte sur n'importe quel terminal ansi.

Informations complémentaires:

Server est le Linux ubuntu. TERM est 'xterm-color'.

Hackers Les touches fléchées du clavier fonctionnent pour les deux. Les touches fléchées du clavier physique fonctionnent pour les deux. Taper les touches fléchées dans «sed -n l» me donne les codes ci-dessus à partir de n'importe quel clavier. Faites glisser les gestes dans «sed -n l» pour afficher les codes identiques en tant que «vraies» touches de curseur.

L'utilisation de \ x1b, \ u001b ou \ 033 pour l'échappement donne tous les mêmes résultats.

Le codage est utf-8 sur toute la carte.

Répondre

1

Ok. La réponse est:

esc + 'OA', esc + 'OB', esc + 'OC', et esc + 'OD'

Aucun support. Même code, il suffit de le remplacer par un O majuscule 0.

Soit semble fonctionner dans bash, mais seulement la version O sans le support travaillé dans MC.