Réception des clés de la presse et des principaux événements de relâchement dans le terminal Linux applications?
Je voudrais écrire un simple programme C qui permettra d'effectuer des actions différentes en fonction sur les deux "enfoncée" et "clés up". Ce programme sera exécuté à partir de l'intérieur de rxvt.
Ce que la bibliothèque ou le mécanisme dois-je utiliser pour accéder à la fois la clé de presses et communiqués? Est-il vrai que la lecture de /dev/tty
ne les principales versions? Est-ce aussi vrai pour termcap, terminfo, ncurses, et de l'argot? Est-il un moyen de parvenir de l'intérieur d'une application de terminal?
Vous devez vous connecter pour publier un commentaire.
Les liens suivants peuvent être d'aide dans l'utilisation du clavier en mode raw qui vous donnera accès à des événements de clavier plutôt que de simplement la clé de rejets.
Mode Raw n'ont l'inconvénient que vous avez à faire votre propre conversion à partir de l'analyse des codes de caractères bien.
Cela ne fonctionnera pas dans le cas général. ANSI terminaux (à partir de laquelle tous les émulateurs descendre) représentent la clé de "la presse" événements. Ils n'ont pas d'enregistrement vers le bas/haut les événements de façon indépendante.
Si vous avez besoin d'un faible niveau d'événement de clavier d'accès, de l'environnement approprié est vraiment un programme graphique. Même une application web aura plus propre accès à des événements de touche qu'un terminal.
Je ne pense pas que ncurses fonctionne. Le lien Basilevs fourni parle de la "flèche haut" et le "bas" de la clé, pas une touche, appuyez sur et relâchez-le.