|
LA SOURIS
Comment programmer l'un des périphériques les plus utilisés ? (Dernière modification le 04/06/97)
SOMMAIRE
Fonction 00h - Etat et réinitialisation de la souris. Fonction 01h - Affichage du pointeur de la souris Fonction 02h - Masquage du pointeur de la souris Fonction 03h - Etat des boutons et position de la souris Fonction 04h - Positionnement du pointeur de la souris Fonction 05h - Etat des boutons de la souris (enfoncé) Fonction 06h - Etat des boutons de la souris (relâché) Fonction 07h - Valeur maximal et minimale de colonne Fonction 08h - Valeur maximal et minimal de ligne Fonction 09h - Forme du pointeur graphique Fonction 0Ah - Forme du pointeur texte Fonction 0Bh - Lecture du compteur de déplacements de la souris Fonction 0Ch - Définition des masques et adresses d'interruption Fonction 0Dh - Activation de l'émulation du crayon optique Fonction 0Eh - Désactivation de l'émulation du crayon optique Fonction 0Fh - Définition du rapport mickeys/pixels Fonction 10h - Désactivation conditionnelle de l'affichage du pointeur de souris Fonction 13h - Point de départ pour la double vitesse Fonction 14h - Lecture et modification des masques et des adresses d'interruption Fonction 15h - Taille du tampon pour l'état du gestionnaire de la souris Fonction 16h - Enregistrement de l'état du gestionnaire de souris Fonction 17h - Restaurer l'état du gestionnaire de souris Fonction 18h - Masque et adresses d'interruption étendus Fonction 19h - Lecture d'adresses d'interruption étendues Fonction 1Ah - Modification de la sensibilité de la souris Fonction 1Bh - Lecture de la sensibilité de la souris Fonction 1Ch - Fréquence d'interruption de la souris Fonction 1Dh - Définition du numéro de la page écran Fonction 1Eh - Lecture du numéro de la page écran Fonction 1Fh - Désactiver le gestionnaire de souris Fonction 20h - Activer le gestionnaire de souris Fonction 21h - Réinitialisation logicielle Fonction 22h - Langue utilisée Fonction 23h - Lecture des numéro des langues Fonction 24h - Obtention d'informations concernant la configuration
Cette documentation n'a pas la prétention d'être complète, il manque certainement des choses, et il est certainement possible d'optimiser les sources. Mais si une personne rencontre ces problèmes quelle n'hésite surtout pas à m'en faire part. L'interruption 33h - Gestion de la souris l'interruption 33h sert d'interface avec le gestionnaire de la souris. Les paramètres nécessaires à la fonction sont transmis via les registres du processeur.
Fonction 00h - Etat et réinitialisation de la souris Entrées : AX = 00h Sorties : AX = Etat BX = Nombre de boutons * Cette fonction retourne l'état actuel de la souris (état matériel et logiciel). * Le code d'état indique si une souris est installée. S'il est égal à FFFFh, une souris est installée ; par contre, s'il est égal à 0000h, aucune souris n'est installée. * La valeur retournée dans le registre BX représente le nombre de boutons dont est dotée la souris. * Si une souris est connectée, cette fonction initialise l'interface. Les valeurs standard présentées au Tableau Fig.1 sont alors appliquées.
Tableau Fig.1 : Les valeurs de réglage standard de la souris. Fonction 01H - Affichage du pointeur de la souris Entrées : AX = 01h Sorties : Aucune * Cette fonction permet d'activer le pointeur de souris en cours et de l'afficher à l'écran. * Une fois l'affichage du pointeur activé, la souris se déplace conformément aux paramètres actuellement définis. * Si cette fonction est appelée alors que l'affichage du pointeur de la souris est déjà activé, elle reste sans effet. Fonction 02h - Masquage du pointeur de la souris Entrées : AX = 02h Sortie : Aucune * Cette fonction permet de désactiver le pointeur de souris. * Une fois l'affichage du pointeur désactivé, les mouvements imprimés à la souris ne sont plus pris en compte. * Si cette fonction est appelée alors que l'affichage du pointeur de la souris est déjà désactivé, elle reste sans effet. * Le pointeur de la souris doit toujours être désactivé à l'aide de cette fonction avant tout changement de mode vidéo. Fonction 03h - Etat des boutons et position de la souris Entrées : AX = 03h Sorties : BX = Etat des boutons de la souris CX = Colonne occupée actuellement par le curseur DX = Ligne occupée actuellement par le curseur * A chaque bouton de la souris correspond un bit dont la valeur reflète l'état : le bit 0 correspond au bouton gauche, le bit l au bouton droit. * Lorsqu'un bit est égal à 1, le bouton auquel il correspond est enfoncé. Par contre, s'il est égal à 0, le bouton est relâché. * Les registres CX et DX Indiquent la position du curseur de la souris sur l'écran. Les coordonnées spécifiées sont celles de l'écran virtuel Fonction 04h - Positionnement du pointeur de la souris Entrées : AX = 04h CX = Colonne DX = Ligne Sorties : Aucune * Cette fonction positionne le curseur de la souris à un emplacement particulier de l'écran. * Les registres CX et DX spécifient la position du curseur de la souris sur l'écran. Les coordonnées spécifiées sont celles de l'écran virtuel. Fonction 05h - Etat des boutons de la souris (enfoncé) Entrée : AX = 05h BX = Bouton de la souris Sorties : AX = Etat BX = Compteur CX = Colonne occupée par le curseur lorsque le bouton a été enfoncé pour la dernière fois DX = Ligne occupée par le curseur lorsque le bouton a été enfoncé pour la dernière fois * Vous devez spécifier dans le registre BX sur quel bouton la fonction doit porter. Si vous spécifiez la valeur 00h, II s'agira du bouton gauche. Si vous spécifiez la valeur 0lh, il s'agira du bouton droit. * Au retour de la fonction, vous pouvez savoir en consultant le registre AX si le bouton de la souris est enfoncé (AX = 0lh) ou relâché (AX = 00h). * Le compteur du registre BX indique le nombre de fois où le bouton de la souris a été enfoncé depuis la dernière interrogation. * Les valeurs retournées pour la position du curseur correspondant à la position occupée par le curseur sur l'écran la dernière fois que le bouton en question a été enfoncé. Fonction 06h - Etat des boutons de la souris (relâché) Entrées : AX = 06h BX = Bouton de la souris Sorties : AX = Etat BX = Compteur CX = Colonne occupée par le curseur lorsque le bouton a été relâché pour la dernière fois DX = Ligne occupée par le curseur lorsque le bouton a été relâché pour la dernière fois * Vous devez spécifier dans le registre BX sur quel bouton la fonction doit porter. Si vous spécifiez la valeur 00h, II s'agira du bouton gauche. Si vous spécifiez la valeur 0lh, Il s'agira du bouton droit. * Au retour de la fonction, vous pouvez savoir en consultant le registre AX si le bouton de la souris est enfoncé (AX = 01h) ou relâché (AX = 00h). * Le compteur du registre BX indique le nombre de fois où le bouton de la souris a été enfoncé depuis la dernière interrogation. * les valeurs retournées pour la position du curseur correspondent à la position occupée par le curseur sur l'écran la dernière fois que le bouton en question a été relâché. Fonction 07h - Valeur maximale et minimale de colonne Entrées : AX = 07h CX = Limite gauche DX = Limite droite Sorties : Aucune * Au retour de la fonction, les déplacements horizontaux du pointeur de la souris sont confinés aux limites de la zone définie par CX:DX. * La limite gauche représente la valeur minimale de la coordonnée X du pointeur tandis que la limite droite représente la valeur maximale de la coordonnée X. Fonction 08h - Valeur maximale et minimale de ligne Entrées : AX = 08h CX = Limite supérieure DX = Limite inférieure Sorties : Aucune * Au retour de la fonction, les déplacements verticaux du pointeur de la souris sont confinés aux limites de la zone définie par CX:DX. * La limite supérieure représente la valeur minimale de la coordonnée Y du pointeur tandis que la limite inférieure représente la valeur maximale de la coordonnée Y. Fonction 09h - Forme du pointeur graphique Entrées : AX = 09h BX = Déplacement X du pixel de référence CX = Déplacement Y de pixel de référence DX = Adresse du déplacement du masque ES = Adresse du segment du masque Sorties : Aucune * Cette fonction détermine la forme du pointeur de la souris en mode graphique. * Les registres ES:DX doivent contenir l'adresse du masque écran et du masque de pointeur. Ces deux masques doivent se trouver à des adresses mémoire contiguës. * Le masque de pointeur occupe 16 mots en mémoire. Il détermine l'aspect du pointeur en mode graphique. La matrice 16 x 16 est interprétée comme bit-map (mode point) pour le mode vidéo en cours. Par conséquent, on peut utiliser plusieurs octets du masque de pointeur pour un pixel. * A l'instar du masque de pointeur, le masque écran se compose de 16 mots distincts. Avant que la combinaison binaire du masque de pointeur soit mise en œuvre, vous pouvez déterminer à l'aide du masque écran quels pixels devront être modifiés. Avant d'afficher le pointeur de l'écran, le gestionnaire de souris interprète le masque écran comme une combinaison binaire qui fait l'objet d'une liaison ET logique avec le contenu de l'écran. * Les bits d'arrière-plan que vous souhaitez modifier à l'aide du masque de pointeur doivent être codés par un bit égal à 0, ceux qui doivent rester intacts doivent être codés par un bit égal à l. Vous devez spécifier dans le masque écran quels pixels d'arrière-plan ne doivent pas être modifiés par le pointeur de la souris. * Le pixel de référence indique quel pixel du pointeur le gestionnaire de souris doit utiliser comme référence pour les coordonnées de la souris. Les coordonnées du pixel de référence sont des déplacements par rapport à l'angle supérieur gauche du pointeur de la souris. Elles peuvent être comprises entre -127 et 128 Fonction 0Ah - Forme du pointeur texte Entrées : AX = 0Ah BX = Type de pointeur CX = Masque écran/ligne de début de l’affichage du pointeur DX = Masque du pointeur/ligne de fin de l'affichage du pointeur Sorties : Aucune * Vous devez déterminer dans le registre BX le type de pointeur de souris qui doit être utilisé en mode texte. Si BX 00h, il s'agira d'un pointeur logiciel ; si BX = 01h, Il s'agira d'un pointeur matériel. * Si vous choisissez le pointeur matériel, Le gestionnaire de souris utilisera le pointeur texte standard. * Pour le pointeur matériel, vous devez définir dans les registres CX et DX à quelle ligne de balayage d'un caractère l'affichage du curseur doit débuter (CX) et à quelle ligne il doit prendre fin (DX). * Pour le pointeur logiciel, le masque écran doit être défini dans le registre CX et le masque de pointeur dans le registre DX. Fonction 0Bh - Lecture du compteur de déplacements de la souris. Entrées : AX = 0Bh Sorties : CX = Compteur X DX = Compteur Y * Cette fonction retourne le nombre contenu dans les compteurs de mickeys pour les coordonnées X et Y, depuis le dernier appel de cette fonction. * Un mickey correspond à environ l/200iéme de pouce. * Les valeurs contenues dans les compteurs peuvent aller de -32768 à 32767. Fonction 0Ch - Définition des masques et adresses d'interruption Entrées : AX = 0Ch CX = Masque d'appel DX = Adresse du déplacement du gestionnaire ES = Adresse du segment du gestionnaire Sorties : Aucune * Cette fonction permet de définir un nouveau sous-programme d'interruption pour les interruptions matérielles de la souris. * La définition d'un nouveau gestionnaire d'interruptions matérielles pour la souris permet d'intercepter directement au niveau matériel certaines actions réalisées sur la souris. * L'adresse du nouveau gestionnaire d'interruptions doit être spécifié dans les registres ES:DX. * Le masque d'appel déterminé dans le registre CX permet de spécifier à quelles occasions le nouveau gestionnaire devra être appelé. Le Tableau Fig.2 présente la structure du registre CX
Tableau Fig.2 : Le masque d'appel. * En mettant à 1 les bits du masque d'appel, vous provoquez l'activation du gestionnaire d'interruptions par l'interruption matérielle dès que les conditions correspondantes se déclarent. * Le sous-programme d'interruption ne doit pas se terminer par une instruction iret mais par une commande far return. * Lorsque votre gestionnaire d'interruptions est activé suite à l'apparition d'une des conditions prévues dans le masque d'appel, les registres du processeur possèdent les contenus suivants (voir Tableau Fig.3).
Tableau Fig.3 : La structure des registres après appel du gestionnaire d'interruptions. * Le masque de conditions vous permet de savoir quelle condition est à l'origine de l'activation du gestionnaire d'interruptions. Sa structure est identique à celle du masque d'appel. Lorsque le bit correspondant à une condition est égal à 1, cela signifie que cette condition a entraînée la mise en œuvre du gestionnaire. Fonction 0Dh - Activation de l'émulation du crayon optique Entrées : AX = 0Dh Sorties : Aucune * Au retour de cette fonction, le gestionnaire de la souris émule un crayon optique. * Pour simuler une pression sur le crayon optique, vous devez appuyer simultanément sur les deux boutons de la souris. Fonction 0Eh - Désactivation de l'émulation du crayon optique Entrées : AX = 0Eh Sorties : Aucune * Au retour de cette fonction, le gestionnaire de la souris cesse d'émuler le crayon optique. Fonction 0Fh - Définition du rapport mickeys / pixels Entrées : AX = 0Fh CX = Rapport X DX = Rapport Y Sorties : Aucune * Cette fonction détermine le rapport entre l'unité de mesure des déplacements de la souris (le mickey) et le déplacement du pointeur de la souris à l'écran. * Le paramètre spécifié dans CX définit le rapport entre les pixels horizontaux sur huit mickeys. * Le paramètre spécifié dans DX définit le rapport entre les pixels verticaux sur huit mickeys. * Les valeurs dans CX et DX doivent être comprises entre l et 32 767. * Le rapport standard est 8 sur 16. * Les données spécifiées pour les pixels sont basées sur l'écran virtuel. * Lorsque l'on augmente la valeur du mickey par rapport à celle du pixel, les déplacements de la souris sont plus lents ; si on la diminue, les déplacements sont plus rapides. Fonction 10h - Désactivation conditionnelle de l’affichage du pointeur de souris Entrées : AX = 10h CX = Coordonnée X droite DX = Coordonnée Y inférieure SI = Coordonnée X gauche DI = Coordonnée Y supérieure Sorties : aucune * Cette fonction délimite une zone sur l'écran virtuel. * Le gestionnaire de souris désactive l'affichage du pointeur de la souris dès qu'il se trouve dans la zone spécifiée. * Les paramètres définissent une zone rectangulaire sur l'écran. * Cette fonction a pour objet de modifier certaines zones de l'écran sans se préoccuper du pointeur de la souris. Vous pouvez délimiter une zone à l'aide de cette fonction puis la manipuler à votre gré. * Si le pointeur de la souris est désactivé, seul l'appel de la fonction 0lh permettra de l'activer de nouveau. Fonction 13h - Point de départ pour la double vitesse Entrées : AX = 13h DX = Valeur limite Sorties : Aucune * Cette fonction permet de déterminer la valeur qui servira de point de départ du mode double vitesse lors des déplacements de la souris. * Le paramètre du registre DX établit le nombre de mickeys par seconde que doit parcourir la souris lorsqu'elle passe en mode double vitesse. * La valeur standard utilisée par le gestionnaire est 64. * Pour désactiver le mode double vitesse, appelez cette fonction en spécifiant une valeur physiquement impossible à atteindre, telle que 4000h. Fonction 14h - Lecture et modification des masques et des adresses d'interruption Entrées : AX = 14h ES = Adresse du segment du gestionnaire d'interruptions CX = Masque d'appel DX = Adresse du déplacement du gestionnaire d'interruptions Sorties : ES = Adresse du segment de l'ancien gestionnaire d'interruptions CX = Adresse masque d'appel DX = Adresse du déplacement de l'ancien gestionnaire d'interruptions * Cette fonction permet de définir un nouveau sous-programme d'interruption pour les interruptions matérielles de la souris et détermine l'adresse du gestionnaire d'interruptions en cours ainsi que celle du masque d'appel correspondant. * Le masque d'appel déterminé dans le registre CX permet de spécifier à quelles occasions le nouveau gestionnaire devra être appelé. Le Tableau Fig.4 présente la structure du registre CX.
Tableau Fig.4 : Le masque d'appel. * En mettant à 1 les bits du masque d'appel, vous provoquez l'activation du gestionnaire d'interruptions par l’interruption matérielle dès que les conditions correspondantes se déclarent. * Le sous-programme d’interruptions ne doit pas se terminer par une instruction iret mais par un far return * Lorsque le gestionnaire d'interruptions est activé suite à l'apparition d'une des conditions prévues dans le masque d'appel, les registres du processeur possèdent les contenus présentés au Tableau Fig.5.
Tableau Fig.5 : la structure des registres après appel du gestionnaire d'interruptions. * Le masque de conditions vous permet de savoir quelle condition est à l'origine de l'activation du gestionnaire d'interruptions. Sa structure est identique à celle du masque d'appel. Lorsque le bit correspondant à une condition est égal à 1, cela signifie que cette condition a entraîné la mise en œuvre du gestionnaire. * Cette fonction retourne comme paramètres l'adresse du gestionnaire d'interruptions utilisé jusque-là ainsi que celle du masque d'appel correspondant. Fonction 15h - Taille du tampon pour l'état du gestionnaire de la souris Entrées : AX = 15h Sortie : BX = Taille du tampon de stockage des informations relatives à l'état du gestionnaire * Cette fonction détermine la taille du tampon de mémoire nécessaire pour prendre en charge toutes les informations relatives à l'état du gestionnaire de la souris. * Vous pouvez appeler cette fonction avant de procéder à l'exécution de la fonction 16h ou 17h de manière à calculer la taille du tampon nécessaire. Fonction 16H - Enregistrement de l'état du gestionnaire de souris Entrées : AX = 16h ES = Adresse du segment du tampon DX =Adresse du déplacement du tampon Sorties : Aucune * Cette fonction permet d'enregistrer toutes les informations relatives à l'état du gestionnaire de la souris dans une zone tampon. * Le tampon doit avoir une capacité suffisante pour accueillir toutes les informations. Vous pouvez déterminer la taille nécessaire en appelant la fonction 15h. Fonction 17H - Restaurer l'état du gestionnaire de souris Entrée : AX = 17h ES = Adresse du segment du tampon DX = Adresse du déplacement du tampon Sortie : Aucune * Cette fonction permet de restaurer l'état du gestionnaire de souris enregistré dans le tampon. * L'enregistrement des informations relatives à l'état du gestionnaire s'effectue à l'aide de la fonction 16h. Fonction 18h - Masques et adresses d'interruption étendus Entrées : AX = 18h CX = Masque d'appel étendu DX = Adresse du déplacement du gestionnaire d'interruptions Sorties : ES = Adresse du segment du gestionnaire d'interruptions AX = Code d'état * Cette fonction est analogue à la fonction 0Ch à ceci près qu'elle permet de définir des conditions faisant intervenir des combinaisons de boutons de la souris avec certaines touches du clavier. * Le masque d'appel étendu permet de spécifier à quelles occasions le nouveau gestionnaire devra être appelé. Le tableau Fig.6 présente la structure du masque d'appel étendu.
Tableau Fig.6 : Le masque d'appel étendu. * En mettant à 1 l'un des bits du masque d'appel étendu, vous spécifiez que le gestionnaire d'interruptions doit effectuer un branchement sur le nouveau sous-progranme d'interruption lorsque la condition correspondante se présente. * Le nouveau sous-programme d'interruption dont vous spécifiez l'adresse dans les registres ES:DX doit se terminer par un far return. * Lorsque votre gestionnaire d'interruptions est activé suite à l'apparition d'une des conditions prévues dans le masque d'appel étendu, les registres du processeur possèdent les contenus présenté au Tableau Fig.7.
Tableau Fig.7: La structure des registres après appel du gestionnaire d'interruption. * Le masque de conditions vous permet de savoir quelle condition est à l'origine de l'activation du gestionnaire d'interruptions. Sa structure est identique à celle du masque d'appel lorsque le bit correspondant à une condition est égal à 1, cela signifie que cette condition a entraîné la mise en œuvre du gestionnaire. * Le nombre maximal de sous-programmes d'interruption que vous pouvez installer simultanément grâce à cette fonction est Limité à 3. En outre, le masque d'appel mis en œuvre doit être différent d'un sous-programme à un autre. Cela vous permet d'ailleurs d'intercepter différentes actions souris dans plusieurs procédures différentes. Fonction 19h - Lecture d'adresses d'interruption étendues Entrées : AX = 19h CX = Masque d'appel recherché Sorties : AX = Code d'erreur BX = Adresse du segment du gestionnaire d'interruptions CX = Masque d'appel effectif DX = Adresse du déplacement du gestionnaire d’interruptions * Cette fonction détermine l'adresse d'un gestionnaire d'interruptions défini par un programme. Ce gestionnaire sera mis en œuvre dès qu'une certaine action concernant la souris aura lieu. * Vous devez spécifier dans le registre CX à quelle action est associé le gestionnaire d'interruptions dont vous voulez connaître l'adresse (voir Tableau Fig.8).
Tableau Fig.8 : Le masque d'appel étendu. * En mettant à l l'un des bits du masque d'appel étendu, vous spécifiez que vous voulez connaître l'adresse du gestionnaire d'interruptions pour l'action correspondante. * Cette fonction retourne dans les registre BX:DX l'adresse du gestionnaire d'interruptions correspondant à l'action spécifiée dans le masque d'appel (celle dont le bit est égal à 1). * Cette fonction place dans le registre CX le masque d'appel associé au gestionnaire d'interruptions (voir Tableau Fig.8). Fonction 1Ah - Modification de la sensibilité de la souris Entrées : AX = 1Ah BX = Sensibilité X CX = Sensibilité Y DX = Point de départ de la double vitesse Sorties : Aucune * Cette fonction détermine via les registres BX et CX la sensibilité de la souris à l'écran. * La sensibilité de la souris se mesure comme un rapport entre les pixels et les mickeys. * Une sensibilité égale à 50 correspond au facteur mickey standard 1. * Le paramètre spécifié dans DX vous permet d'indiquer la valeur limite à partir de laquelle le gestionnaire de la souris doit activer le mode double vitesse. La valeur que contient le registre DX exprime le nombre de mickeys par seconde auquel correspond le mode double vitesse. * La valeur standard utilisée par le gestionnaire de souris est 50. Fonction 1Bh - Lecture de la sensibilité de la souris Entrées : AX = 1Bh BX = Sensibilité X CX = Sensibilité Y DX = Point de départ de la double vitesse Sorties : Aucune * Cette fonction détermine via les registres BX et CX la sensibilité de la souris à l'écran. * La sensibilité de la souris est le rapport entre le pixels et les mickeys. * Une sensibilité égale à 50 correspond au facteur mickeys standard l. * Le paramètre spécifié dans DX vous permet d'indiquer la valeur limite à partir de laquelle le gestionnaire de la souris doit activer le mode double vitesse. la valeur que contient le registre DX exprime le nombre de mickeys par seconde auquel correspond le mode double vitesse. * La valeur standard utilisée par le gestionnaire de souris est 50. Fonction 1Ch - Fréquence d'interruption de la souris Entrées : AX = 1Ch BX = Fréquence d'interruption Sorties : Aucune * Cette fonction permet de déterminer la fréquence à laquelle le gestionnaire de la souris interrogera cette dernière. * La fréquence d'interruption spécifie le nombre d'interrogations de la souris par seconde. Les valeurs possibles sont comprises entre 00h et 04h. Le Tableau Fig.9 décrit en détail ces différentes valeurs. * Cette fonction ne peut être utilisée que pour les souris Import.
Tableau Fig.9 : Les code de fréquence d'interruption. Fonction 1Dh - Définition du numéro de la page écran Entrées : AX = 1Dh BX = Page écran Sorties : Aucune * Cette fonction détermine le numéro de la page écran sur laquelle doit apparaître le pointeur de la souris. * Le nombre de pages écran autorisé varie en fonction du mode vidéo en cours et de la carte graphique installé. Fonction 1Eh - Lecture du numéro de la page écran Entrées : AX = 1Eh Sorties : BX = Page écran * Cette fonction retourne le numéro de la page écran sur laquelle se trouve actuellement le pointeur de la souris. * Le nombre de pages écran autorisé varie en fonction du mode vidéo en cours et de la carte graphique installée. Fonction 1Fh - Désactiver le gestionnaire de souris Entrées : AX = 1Fh Sorties : AX = Code d'erreur BX = Adresse du déplacement de l'interruption 33h CX = Adresse du segment de l'interruption 33h * Cette fonction désactive le gestionnaire de souris * Elle retourne dans les registres CX:BX l'adresse du gestionnaire d'interruption désactivé. * Lorsqu'il s'avère impossible de désactiver le gestionnaire d'interruption, la fonction vous le fait savoir en plaçant le code d'erreur FFFFh dans le registre AX. Fonction 20h - Activer le gestionnaire de souris Entrées : AX = 20h Sorties : Aucune * Cette fonction active le gestionnaire de souris. * Vous devez appeler cette fonction si vous voulez activer un gestionnaire de souris que vous avez désactivé à l'aide de la fonction 1Fh. Fonction 21h - Réinitialisation logiciel Entrés : AX = 21h Sorties : AX = Code d'erreur BX = 02h * Cette fonction exécute une réinitialisation logicielle du gestionnaire de souris, et entraîne par conséquent une restauration des paramètres standard. * Le code d'erreur retourné dans le registre AX vous permet de savoir si un gestionnaire de souris est installé. S'il est égal à FFFFh, un gestionnaire de souris est installé ; par contre, s'il est égal à 21h, aucun gestionnaire de souris n'est installé. * Si un gestionnaire de souris est installé, la fonction retourne la valeur 02h dans le registre BX, si la valeur que contient BX est différente de 02h ou celle que contient AX différente de FFFFh, aucun gestionnaire de souris standard n'est installé. * La fonction réinitialise le gestionnaire en lui attribuant les paramètres présentés au Tableau Fig.10.
Tableau Fig.10 : Les valeurs de réglage de la souris. Fonction 22h - Langue utilisée Entrées : AX = 22h BX = Langue Sorties : Aucune * Cette fonction détermine la langue que le gestionnaire de souris doit utiliser lorsqu'il affiche des messages ou des conseils à l'écran. * le code de la langue voulue doit être spécifié dans le registre BX (voir Tableau Fig.11).
Tableau Fig.11 : Les codes de langues pour le gestionnaire de la souris. Fonction 23h - Lecture des numéros des langues Entrées : AX = 23h BX = Langue sélectionnée Sortie : Aucune * Cette fonction détermine la langue que le gestionnaire de souris utilise lorsqu'il affiche des messages ou des conseils à l'écran. * Le code de la langue voulue tient sur un octet et est retourné dans le registre BX (voir Tableau Fig.12).
Tableau Fig.12 : Les codes de langues pour le gestionnaire de la souris. Fonction 24h - Obtention d'information concernant la configuration Entrée : AX = 24h Sorties : BX = Version CH = Type de souris CL = Ligne d'interruption * Cette fonction retourne une liste de données de configuration concernant la souris connectée. * Le numéro de version du gestionnaire de souris est représenté par un code que contient le registre BX au retour de la fonction : BH contient le numéro de version principal et BL le numéro de version secondaire. * Le registre CH vous permet de savoir quel est le type de la souris connectée, le Tableau Fig.13 présente les valeurs possibles et les types correspondants.
Tableau Fig.13 : Les codes des types de souris. |
Informations sur l'auteur: E-mail: altar@neuronnexion.fr |