2010-02-24 5 views
2

Je suis dans la tête et cherche une meilleure compréhension de ce qu'il faudrait pour alimenter d'autres données dans un pilote de souris pour contrôler le pointeur sans déplacer la souris. J'ai modifié un pilote (non testé) pour fournir des données aléatoires, mais je dois être en mesure d'activer/désactiver les données de souris aléatoires et je ne pense pas qu'un simple scanf pour demander un «Voulez-vous fais ça? " va travailler. Je pense que j'ai besoin de construire une interface qui interagira avec le pilote.l'alimentation d'un pilote de souris de données alternatives dans Linux

Quelqu'un peut-il me donner un aperçu de tout cela? J'ai très peu d'idée de ce que je dois faire.

Merci, Shawn Lewis

Répondre

1

Probablement vous pouvez lire des données réelles de l'appareil, mais envoyer indésirable au hasard. Lorsque vous lisez un clic ou un mouvement, vous pouvez passer en mode réel. Si aucun mouvement dans un certain délai, vous pouvez passer à nouveau au hasard. Tout dépend de ce que vous essayez d'accomplir.

2

Cela dépend si le pilote de la souris que vous avez modifié est dans l'espace utilisateur ou l'espace noyau.

S'il s'agit d'un espace utilisateur, vous pouvez utiliser une socket de domaine UNIX comme canal de contrôle. Si c'est un espace noyau, vous pouvez utiliser une entrée sysfs.

+0

ioctl() fonctionnerait aussi. Est-ce que l'écriture dans sysfs provoque le blocage du processus de l'espace utilisateur jusqu'à l'activation du noyau? Parfois, le disque est utile pour signaler des problèmes. Remarque, je ne fais pas la promotion de ioctl() :) –

1

uinput peut être utilisé pour injecter des événements d'entrée.