2009-10-01 9 views
0

J'écris mon propre shell et j'ai besoin d'implémenter une fonction d'historique où les flèches haut et bas affichent l'historique des commandes exécutées. J'ai besoin de savoir quand les touches haut et bas sont enfoncées.Capture de codes-clés dans un shell?

Comment faire?

+0

Travail à domicile? Copie presque exacte: http://stackoverflow.com/questions/1499001/taking-up-down-arrow-as-input-to-a-program-in-unix –

Répondre

1

Vous voulez capturer l'entrée en mode brut. cela peut se compliquer un peu, mais voici un exemple que vous devriez obtenir sur la bonne voie:

http://docs.linux.cz/programming/c/unix_examples/raw.html

Je suppose que vous écrivez votre shell en c. Si vous utilisez un langage de plus haut niveau, il pourrait y avoir un moyen facile d'obtenir une entrée brute. en python, par exemple, j'utiliserais le module ncurses.

+0

Bien sûr, rien ne l'empêche en particulier d'utiliser ncurses de C. –