Pilote de périphérique client de souris USB

Objectif

Prend en charge le périphérique de souris USB (Universal Serial Bus).

Syntaxe

#include <sys/usbdi.h>

Descriptif

Le pilote d'unité client de la souris USB se compose d'un système de back end qui s'interface avec le pilote système USB (USBD) et d'un système de front end qui s'interface avec une application AIX® telle que l'application serveur X. Le pilote client ne connaît pas le matériel de la carte USB sous-jacente. Au lieu de cela, le pilote client envoie des demandes de contrôle à la souris USB via l'USBD et reçoit des événements d'entrée via l'USBD. Le pilote du client de souris USB prend en charge la connexion de plusieurs périphériques de souris USB. Chaque unité est énumérée dans le gestionnaire de données d'objet (ODM) et marquée comme disponible. Le pilote client traite tous les périphériques de la souris en tant qu'unité logique unique. Les événements d'entrée de toutes les unités sont envoyés à un seul anneau d'entrée.

Un fichier spécial d'unité est créé pour chaque périphérique de souris USB. Tant qu'il n'y a pas au moins une unité de souris USB marquée disponible, une application (généralement l'application serveur X) peut ouvrir n'importe lequel des fichiers spéciaux de la souris USB car le pilote client ignore la spécification du nombre mineur. Un périphérique de souris USB qui est ajouté et configuré après que l'opération d'ouverture est automatiquement ajoutée à l'ensemble ouvert. Les fichiers spéciaux de périphérique (par exemple, /dev/mouse0, /dev/mouse1, etc.) sont créés pour chaque périphérique de souris USB.

Un traitement spécial pour la souris est fourni par la méthode de configuration USBD en raison de la configuration stricte et des règles de commande du sous-système graphique. Lorsqu'un contrôleur hôte USB et une carte graphique sont marqués disponibles, et qu'aucune souris existante n'est présente, USBD s'assure qu'au moins une instance de souris USB est définie. Le pilote de client de souris USB utilise l'opération USBD_OPEN_DEVICE_EXT ioctl pour ouvrir l'unité qui génère une poignée valide même lorsqu'aucune souris USB n'est connectée au système. Le code d'erreur EAGAIN est renvoyé par l'opération USBD_OPEN_DEVICE_EXT s'il n'y a pas d'unité de souris et que le pilote client traite l'unité comme étant déconnectée. Lorsque vous branchez une souris USB, une opération de rappel de reconnexion est effectuée sur le client de la souris par l'USBD et l'unité est initialisée pour que les événements d'entrée s'écoulant vers l'application serveur X.

Les opérations suivantes du pilote de périphérique d'entrée ioctl sont utilisées pour les opérations de la souris USB:

Opération Descriptif
INFOS Renvoie une structure devinfo , définie dans le fichier d'en-tête sys/devinfo.h , qui décrit le périphérique. La première zone de la structure (devtype) est définie sur DD_INPUT; le reste de la structure est défini sur zéro.
ID_REQUÊTE Recherche l'identificateur de l'unité de souris.
MRÉGRING Enregistre l'anneau en entrée.
MREGRINGEXT Enregistre l'anneau d'entrée étendu.
MRFLUSH Vidages de l'anneau d'entrée.
MSEUIL Définit le seuil de déclaration de la souris.
RÉSOLUTION Définit la résolution de la souris.
MSCALE Définit le facteur d'échelle de la souris.
MSAMPLERATE Définit le taux de l'échantillon de souris.