Touches d’access en C

J’essaie d’accéder aux touches du clavier en C. Je peux accéder aux touches alphanumériques. Comment puis-je accéder aux touches Control , Shift et Alt ?
De plus, je lis quelque part que parfois, lors de la saisie de texte dans la console, le système de contrôle masque la touche Retour arrière. Je voudrais savoir où l’utilisateur a appuyé sur la touche Retour arrière. Ce n’est pas la même chose que de savoir quand “\ n” a été pressé. GNU C. Ubuntu 11.

Diesortingch Epp a répondu dans un commentaire: utilisez la bibliothèque ncurses .

Voir aussi cette question

Et vous pouvez créer une application graphique client X11 ; dans ce cas, utilisez une bibliothèque de boîtes à outils graphiques comme GTK ou Qt

Si vous voulez faire une application console, utilisez ncurses ou peut-être readline

Et votre question, prise à la lettre, n’a aucun sens: la norme C ssortingcte ne sait pas ce qu’est une touche ou une frappe (les seules opérations d’E / S mentionnées dans la norme sont liées à via FILE ). C’est pourquoi la plupart des gens utilisent des bibliothèques et des normes supplémentaires (en plus de celles requirejses par ISO C), par exemple. Posix …

La réponse simple est “vous ne pouvez pas”, du moins pas facilement ou sans téléchargement de bibliothèques tierces.

La plupart des programmes C ne devraient rien savoir du clavier ou de l’écran. La norme C ne concerne que la lecture et l’écriture dans des fichiers (le clavier et l’écran étant des fichiers de cas spéciaux).

En supposant que vous souhaitiez accéder directement au clavier, consultez la bibliothèque ncurses (http://www.gnu.org/software/ncurses/ncurses.html). Ncurses sait combien de terminaux et de claviers (virtuels) fonctionnent, et leur présente une interface uniforme. Il vous permet de peindre l’écran et de créer une interface graphique de remplacement en utilisant uniquement des blocs de texte.

Puisque vous utilisez Ubuntu, essayez d’exécuter la commande “aptitude” pour voir un bon exemple de ce que ncurses peut faire.