-
Intercepter les IRQs
Bonjour à tous!
Je travaille sous kubuntu 8.10 et j'aimerai savoir comment intercepter certains IRQ et surtout connaitre la source.
Je m'explique j'ai un clavier et une télécommande, les deux me génèrent des input dans le système et j'aimerai récupérer la valeur de l'input mais surtout la source c'est à dire si cela vient du clavier ou de la télécommande...
Clavier standard USB et télécommande Saffire Ati Remote Control aussi en USB...
-
L'API java de base ne permet pas de telle manipulation bas niveau. Pour ce genre de dev tu aura besoin d'un langage natif comme C/C++, quitte à l'interfacer avec ton programme java via JNI.
-
Autre question qui n'a rien à voir avec Java mais peut on faire cette manipulation avec C#?
-
déjà, les IRQs, c'est réservé à la manipulation par le noyau. Tes périphériques USB, en eux même, n'ont pas d'IRQ, c'est le controlleur USB qui a un seul IRQs et des ports, utilisés par le driver USB de ton concentrateur. Après, ca cause USB entre le périphérique USB et le driver clavier / télécommande.
T'aura peut etre plus de chance en ouvrant comme un fichier le /dev/xxxxx correspondant à tes pérophériques USB concerné et à dialoguer avec par ce moyen.
-
Merci pour ta réponse mais une question se pose... comment tu fais pour gérer l'évènement c'est à dire si j'appuie sur une touche comment ça réagit? (D'où mon histoire d'IRQ mal placé...)
-
sous linux, une partie des périphérique sont accessible en lecture, parfois écriture sur /dev/xxxx , xxxx étant le périphérique, a parti de là, c'est assez brut, a toit de regarder ce qui arrive dans ce fichier quand tu touche des trucs ;)
La doc du driver noyau pour ton périphérique pourrait aussi éventuellement aider. Note que pour une partie des drivers, le contenu de ce fichier reste désespérément vide, ce point de contact ne comprenant que des appel IOCTL (pas possible en pur java que je sache)