• # Pas très dur

    Posté par . En réponse au message accès aux périphériques clavier et souris. Évalué à 2.

    A mon avis, c'est relativement facile à faire...

    Pour la souris, man 4 mouse explique le fonctionnement de ce périphérique. Pour le clavier, ben, man 4 keyboard. Ils sont effectivement tous les deux dans /dev.

    Ensuite, pour que cela marche sous X, il faut que tu lise le contenu de ces fichiers, puis que tu les rende à X. La solution, à mon avis, c'est d'ouvrir les fichiers de périphériques, de les unlinker, de créer des fifos à la place portant le même nom, de créer quatre threads (une par fifo et une par fichier d'origine), deux buffers de petite taille, puis de lire les fichiers d'origine avec les threads, d'en faire ce que tu veux, et de placer leurs données dans ces buffers, les deux autres threads se chargeant, lorsqu'elles sont réveillées, de lire le contenu des buffers et de l'ecrire dans leur fifo.

    L'idée, c'est que si personne n'a ouvert tes fifos, les deux threads d'écriture resteront bloquées, et attendront patiemment que quelqu'un les ouvre pour écrire. Il est évidemment préférable que les données non lues sur-le-champ soient purement et simplement _perdues_ (ben oui, quoi, quand je démarre X, je n'aime pas qu'il reçoive tous les mouvements qu'a fait la souris depuis une heure...), donc tu peux y aller bourrin pour les buffers.


    Bon, finalement, je me relis, et je me dis que ce n'est pas aussi simple que ça en avait l'air. Mais bon, tu vois, à mon avis, il n'y a absolument pas de raison de faire du code kernel pour réussir ton démon.

    Bonne chance!