-
Un clavier, des signaux.
Bonsoir.
Je sais qu'il existe des librairies toutes faites pour ça, mais je cherche à capter les signaux envoyés par le clavier (et souris) moi même.
Pour faire cela j'aimerai seulement utiliser des fonctions de base comme signal, kill. (Voir d'autres, du moment que ca reste dans la LibC)
Est-ce possible ?
Merci.
-
Si tu utilises signal() et kill(), c'est que tu travailles sous Linux ou, à tout le moins sous Unix (merci de préciser, le cas échéant).
Sache que dans cet environnement, et spécialement avec les primitives que tu cites, « signal » n'est pas un terme général mais un concept bien précis. Il s'agit de d'interrompre un processus dans des cas de figure bien définis. On en parlait déjà ici, ici, et là.
D'autre part, signal et kill font partie du noyau, pas de la LibC (même si aujourd'hui, tous les appels systèmes sont tamponnés par la glibc quand même).
Ensuite, il y a une kirielle de niveaux sur lesquels tu peux agir. Si tu veux lire les ports I/O directement comme du temps béni des démos sous D.O.S., tu peux éventuellement demander les droits d'accès au noyau et faire un peu d'assembleur inline, mais ça risque de mettre la pagaille plus qu'autre chose : tu travailles en environnement multi-tâches.
S'il s'agit simplement de récupérer les scan-codes depuis Linux, tu peux lire ceci, par exemple :
http://www.linuxjournal.com/article/1080
http://www.faqs.org/docs/Linux-HOWTO...ole-HOWTO.html
-
Je travaille sous unix, oui.
Quand je parle de signal, je pensais à un fonctionnement similaire aux signaux SIGUSER, avec une valeur reçue correspondant à la valeur de la touche. (un chtuc comme ça quoi).
Merci cependant pour vos corrections, et vos liens, que je vais m'empresser de consulter :)
-
Tu peux voir aussi avec les lib termcaps ou ncurses.