Bonjour,
Je développe un petit programme qui interagit avec l'utilisateur seulement en ligne de commande, et j'utilise pour cela la fonction getline(std::cin, line).
Sous Windows XP je n'ai aucun soucis, par contre une fois sous Linux (Lubuntu pour être exact, donc avec lxterminal), les flèches haut et bas ne permettent plus de rappeler les dernières commandes (j'obtiens des caractères étranges du style "^[D"). Que dois-je faire pour que ça fonctionne ? À noter que j'aimerais ne pas avoir à utiliser une bibliothèque en plus rien que pour ça, style curse/ncurse.
Pour donner un exemple. L'utilisateur entre une première commande :
puis l'exécute (l'underscore signale la position du curseur). Il veut ensuite la relancer, telle quelle ou en la modifiant un peu. On utilise en général alors la flèche du haut pour rappeler la dernière commande :
Code : Sélectionner tout - Visualiser dans une fenêtre à part > blablabla()_
devient immédiatement :
Code : Sélectionner tout - Visualiser dans une fenêtre à part > _
ce qui est extrêmement pratique...
Code : Sélectionner tout - Visualiser dans une fenêtre à part > blablabla()_
Le problème est en réalité plus général : les flèches de gauche et droite pour la navigation ne fonctionnent pas non plus, ainsi que la touche [Del.].
Bien entendu, une fois sorti de mon programme, toutes ces touches fonctionnent parfaitement.
Une idée ?
Merci d'avance !
Partager