SlideShare a Scribd company logo
1 of 34
Download to read offline
REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET POPULAIRE
MINISTERE D’ENSEIGNEMENT SUPERIEUR
ET DE RECHERCHE SCIENTIFIQUE
Faculté des Sciences et de l’Ingénierie
Institue de Génie Informatique
Module de L’Architecture des Ordinateurs
Année universitaire 2005 - 2006
Réalisé par :
 BENYAMMI BACHIR
Encadré par :
MR.LAGRAA
Sommaire Le périphérique Souris
1
I. Introduction ……………………………………………………………………………………………...………………... 02
II. Définition ……………………………………………………………………………………………...…………….…….... 03
1. Les boutons de la souris …………………...……………………………………………………..…….. 03
 La molette ……………………………………………………………………….…………..………… 04
 Nombre de boutons …………………………………………………………………………….. 04
2. Fonctionnement de souris ……………………………………………………………………………… 04
3. Le pilote de la souris MOUSE.COM
……………………………………………………………..
05
III. Technologie des souris ………………………………………………………………………………………....... 06
1. Types de Souris …………………………………………………………………………………………. 06
1.1. Mécanique ……………………………………………………………………….……………… 06
1.2. Optomecanique ………………………………………………………...…………………… 06
1.3. Optique ……………………………………………………………………...……………………. 06
2. Types de liaison …………….…………….…………….…………….…………….………………...... 07
2.1. Liaison par câble …………….…………….…………….…………………………………. 07
2.2. Liaison infrarouge …………….…………….…………….……………………………….. 08
2.3. Liaison radio …………….…………….…………….……………………….…….……..…… 08
3. Types de connexion …………….…………….…………….…………….…………….………........ 09
3.1. connexion série …………….…………….…………….……….…………….…………...... 09
3.2. connexion PS/2 …………….…………….…………….…………….……………………… 09
3.3. Connexion USB …………….…………….…………….…………….…….…………........ 09
3.4. Ports de la carte mère …………….…………….…………….………………………... 10
IV. Programmation de la souris …………….…………….…………….…………….…………….…………….. 11
1. Classification des fonctions …………….…………….…………….…………….……...……... 11
1.1. Driver de la souris …………….…………….…………….…………….……….……...…. 11
1.2. Position du curseur ….……...….….……...….….……...….….……...….…………...…. 12
1.3. Zones du curseur ….……...….….……...….….……...….….……....…...….….……...…. 13
1.4. Visibilité du curseur ….……...….….……...….….……...….…...……...….….……...…. 14
1.5. Sensibilité de la souris ….……...….….……...….….……...….….…..….….……...…. 15
1.6. Etat de la souris ….……...….….……...….….……...….….….….……...….….……....…. 16
2. Organisation des fichiers …………….…………….…………….…………….………..……….. 17
2.1. Les librairies du TP7 ….……...….….……...….….……...….….……..….….……...…. 17
2.1.1. L’unité DOS ….……...….….……...….….……...….….…….....….……...…. 17
2.1.2. L’unité CRT ….……...….….……...….….……...….….……...….….……...…. 17
2.1.3. L’unité graphique ….……...….….……...….….…….........….….……...…. 17
2.1.4. Le driver de la carte graphique ….……...….….....….….……...…. 18
2.2. Les fichiers du programme ….……...….….……...….….……...….….………...…. 18
2.2.1. L’interface souris ….……...….….……...….….……...….….….……...…. 18
2.2.2. L’unité d’affichage ….……...….….……...….….……...….…...……...…. 19
2.2.3. L’unité d’initialisation ….……...….….……...….….……...…..…..…...…. 20
2.2.4. La définition des curseurs graphiques ….……...….….…….... 20
2.2.5. Le programme principal ….……...….….……...….….……...….….….. 20
3. Manuel de référence …………….…………….…………….…………….…………….…….……. 21
V. Conclusion …………….…………….…………….…………….…………….…………….…………….………….…... 30
Glossaire …………….…………….…………….…………….…………….…………….…………….…………….……… 31
Bibliographie …………….…………….…………….…………….…………….…………….…………….……………… 32
Sommaire
Introduction Le périphérique Souris
2
L’importance des systèmes informatiques dans les divers secteurs d’activité amène
des utilisateurs de plus en plus nombreux et de plus en plus profanes à utiliser ces
systèmes.
De nos jours, c’est une vaste partie de la population active qui utilise l’ordinateur
comme outil de travail, sans avoir de connaissances particulières sur l’architecteur de
l’ordinateur et sur sa programmation.
Bon nombre de ces personnes détestent la frappe des commandes système au
clavier, ils préfèrent les systèmes qui affichant des menus à l’écran et avec lesquels ils
pouvant communiquer directement en pointant vers les commandes des menus. Le
moyen le plus utilisé aujourd’hui pour se faire est un dispositif appelé souris.
La souris a été inventée en 1963 par Douglas Engelbart du Stanford Research
Center après des tests d'utilisation, basés sur le TrackBall. Elle a été améliorée par Jean-
Daniel Nicoud à l'EPFL dès 1979 grâce à l'assemblage d'une boule et de capteurs ; il a
fabriqué la souris Depraz qui a été à l'origine de l'entreprise Logitech.
La souris est rendue populaire avec le Macintosh. En 1984, La firme Apple fait sortir
le système d’exploitation MacOS qui été équipé d’une interface graphique plus convivial.
Les premières souris étaient en fait de simples trackballs inversées, où l'utilisateur
déplaçait l'appareil.
I. Introduction
Définition Le périphérique Souris
3
La souris doit son nom à sa forme : c'est une petite boîte qui se meut sur la table et
reliée par sa queue à l'ordinateur.
Une souris se compose d’une boîte à fond plat conçue pour être prise d’une seule
main, d’un ou de plusieurs boutons sur la partie supérieure de cette boîte, d’un capteur
directionnel (en général une bille) sur la partie inférieure, et une liaison avec l’ordinateur
(généralement un câble).
Figure 2-1 : Souris reliée à l’ordinateur
1. Boutons de la souris
Une souris comprend un, deux ou trois boutons, voir plus, sur sa face supérieure
pour permettre à l’utilisateur de sélectionner et d’activer les éléments des menus et
d’autres éléments textuels ou graphiques. L'appui sur les boutons de la souris provoque
différents effets, en fonction des programmes utilisés.
Les souris standard pour PC ont aujourd'hui une molette en plus de leurs deux
boutons (gauche et droite). C'est, en général, le bouton de gauche qui est le plus utilisé.
Le bouton droite commandant des fonctions supplémentaire (Ex: affichage d’un menu). Le
bouton central, quand il existe, n'est pratiquement jamais utilisé.
Lorsque l'on presse le bouton de la souris, on dit que l'on "clique". Si le bouton est
pressé une fois, on parle d'un "simple clic" ou d'un "clic" de la souris. Si le bouton est
pressé deux fois très rapidement, on parle d'un "double clic". Une autre action est
supportée par la souris, c’est le clic prolongé "cliquer-glisser " permet de déplacer des
objets sur l’écran.
Le cliquer-glisser consiste à:
1. Cliquer avec le bouton gauche de la souris;
2. Déplacer la souris ;
3. Lâcher le bouton gauche de la souris.
II. Définition
Définition Le périphérique Souris
4
Figure 2-1-1 : Boutons de la souris.
 La molette
La molette est un bouton spécial qui peut être tournée ou pressée. Les souris avec
plus de deux boutons (voire deux molettes) remplissent différentes fonctions
supplémentaires assignées à chacun par les applications, le pilote ou le système
d'exploitation. La molette est souvent utilisée pour faire défiler rapidement du texte à
l'écran. Mais d'autres fonctions peuvent lui être attribuées (zoom, ...).
 Nombre de boutons
La firme Apple continue de produire des ordinateurs avec des souris ne comptant
qu'un seul bouton, car leurs études montreraient que les souris à un bouton sont plus
efficaces à l'usage.
De nos jours. Certains utilisateurs préfèrent qu’il en ait qu’un bouton pour éviter de
se tromper. En revanche, d’autre disant que plusieurs boutons apportent une meilleure
efficacité au dialogue.
2. Fonctionnement de la souris
Lorsqu’on déplace la souris sur la table d’un certain mouvement, un curseur se
déplace à l’écran selon le même mouvement. Il est alors possible de positionner le curseur
en un lieu quelconque de l’écran, notamment sur une commande d’un menu.
La souris constitue un dispositif de pointage relatif, car il n’y a pas de limite
physique à son aire d’évolution, et parce que son placement à un endroit particulier ne se
traduit pas par le placement du pointeur à un endroit spécifique de l’écran : la
correspondance s’effectue par mouvement et non par position. Pour sélectionner des
éléments, ou choisir des commandes, il suffit de presser l’un des boutons de la souris.
La souris transmettre des informations de positionnement au contrôleur qui la gère.
Elle transmettre une séquence de trois octets toutes les 100 ms. Généralement, ces octets
sont transmit l’un après l’autre sur une liaison série vers l’UC. Le premier octet indiquant le
nombre de pas de déplacement dans la direction x au cours des cent derniers
millisecondes. Le second octet donne les mêmes informations dans la direction y. enfin la
troisième octet contient l’état courant des bouton.
Définition Le périphérique Souris
5
Un logiciel analyse le déplacement de la souris et convertit les informations reçues
en une position absolue, puis affiche un curseur à l’écran indiquant la position courante de
la souris. Lorsque le curseur se trouve en concordance de position avec un item,
l’utilisateur clique (appuie) sur le bouton ; cela permet au processeur de savoir quel item
est sélectionné et donc de connaître la tache à entreprendre.
3. Le pilote de la souris
La souris comme tout périphérique, nécessite un pilote de commande pour
s’exécutée. Microsoft a équipé sa souris d'une interface logicielle implémentée sous la
forme du driver de périphérique MOUSE.SYS ou du programme MOUSE.COM. Cette
interface est devenue par la suite un standard adopté par tous les constructeurs de souris
afin de garantir une compatibilité totale avec la souris Microsoft. Pour chargé le pilote sous
DOS en tapant dans le ligne de commandes : > MOUSE.
Il devient alors résident du DOS et redirige vers l’adresse qu’il occupe en mémoire
le vecteur d’adresse de l’interruption 33H, à l’aide ce de cette interruption que l’on va
pouvoir accéder au pilote de la souris.
La désinstallation du pilote est réalisée par la commande : > MOUSE OFF et la
mémoire qu’occupait le pilote est alors de nouveau disponible. En générale on désinstalle
le pilote pour pouvoir en recharger un autre de version plus récente.
Il existe plusieurs modes d’écran sur le marché, un mode d’écran est nécessaire
pour gérer le pilote de la souris. Si la version du pilote de souris est 6.10 ou plus, elle doit
fonctionne correctement sur la plupart des modes (Hercules, CGA, EGA, VGA, …).
Technologie des Souris Le périphérique Souris
6
1. Types de Souris
Il existe sur le marché trois types de souris utilisant des technologies différentes.
1.1. Souris mécanique
La souris mécanique (classique) qui fonctionne à l'aide d'une boule. Le
déplacement de cette boule, sur une surface plane, conduit à l’ouverture et au fermenteur
de contacts électrique. Ceci traduit par l’envoi d’impulsions électroniques au système qui
les décode et déplace une petite flèche (le curseur) sur l’écran d’une position à une autre.
Le principal inconvénient de la souris mécanique est le dépôt rapide de poussières,
qui s'accumulent sur les rouleaux, modifiant aléatoirement le transfert des mouvements de
la boule aux rouleaux.
Figure III-1-1-1 : Souris mécanique
1.2. Souris optomécanique
La souris optomécanique contient une boule (1) en contact avec le support où elle
est utilisée. Deux rouleaux (2) actionnés par cette boule permettent de capter les
déplacements horizontaux et verticaux de la souris. Un troisième rouleau permet de
maintenir la boule. Les rouleaux comportent un disque cranté laissant passer la lumière
d'une LED (5) ou au contraire la bloquant. Ainsi, grâce à une cellule photoélectrique (3)
recevant cette lumière, on peut calculer la vitesse de déplacement de la souris selon l'axe
x et l'axe y et par conséquent on en déduit la position relative du curseur à l'écran.
Figure III-1-2-1 : Souris optomécanique
III. Technologie des Souris
Technologie des Souris Le périphérique Souris
7
1.3. Souris optique
Le principe de fonctionnement de la souris optique (détection par caméra) est
identique à ce qui concerne la génération des impulsions électronique, qui dans ce cas,
résultent de la réflexion d’ondes lumineuses sur une surface plane.
Figure III-1-3-1 : Souris optique
Le principal avantage de ce type de souris, c'est qu'elle fonctionne sans boule.
Vous évitez donc tous les problèmes d'encrassement !
A cause du succès énorme de cette technologie, plusieurs type on été inventées :
Technologie optique Sun (ancienne)
Utilisation d'un tapis spécial, métallique solide rigide et quadrillé. En envoyant un
rayon de lumière et en captant le retour, la souris arrive à savoir qu'un déplacement a eu
lieu.
Technologie optique LED (actuelle)
Une micro-caméra filme le support et un processeur interprète le défilement des
aspérités comme un mouvement. Cette technologie ne nécessite pas de tapis spécial,
mais il faut quand même éviter les supports réfléchissants (verre, plastique brillant, bois
vernis...) ou trop sombres.
Technologie optique Laser (actuelle)
Inventée par les ingénieurs de Logitech. Ils ont remplacé la LED de la souris
optique par un petit laser, ainsi la source de lumière est plus intense et plus ciblée,
permettant d'obtenir un meilleur cliché de la surface
Technologie optique Infrarouge (actuelle)
Inventée par les ingénieurs de Razer. Une seule et unique souris utilise cette
technologie d'une très grande précision.
Technologie des Souris Le périphérique Souris
8
2. Types de liaison
La souris peut transmettre les données à l'ordinateur à l'aide de trois liaisons.
2.1. La liaison par câble
Ce type de liaison est le plus utilisé. La souris est reliée à l'ordinateur par
l'intermédiaire d'un câble dans lequel transitent les données.
Figure III-2-1-1 : Liaison par câble
2.2. La liaison infrarouge
Ce type de liaison devient de plus en plus fréquent. La souris est équipée d'un petit
émetteur de rayons infrarouges qui envoie les données en direction d'un boîtier de
réception (ce boîtier est reliée par câble à l'ordinateur). L'avantage de ce type de liaison
est que l'on peut utiliser la souris à une distance beaucoup plus importante (environ 2 m)
qu'avec une souris traditionnelle.
Figure III-2-2-1: Liaison infrarouge
2.3. La liaison radio
Le principe de cette liaison est proche de celui de l'infrarouge. Cependant, la nature
des rayons n'est pas la même. En effet, la souris et le boîtier de réception fonctionnent par
ondes radio, ceci permet d'utiliser la souris à une distance encore plus importante que par
la liaison infrarouge (jusqu'à 10 m !).
Technologie des Souris Le périphérique Souris
9
Figure III-2-3-1: Liaison radio
I. Types de connexion
Actuellement, vous pouvez trouver trois types de connexions pour les souris.
1.1. La connexion série
Ce type de connexion se fait de plus en plus rare. La souris est reliée à l’ordinateur
par l’un des ports série (COM1 ou COM2).
L’inconvénient de ce type de connexion est l’occupation de l’un des ports série, et
par fois le conflit avec d’autre matériel tel que le modem (utilisation du même port).
Figure III-3-1-1 : Connecteur Série
1.2. La connexion PS/2
Ce type de connexion est très fréquent pour les souris.
Figure III-3-2-1 : Connecteur PS/2
Technologie des Souris Le périphérique Souris
11
Une souris à bus (PS/2) a plusieurs avantages par rapport à la souris série, elle se
déplace plus régulièrement et avec plus de précision et libère l'un des ports série pour
d'autres périphériques.
L'inconvénient est en revanche qu'elle nécessite son propre IRQ (le plus souvent
l'IRQ 12).
3.3 La connexion USB
La connexion USB (Universal Serial Bus) permet de raccorder des périphériques
(lecteur CD ou DVD-ROM, imprimante, etc.), alors que l'ordinateur est sous tension. Le
système installe automatiquement les pilotes nécessaires. Autrement dit, vous n'êtes (en
principe) pas obligé de redémarrer votre ordinateur pour que votre périphérique soit
reconnu. On appelle cela, le branchement à chaud. La souris est reliée à l'ordinateur par
l'intermédiaire d'un câble, qui porte le nom de câble USB.
Figure III-3-3-1: Connecteur USB
1.3. Ports de la carte mère
Quelle que soit sa technologie, la souris avec fil est liée à l’ordinateur par l’un des
ports d’entrée-sortie suivants :
 Port PS/2 (2)
 Port Série (DB9) (RS-232) (3)
 Port USB (1)
Figure III-3-3-1: Ports de la carte mère
Programmation de la Souris Le périphérique Souris
11
Les diverses fonctions de l'interface de souris sont appelées par l'intermédiaire de
l'interruption 33h où une valeur 16 bits tient lieu de numéro de fonction. Celle-ci doit être
transmise dans le registre AX.
La version 8.0 du driver de souris reconnaît en tout 53 fonctions variées avec des
numéros allant de 0000h à 00034h. La plupart des fonctions de souris travaillent avec les
registres AX, BX, CX et DX pour traiter les informations provenant du programme d'appel
et lui retourner les résultats nécessaires dans ces mêmes registres. Les registres ES, SI et
DS ne s'avèrent utiles que dans des cas exceptionnels, notamment lorsqu'il s'agit de
transmettre l'adresse des buffers.
En règle générale, l'appel d'une fonction a pour conséquence de changer le
contenu du registre adressé pour retourner les résultats de la fonction. Le contenu des
autres registres reste inchangé. Dans la plupart des fonctions, le registre AX sert
cependant à retourner l'état de la fonction qui indique un échec de l'opération en cas
d'erreur.
1. Classification des fonctions
1.1. Driver de la souris
Il existe 04 fonctions qui nous permettent de contrôler le pilote de la souris :
Fonction 00h Réinitialisation du driver de souris
(TesterDriver)
C’est la 1ere fonction qui doit être appelée, elle permet de tester l’existence du pilote.
Si la fonction est réussie, elle fixe des paramètres par défaut tel que l’invisibilité du
curseur, ça positionnement, les vitesses, les limites horizontales et verticales, et le nombre
des boutons disponible …
with Driver do
with reg do
begin
ax := 0;
intr ($33, reg);
Souris.NbrBtns := bl;
DrvExiste := (ax <> 0);
end ;
Fonction 24h Lire le type de souris
(TesterDriver)
Fournit le type de souris ainsi que son numéro de version, et la broche IRQ du PIC
d’ou la souris est branchée.
IV. Programmation de la Souris
Programmation de la Souris Le périphérique Souris
12
with Driver do
with reg do
begin
ax := $24;
intr($33, reg);
str(bl, VerL);
str(bh, VerH);
Version := VerH + '.' + VerL;
Irq := cl;
case ch of
1: TypeDrv :='Souris Bus';
2: TypeDrv :='Souris Série';
3: TypeDrv :='Souris InPort';
4: TypeDrv :='Souris PS/2';
5: TypeDrv :='Souris HP';
end;
end;
Fonction 1Fh Désactiver le driver de la souris
(DesactiverDriver)
Désactive le driver actuel de la souris et empêche ça déplacement sur l’écran
reg.ax := $1f;
intr($33, reg);
Fonction 20h Activer le driver de la souris
(ActiverDriver)
Active un driver de souris désactivée auparavant avec la fonction 1Fh.
reg.ax := $20;
intr($33, reg);
1.2. Position du curseur
Il existe 03 fonctions qui nous permettent de connaître et de définir l’emplacement
du curseur.
Fonction 03h Lire la position de la souris et l'état des boutons de la souris
(LirePosCurseur)
L'appel de cette fonction fournit la position actuelle de la souris et l'état des
différents boutons de la souris.
with Souris do
with Curseur do
with reg do
begin
ax := $3;
Programmation de la Souris Le périphérique Souris
13
intr($33, reg);
EtatBtn1 := bl and 1;
EtatBtn2 := bl and 2;
x := cx;
y := dx;
end;
Fonction 04h Déplacement du curseur de la souris
(DefinirPosCurseur)
Déplace le curseur de la souris vers une position déterminée de l'écran.
with Curseur do
with reg do
begin
ax := $04;
cx := x;
dx := y;
end;
intr($33, reg);
Fonction 0Bh Lire les distances de déplacement
(LireDistance)
Détermine la distance entre la position actuelle de la souris et la position de la
souris lors du dernier appel de cette fonction.
with reg do
with Curseur do
begin
ax := $0b;
intr($33, reg);
DistanceX := cx;
DistanceY := dx;
end;
1.3. Zones du curseur
03 fonctions existes pour définir les différentes zones du curseur de la souris
Fonction 07h Définir la zone de déplacement horizontale
(DefinirZoneDeplacement)
Définit la zone de déplacement à l'intérieur de laquelle le curseur peut se déplacer.
L'utilisateur n'aura aucune possibilité de faire sortir le curseur de la souris de la zone ainsi
fixée ; à l’initiation de la souris ; la zone de déplacement est la totalité de l’écran
with ZoneDeplacement do
with reg do
begin
ax := $07;
Programmation de la Souris Le périphérique Souris
14
cx := MinX;
dx := MaxX;
intr($33, reg);
end ;
Fonction 08h Définir la zone de déplacement verticale (DefinirZoneDeplacement)
with ZoneDeplacement do
with reg do
begin
ax := $08;
cx := MinY;
dx := MaxY;
intr($33, reg);
end;
Fonction 10h Définir la zone d'exclusion
(DefinirZoneExclusion)
Cette fonction permet à un programme de définir une zone quelconque de l'écran
comme zone d'exclusion (une sorte de trou noir), qui aura pour effet de faire disparaître le
curseur de la souris de l'écran dès qu'il pénétrera dans cette zone ; un appel à la fonction
affichage du curseur est nécessaire pour le réapparaître.
with ZoneExclusion do
with reg do
begin
ax := $10;
cx := MinX;
dx := MinY;
si := MaxX;
di := MaxY;
end;
intr($33, reg);
1.4. Visibilité du curseur
Contrôle la visibilité du curseur et modifié ça motif
Fonction 01h Afficher le curseur de la souris sur l'écran
(AfficherCurseur)
reg. ax := 1;
intr($33, reg);
Fonction 02h Masquer le curseur de la souris
(CacherCurseur)
reg. ax := 2;
intr($33, reg);
Programmation de la Souris Le périphérique Souris
15
Fonction 09h Définit le curseur de la souris en mode graphique
(DessinerCurseurGraph)
En mode graphique, un tableau de bits définit l'apparence du curseur de la souris,
en fixant de quelle manière les points sous le curseur de la souris et les points du curseur
de la souris doivent être combinés. Cette fonction sert à définir ce tableau de bits, et donc
l'apparence du curseur de la souris.
with Curseur do
with reg do
begin
ax := $09;
bx := 0;
cx := 0;
es := seg(TypeCurseur);
dx := ofs(TypeCurseur);
end;
intr($33, reg);
Fonction 0Ah Définit le curseur en mode de texte
(DessinerCurseurTexte)
Fixe le motif de bits définissant l'apparence du curseur en mode de texte.
with reg do
with Curseur do
begin
ax := $0a;
bx := TypeCurseur;
cx := Operand1;
dx := Operand2;
end;
intr($33, reg);
1.5. Sensibilité de la souris
Définir et lire la sensibilité de la souris
Fonction 1Ah Définir la sensibilité de la souris
(DefinirSensibiliteSouris)
Cette fonction permet respectivement de fixer le rapport entre déplacement de la
souris et déplacement du curseur de la souris, d'une part, et de fixer le seuil de
doublement de la vitesse de la souris, d'autre part.
with Curseur do
with reg do
begin
ax := $1a;
bh := 0;
bl := Sensibilite;
Programmation de la Souris Le périphérique Souris
16
ch := 0;
cl := Sensibilite;
dx := Seuil;
end;
intr($33, reg);
Fonction 1Bh Lire la sensibilité de la souris (LireSensibiliteSouris)
Renvoie les paramètres qui ont été fixés à travers la fonction 1Ah ou à travers les
fonctions 0Fh et 13h.
with Curseur do
with reg do
begin
ax := $1b;
intr($33, reg);
{Sensibilite := bx;}
Sensibilite := cx;
Seuil := dx;
end;
1.6. Etat de la souris
Manipuler l’état de la souris
Fonction 15h Lire la taille du buffer d'état de la souris
(LireTailleBuffer)
Cette fonction fournit la taille du buffer d'état de la souris dans lequel un programme
peut sauvegarder l'état complet du driver de la souris.
with reg do
begin
ax := $15;
intr($33, reg);
TailleBuffer := bx;
end;
Fonction 16h Sauvegarder état de la souris
(SauverEtatSouris)
Lorsque cette fonction est appelée, le driver de la souris copie toutes les
informations d'état gérées dans un buffer du programme d'appel.
with reg do
begin
ax := $16;
bx := TailleBuffer;
es := seg(BufferEtatSouris);
dx := ofs(BufferEtatSouris);
end;
intr($33, reg);
Programmation de la Souris Le périphérique Souris
17
Fonction 17h Restaurer l'état de la souris
(RestaurerEtatSouris)
Lit tous les paramètres de la souris dans un buffer dans lequel ils avaient été
sauvegardés auparavant avec la fonction 16h.
with reg do
begin
ax := $17;
bx := TailleBuffer;
es := seg(BufferEtatSouris);
dx := ofs(BufferEtatSouris);
end;
intr($33, reg);
Programmation de la Souris Le périphérique Souris
18
2. Organisation des fichiers
Le programme est composé de 05 fichiers écrits en langage pascal (04 unités et le
programme principal), 04 librairies fournit avec Turbo Pascal sont utilisées,
2.1. Les librairies du TP7
Ces librairies sont intégrées au TP7, elle nous aide à réaliser le programme.
Librairie Nom du fichier
La librairie DOS
La librairie CRT
La librairie graphique GRAPH.TPU
Le driver de la carte graphique EGAVGA.BGI
2.1.1. L’unité Dos : c’est une librairie fournit avec Turbo Pascal 7 qui nous permet
d’utilisé la variable reg de type REGISTERS.
2.1.2. L’unité CRT : l’unité ou est définit les fonctions (ClrScr, KeyPressed, ReadKey).
2.1.3. L’unité graphique : c’est une librairie fournit avec Turbo Pascal 7 qui regroupe
plus de 50 fonctions et procédures graphique, ces fonctions sert à dessiner des
schémas graphique tel que la ligne, le rectangle, l’arc, le cercle. Et d’autre comme
l’affichage des messages et des images, …
Procedure OutText(TextString: string);
Afficher un texte à l’écran à la position du pointeur.
Procedure OutTextXY(X, Y : integer ; TextString: string);
Afficher un texte à l’écran à la position x et y.
Procedure MoveTo(X,Y : integer);
Positionner le pointeur à la position x,y.
Function GetMaxX, GetMaxY :integer ;
Retient la résolution de l’écran
Function GetColor : Word ;
Retient la couleur courante.
Procedure SetColor(Color : Word);
Changer la couleur courante.
Procedure Rectangle(x1, x2, y1, y2 : Integer);
Dessiner un rectangle en utilisant le même style et couleur du linge courant.
Procedure Bar(x1, x2, y1, y2 : Integer);
Dessiner une case en utilisant le même style et couleur du remplissage en cours.
Procedure Bar3D(x1, x2, y1, y2 : Integer; Depth: word; Top:
Boolean);
Programmation de la Souris Le périphérique Souris
19
Dessiner une case en utilisant le même style et couleur du remplissage en cours.
Procedure SetFillStyle(Pattern: Word; Color: Word);
Changer le remplissage et la couleur du motif.
Procedure InitGraph(GraphDriver : Integer ; GraphMode :
Integer; PathToDrive : string);
Initialise le mode graphique
2.1.4. Le driver de la carte graphique : c’est le driver de la carte graphique de type
VGA fournit avec Turbo Pascal 7 qui porte le nom ‘EGAVGA.BGI’. Le fichier est
chargé dans la mémoire à l’aide de la fonction InitGraph.
2.2. Les fichiers du programme
Unité Nom du fichier
L’interface souris USOURIS.PAS
L’unité d’affichage AFFICHE.PAS
L’unité d’initialisation INITIAL.PAS
Les motifs des curseurs graphiques CURSEURS.PAS
Le programme principal TEST.PAS
2.2.1. L’interface souris : cette interface qui contient tous les procédures et les
fonctions qui sert à manipuler la souris tel que l’initialisation, lecture du position du
curseur et la définition des différents zones.
a. Logiciel, Materiel : Constants Pour choisir entre le curseur logiciel et matériel.
b. Variables
 Driver : Contient tous les informations du driver (version, IRQ, type, …).
 Souris : Contient les informations du la souris (Nombre et Etats des boutons).
 Curseur : Contient les informations du curseur (Position, Distance, Type, …).
 ZoneExclusion : La zone d'exclusion du curseur.
 ZoneDeplacement : La zone de déplacement du curseur.
 ZoneExit : Quitter le programme lorsque l’utilisateur pointe le curseur sur elle.
 Reg : Les registres du travail.
 BufferEtatSouris : Le buffer d'état de la souris.
 TailleBuffer : La taille du buffer d'état de la souris.
c. Procédures
procedure TesterDriver;
Initialiser la souris.
procedure ActiverDriver;
Activer la souris.
procedure DesactiverDriver;
Désactiver la souris.
procedure LirePosCurseur;
Lire la position du curseur.
Programmation de la Souris Le périphérique Souris
21
procedure DefinirPosCurseur;
Changer la position du curseur.
procedure LireDistance;
Lire la distance entre les deux dernières positions du curseur.
procedure DefinirZoneDeplacement;
Fixer la zone de déplacement du curseur.
procedure DefinirZoneExclusion;
Fixer la zone d’exclusion du curseur.
procedure AfficherCurseur;
Afficher le curseur sur l’écran.
procedure CacherCurseur;
Cacher le curseur.
procedure DessinerCurseurGraph;
Changer la forme du curseur graphique.
procedure DessinerCurseurTexte;
Changer le type de curseur texte.
procedure LireSensibiliteSouris;
Lire la sensibilité de la souris.
procedure DefinirSensibiliteSouris;
Fixer la sensibilité de la souris.
function LireTailleBuffer: word;
Lire la taille du buffer de la souris.
procedure SauverEtatSouris;
Enregistrer le buffer de la souris.
procedure RestaurerEtatSouris;
Restaurer le buffer de la souris.
2.2.2 L’unité d’affichage : Toutes les fonctions concernant l’affichage est définies dans
cette unité tel que l’affichage du cadre et du texte et des nombres.
procedure OutTxtXY(x, y, TxtColor, BgColor: integer; chaine:
string);
Afficher un texte à l’écran avec des couleurs de texte et d’arrière-plan définies.
procedure OutIntXY(x, y, TxtColor, BgColor, valeur: integer);
Afficher un entier à l’écran avec des couleurs de texte et d’arrière-plan définies.
procedure OutColorText(Chaine: string; pos, long: integer);
Afficher un texte à l’écran avec quelques lettres colorées.
Programmation de la Souris Le périphérique Souris
21
procedure AfficherInfosSouris;
Afficher les infos de la souris (Position, Distance, Sensibilité, Seuil, …).
procedure AfficherAide;
Afficher l’aide en bas d’écran.
procedure DessinerRect(x1, y1, x2, y2, Color: word);
Dessiner un rectangle avec une couleur définie.
procedure DessinerSouris;
Dessiner la souris et ses boutons.
procedure DessinerZone;
Dessiner les déférentes zones (Déplacement, Exclusion, …).
procedure Actualisation;
Actualiser les données à l’écran.
procedure Finalisation;
Réinitialisation pour quitter le programme.
2.2.3. L’unité d’initialisation
procedure InitialCurseurPos;
Mettez le curseur au centre d’écran.
function InitialDriver: boolean;
Lancer le teste du driver et fournit les informations de la souris.
function InitialGraph: boolean;
Initialise la carte graphique.
procedure Initialisation;
Fixer la zone de déplacement, d’exclusion, d’exit.
2.2.4. La définition des curseurs graphiques
2.2.5. Le programme principal
 Echap : constant (code ASCII de la touche échap) pour quitter le programme.
 Key : variable pour récupérer le code ASCII de la touche appuyé la l’utilisateur.
a. Procedures
function TesterExitCurseur: boolean;
voir a ce que le curseur est dans la zone d’exit ?
procedure TesterExclusionCurseur;
voir a ce que le curseur est dans la zone d’exclusion ?
procedure Principal ;
Programmation de la Souris Le périphérique Souris
22
3. Manuel de référence
Voici la liste des fonctions supportées par le pilote de la souris
Fonction 00h Réinitialisation du driver de souris
Fonction 01h Afficher le curseur de la souris sur l'écran
Fonction 02h Masquer le curseur de la souris
Fonction 03h Lire la position de la souris et l'état des boutons de la souris
Fonction 04h Déplacement du curseur de la souris
Fonction 05h Lire combien de fois un bouton de la souris a été enfoncé
Fonction 06h Combien de fois un bouton de la souris a-t-il été relâché ?
Fonction 07h Définir la zone de déplacement horizontale pour le curseur de la
souris
Fonction 08h Définir la zone de déplacement verticale pour le curseur de la souris
Fonction 09h Définit le curseur de la souris en mode graphique
Fonction 0Ah Définit le curseur de la souris en mode de texte
Fonction 0Bh Lire les distances de déplacement
Fonction 0Ch Installer le gestionnaire d'événements
Fonction 0Dh Activer l'émulation du crayon optique
Fonction 0Eh Désactiver l'émulation du crayon optique
Fonction 0Fh Définir le rapport entre les mickeys et les points
Fonction 10h Définir la zone d'exclusion
Fonction 11h Non documentée
Fonction 12h Non documentée
Fonction 13h Définir le seuil pour le doublement de la vitesse de la souris
Fonction 14h Echange des gestionnaires d'événements
Fonction 15h Lire la taille du buffer d'état de la souris
Fonction 16h Sauvegarder état de la souris
Fonction 17h Restaurer l'état de la souris
Fonction 18h Installer un gestionnaire d'événements alternatif
Fonction 19h Lire l'adresse d'un gestionnaire d'événements alternatif
Fonction 1Ah Définir la sensibilité de la souris
Fonction 1Bh Lire la sensibilité de la souris
Fonction 1Ch Définir la fréquence d'Int de l'électronique de la souris
Fonction 1Dh Définir une page écran pour le curseur de la souris
Fonction 1Eh Lire page écran du curseur de la souris
Fonction 1Fh Désactiver le driver de la souris
Fonction 20h Activer le driver de la souri
Fonction 21h Réinitialiser le driver de la souris
Fonction 22h Définir la langue étrangère pour les messages
Fonction 23h Vérifier l'existence d'une langue étrangère pour les messages
Fonction 24h Lire le type de souris
Fonction 25h Lire des informations générales
Programmation de la Souris Le périphérique Souris
23
Fonction 26h Lire l'extension de l'écran de souris virtuel
Fonction 27h Lire les masques de bits du curseur d'écran
Fonction 28h Définir le mode vidéo
Fonction 29h Lire la liste des modes vidéo disponibles
Fonction 2Ah Obtenir des informations sur le curseur de la souris
Fonction 2Bh Lire les courbes d'accélération
Fonction 2Ch Lire la courbe d'accélération en cours
Fonction 2Dh Définir/Lire la courbe d'accélération en cours
Fonction 2Eh Non documentée
Fonction 2Fh Réinitialisation de l'électronique de la souris
Fonction 30h Définir/Obtenir les paramètres de la souris Ball Point
Fonction 31h Lire l'étirement de l'écran virtuel
Fonction 32h Lire les fonctions disponibles
Fonction 33h Définir les paramètres
Fonction 34h Lire l'état du fichier MOUSE.INI
Dans le cadre de ce mini projet, on a utilisée 19 fonctions permit les 53, voici la
description de ces fonctions avec la signification de leurs arguments (paramètres) d’entrés
et de sorties.
Int 33h, Fct 00h Réinitialisation du driver de souris
Initialise le driver de souris et enclenche ainsi le test de la souris.
Entrée : AX = 0000h
Sortie :
AX = FFFFh : dans ce cas, un driver de souris est installé
BX = Nombre de boutons de la Souris (à partir de 1.0)
AX = 0000h : erreur, aucun driver de souris n'est installé
Remarques :
 L'appel de cette fonction agit sur toute une série de paramètres de la souris qui
peuvent être fixés à l'aide des différentes fonctions de la souris
 Le curseur de la souris est placé au centre de l'écran puis caché. Il apparaîtra
désormais en mode graphique sous forme d'une flèche, alors qu'il sera représenté en
mode de texte sous forme d'une case de texte en inversion vidéo. Le curseur de la
souris est systématiquement affiché dans la page 0 de l'écran, indépendamment du
mode. La zone de déplacement sélectionnée est la totalité de l'écran.
 Les gestionnaires d'événements installés par un programme. Ils sont désactivés.
 L'émulation du crayon optique est également désactivée.
 La vitesse de la souris. Pour la vitesse horizontale de la souris, un rapport de 8
mickeys pour 8 points est défini. Pour la vitesse verticale, ce rapport est de 16 pour 8
 Le seuil de doublement de la vitesse de la souris. Il est fixé à 64 mickeys par seconde.
Int 33h, Fct 01h Afficher le curseur de la souris sur l'écran
Après appel de cette fonction, le curseur de la souris devient visible sur l'écran et
suit désormais les déplacements de la souris sur l'écran.
Programmation de la Souris Le périphérique Souris
24
Entrée : AX = 0001h
Sortie : Aucune
Remarques :
 L'appel de cette fonction entraîne l'incrémentation d'un compteur interne, en fonction
duquel le curseur de la souris est ou non afficher sur l'écran. Si ce compteur contient la
valeur 0, le curseur de la souris sera affiché sur l'écran, alors que la valeur -1 a pour
effet de le faire disparaître de l'écran. Lorsque la fonction 00h (Reset) est appelée, ce
compteur est tout d'abord fixé sur -1, pour prendre ensuite la valeur 0 lors du premier
appel de cette fonction, ce qui se traduit par la réapparition du curseur sur l'écran.
 Le driver de la souris suit les déplacements de la souris même si le curseur de la
souris n'est pas affiché sur l'écran. A la suite de l'appel de cette fonction, le curseur de
la souris ne réapparaîtra donc pas nécessairement au même endroit que là où il se
trouvait lorsqu'il avait été caché.
Int 33h, Fct 02h Masquer le curseur de la souris
Cette fonction élimine le curseur de la souris de l'écran.
Entrée : AX = 0002h
Sortie : Aucune
Remarques :
 L'appel de cette fonction entraîne la décrémentation d'un compteur interne, en fonction
duquel le curseur de la souris est ou non afficher sur l'écran. Si ce compteur contient la
valeur 0, le curseur de la souris sera affiché sur l'écran, alors que la valeur -1 a pour
effet de le faire disparaître de l'écran.
 Le driver de la souris suit les déplacements de la souris même après appel de cette
fonction. A la suite de l'appel de la fonction 01h (Afficher le curseur de la souris), le
curseur de la souris ne réapparaîtra donc pas nécessairement au même endroit que là
où il se trouvait lorsqu'il avait été caché.
Int 33h, Fct 03h Lire la position de la souris et l'état des boutons de la souris
L'appel de cette fonction fournit la position actuelle de la souris et l'état des
différents boutons de la souris.
Entrée : AX = 0003h
Sortie :
BX = Etat des boutons de la Souris
Bit Signification
0 1 = bouton gauche de la souris appuyé
1 1 = bouton droit de la souris appuyé
2 1 = bouton central de la souris appuyé
Autre Aucune
CX = Position horizontale de la Souris
DX = Position verticale de la souris
Remarques :
Programmation de la Souris Le périphérique Souris
25
 Les ordonnées renvoyées dans les registres CX et DX ne se rapportent pas à l'écran
physique mais aux positions en points écran dans l'écran virtuel de la souris.
 Si la souris ne possède que deux boutons, les informations fournies sur le bouton
central sont dépourvues de signification.
Int 33h, Fct 04h Déplacement du curseur de la souris
Déplace le curseur de la souris vers une position déterminée de l'écran, à moins
qu'il n'ait été caché avec la fonction 02h.
Entrée :
AX = 0004h
CX = Position horizontale de la Souris
DX = Position verticale de la souris
Sortie : Aucune
Remarques :
 Les ordonnées renvoyées dans les registres CX et DX ne se rapportent pas à l'écran
physique mais aux positions en points écran dans l'écran virtuel de la souris.
 Si la position spécifiée se situe en dehors de la zone de déplacement fixée avec les
fonctions 07h et 08h, les coordonnées sont adaptées pour que le curseur de la souris ne
sorte pas de cette zone.
 Le curseur de la souris est bien déplacé vers la nouvelle position même s'il est caché,
mais ce déplacement n'apparaîtra naturellement que lorsque le curseur sera à nouveau
incrusté.
Int 33h, Fct 05h (06h) Lire combien de fois un bouton de la souris a été enfoncé (relaché)
Indique au programme d'appel combien de fois un bouton de la souris a été appuyé
(relâché) depuis le dernier appel de cette fonction et où le curseur de la souris se trouvait
la dernière fois que ce bouton avait été actionné.
Entrée :
AX = 0005h
BX = Bouton de la souris appelé :
0 = bouton gauche de la Souris
1 = bouton droit de la Souris
2 = bouton central de la souris
Sortie :
AX = Etat de tous les boutons de la souris
Bit Signification
0 1 = bouton gauche de la souris appuyé (relaché)
1 1 = bouton droit de la souris appuyé (relaché)
2 1 = bouton central de la souris appuyé (relaché)
Autre Aucune
BX = Nombre de fois que le bouton de la souris appelé a été actionné
CX = Position horizontale de la souris la dernière fois que le bouton a été actionné
DX = Position verticale de la souris la dernière fois que le bouton a été actionné
Remarques :
Programmation de la Souris Le périphérique Souris
26
 Les ordonnées transmises dans les registres CX et DX ne se rapportent pas à l'écran
physique mais aux positions en points écran dans l'écran virtuel de la souris.
 Le compteur du nombre de fois que le bouton de la souris appelé a été appuyé est à
nouveau fixé sur 0 lorsque cette fonction est appelée.
Int 33h, Fct 07h (08h) Définir la zone de déplacement horizontale (verticale) pour le curseur de la
souris
Définit la zone horizontale (verticale) à l'intérieur de laquelle le curseur de la souris
peut se déplacer. L'utilisateur n'aura aucune possibilité de faire sortir le curseur de la
souris de la zone ainsi fixée.
Entrée :
AX = 0007h (0008h)
CX = position horizontale (verticale) minimale de la souris
DX = position horizontale (verticale) maximale de la souris
Sortie : Aucune
Remarques :
 Les ordonnées transmises dans les registres CX et DX ne se rapportent pas à l'écran
physique mais aux positions en points écran dans l'écran virtuel de la souris.
 Si le curseur de la souris se trouve en dehors de la zone spécifiée, il y est
automatiquement ramené par le driver de la souris.
 Si la valeur spécifiée dans le registre DX est inférieure à celle dans CX, les deux
paramètres sont échangés.
Int 33h, Fct 09h Définit le curseur de la souris en mode graphique
En mode graphique, un tableau de bits définit l'apparence du curseur de la souris,
en fixant de quelle manière les points sous le curseur de la souris et les points du curseur
de la souris doivent être combinés. Cette fonction sert à définir ce tableau de bits, et donc
l'apparence du curseur de la souris.
Entrée :
AX = 0009h
BX = Distance du point de référence au bord gauche du tableau de bits
CX = Distance du point de référence au bord supérieur du tableau de bits
ES:DX = Adresses de segment et d'offset du tableau de bits dans la mémoire
Sortie : Aucune
Remarques :
Le tableau de bits comporte 64 octets, dont les 32 premiers définissent une combinaison
ET et les 32 autres une combinaison OU avec le motif de points actuel.
Int 33h, Fct 0Ah Définit le curseur de la souris en mode de texte
Fixe le motif de bits définissant l'apparence du curseur de la souris en mode de
texte.
Entrée :
Programmation de la Souris Le périphérique Souris
27
AX = 000Ah
BX = Type de curseur de la Souris
0 = curseur logiciel
1 = curseur électronique
CX = Masque AND pour le curseur logiciel ou la ligne de départ du curseur
électronique
DX = Masque XOR pour le curseur logiciel ou la ligne finale du curseur
électronique
Sortie : Aucune
Remarques :
 Si le curseur logiciel est sélectionné, le code du caractère sous le curseur de la souris
et l'octet d'attribut correspondant sont tout d'abord combiné par un AND binaire avec le
masque dans le registre CX, avant qu'une combinaison OU EXCLUSIF (XOR) soit
ensuite opérée avec la valeur dans le registre DX. L'octet d'attribut est combiné avec les
octets de plus fort poids des deux valeurs (CH et DH), alors que le code de caractère est
combiné avec les octets de plus faible poids (CL et DL).
 Le curseur électronique est le curseur clignotant de l'écran. Les lignes de départ et de
fin doivent être comprises, en mode monochrome, entre 0 et 13, et en mode couleur,
entre 0 et 7.
Int 33h, Fct 0Bh Lire les distances de déplacement
Détermine la distance entre la position actuelle de la souris et la position de la
souris lors du dernier appel de cette fonction.
Entrée : AX = 000Bh
Sortie :
CX = Distance horizontale
DX = Distance verticale
Remarques :
 Les valeurs doivent être interprétées comme des nombres signés, les valeurs positives
indiquant un déplacement vers le bas ou la droite de l'écran, alors que les valeurs
négatives indiquent un déplacement vers le haut ou la gauche de l'écran.
 Les valeurs ne sont pas fournies en points mais en mickeys.(1 mickey équivaut à 1/200
de pouce).
Int 33h, Fct 10h Définir la zone d'exclusion
Cette fonction permet à un programme de définir une zone quelconque de l'écran
comme zone d'exclusion (une sorte de trou noir), qui aura pour effet de faire disparaître le
curseur de la souris de l'écran dès qu'il pénétrera dans cette zone.
Entrée :
AX = 0010h
CX = Ordonnée X du coin supérieur gauche de la zone d'exclusion
DX = Ordonnée Y du coin supérieur gauche de la zone d'exclusion
SI = Ordonnée X du coin inférieur droit de la zone d'exclusion
DI = Ordonnée Y du coin inférieur droit de la zone d'exclusion
Sortie : Aucune
Programmation de la Souris Le périphérique Souris
28
Remarques :
 Les ordonnées transmises dans les registres CX, DX, SI et DI ne se rapportent pas à
l'écran physique mais aux positions en points écran dans l'écran virtuel de la souris.
 La zone d'exclusion peut être à nouveau annulée en appelant la fonction 00h
(réinitialisation du driver de souris) ou 01h (affichage du curseur de la souris).
Int 33h, Fct 15h Lire la taille du buffer d'état de la souris
Cette fonction fournit la taille du buffer d'état de la souris dans lequel un programme
peut sauvegarder l'état complet du driver de la souris.
Entrée : AX = 0015h
Sortie : BX = Taille du buffer d'état de la souris en octets
Remarque :
L'état de la souris peut être sauvegardé à l'aide de la fonction 16h.
Int 33h, Fct 16h Sauvegarder état de la souris
Lorsque cette fonction est appelée, le driver de la souris copie toutes les
informations d'état gérées dans un buffer du programme d'appel.
Entrée :
AX = 0016h
ES:DX = Adresses de segment et d'offset du buffer
Sortie : Aucune
Remarques :
 Le programme d'appel doit veiller à ce que le buffer soit suffisamment grand pour
recevoir toutes les informations d'état. Avant d'appeler cette fonction, il ferait donc bien
de déterminer à l'aide de la fonction 15h la taille du buffer d'état de la souris.
 L'appel de cette fonction peut par exemple être utile avant de faire exécuter un
programme à l'aide de la fonction EXEC, pour que tous les paramètres de la souris
puissent être à nouveau fixés sur leurs valeurs antérieures après exécution de ce
programme, quelles que soient les modifications intervenues à l'intérieur du
programme appelé.
Int 33h, Fct 17h Restaurer l'état de la souris
Lit tous les paramètres de la souris dans un buffer dans lequel ils avaient été
sauvegardés auparavant avec la fonction 16h.
Entrée :
AX = 0017h
ES:DX = Adresses de segment et d'offset du buffer d'état de la souris
Sortie : Aucune
Int 33h, Fct 1Ah Définir la sensibilité de la souris
Programmation de la Souris Le périphérique Souris
29
Cette fonction est une combinaison des fonctions 0Fh et 13h, qui permettent
respectivement de fixer le rapport entre déplacement de la souris et déplacement du
curseur de la souris, d'une part, et de fixer le seuil de doublement de la vitesse de la
souris, d'autre part.
Entrée :
AX = 001Ah
BX = Nombre de mickeys représentant huit points horizontalement
CX = Nombre de mickeys représentant huit points verticalement
DX = Seuil pour le doublement de la vitesse de la souris
Sortie : Aucune
Remarques :
 Pour les paramètres dans les registres CX et DX sont autorisées des valeurs
comprises entre 1 et 32767.
 Le réglage par défaut est de 8 mickeys horizontalement et de 16 mickeys
verticalement, de sorte que le curseur de la souris se déplace deux fois plus "vite"
horizontalement que verticalement.
 Pour empêcher tout doublement de la vitesse de la souris, il suffit de fixer le seuil
suffisamment haut. Des vitesses de 5000 mickeys par seconde ne peuvent, par
exemple, déjà plus être atteintes en pratique.
 Les valeurs par défaut peuvent être à nouveau fixées en appelant la fonction 00h
(Réinitialisation du driver de la souris).
Int 33h, Fct 1Bh Lire la sensibilité de la souris
Renvoie les paramètres qui ont été fixés à travers la fonction 1Ah ou à travers les
fonctions 0Fh et 13h.
Entrée : AX = 001Bh
Sortie :
BX = Nombre de mickeys représentant huit points horizontalement
CX = Nombre de mickeys représentant huit points verticalement
DX = Seuil pour le doublement de la vitesse de la souris
Int 33h, Fct 1Fh Désactiver le driver de la souris
Désactive le driver actuel de la souris et fournit l'adresse du gestionnaire
d'interruption précédent pour l'interruption 33h.
Entrée : AX = 001Fh
Sortie :
AX = FFFFh : Erreur
001Fh : Tout va bien, auquel cas
ES:BX = Adresses de segment et d'offset du driver de souris antérieur
Remarques :
Lorsque cette fonction est appelée, le driver de souris libère à nouveau toutes les routines
d'interruption qu'ils avaient installées lors de son activation. Seul fait exception le
gestionnaire de l'interruption 33h, mais le programme d'appel peut charger à nouveau sa
Programmation de la Souris Le périphérique Souris
31
valeur d'origine dans ce vecteur d'interruption également, car son adresse est renvoyée
dans la paire de registres ES:BX.
Int 33h, Fct 20h Activer le driver de la souris
Active un driver de souris désactivé auparavant avec la fonction 1Fh.
Entrée : AX = 0020h
Sortie : Aucune
Int 33h, Fct 24h Lire le type de souris
Fournit le type de souris ainsi que son numéro de version.
Entrée : AX = 0024h
Sortie :
BH = Partie entière du numéro de version
BL = Partie décimale du numéro de version
CH = Type de souris
1 = Souris bus
2 = Souris série
3 = Souris InPort
4 = Souris PS/2
5 = Souris HP
CL = Numéro IRQ
0 = PS/2
2, 3, 4, 5 ou 7 = Numéro PC
Remarque :
Un driver de souris de version 6.24 aura 6 dans le registre BH et 24h dans le
registre BL.
Conclusion Le périphérique Souris
31
En informatique, la souris est devenue pour l’utilisateur synonyme de facilité,
d’agrément, de confort, bref d’une convivialité que tout programmeur souhaite
légitimement pouvoir mettre de son coté.
V. Conclusion
Glossaire Le périphérique Souris
31
Douglas Engelbart
A l’origine du concept d’interconnexion de systèmes informatiques hétérogènes, il à
joué un rôle important dans le développement du réseau ARPANET, mais il à également
inventé la souris et les interfaces graphiques
Jean-Daniel Nicoud
Est un informaticien suisse, inventeur de la première souris optique et du langage
CALM. Il obtient un diplôme en physique à l'Ecole polytechnique fédérale de Lausanne
(EPFL) en 1963. Vers 1965, il s'intéresse aux systèmes logiques. En 1973, il devient
professeur.
Logitech
Est une société spécialisée dans la production de périphériques informatiques :
claviers, souris, trackballs, webcams, haut-parleurs...
Ports d'entrée-sortie
Sont des éléments matériels de l'ordinateur, permettant au système de
communiquer avec des éléments extérieurs, c'est-à-dire d'échanger des données, d'où
l'appellation d'interface d'entrée-sortie (notée parfois interface d'E/S).
TrackBall
Un autre dispositif de pointage comme la souris qui a remplacé la bille de dessous
qui glisse sur un tapis par une boule sur le dessus qu'il faut manipuler avec un doigt (en
principe l'index). La TrackBall sert surtout à gagner de la place, c'est pourquoi elle est
intégrée dans le boîtier des micros portables
Curseur
Symbole graphique localisant les actions de l’utilisateur dans un environnement
informatique. Les deux exemples les plus connus sont le curseur clignotant des éditeurs
de texte et le pointeur de la souris.
LED
(Light Emitting Diode) diode électroluminescente est un composant
électronique capable d'émettre de la lumière lorsqu'il est parcouru par un courant
électrique.
Glossaire
Bibliographie Le périphérique Souris
32
Livre : Programmation Souris, 1990
Auteur : Jean-Claude Fantou
Editeur : Edition RADIO
Livre : L’ordinateur et ses périphériques 1996
Auteur : BEN ABDESSELAM. D et BEN CHOUIEKH. M
Editeur : EDC OMEGA
Article : Notion fondamentales / La souris
Livre : La bible Programmation système, 1996
Auteur : Michael Tischer
Editeur : Micro Application
Article : Fonctions / Fonction Souris
Livre : L’architecture de l’ordinateur, 2002
Auteur : Andreu Tanembaum
Editeur : Dunod, 4eme Edition
Article : Les entrées-sorties / Les souris
Dictionnaire : Informatique et Internent 1997
Auteur : Micro Application
Articel : souris
Encyclopédie : Microsoft Encarta 2006
Article : Dispositifs de pointage
Encyclopédie : Encyclopædia Universalis 2004
Article : Invention de la souris
Site : Cours de l’informatique 2006
Url : http://info.sio2.be/infobase/4
Article : Informatique de Base / Les périphériques: la souris
Site : Mon-Ordi.com 2001
Url : http://www.mon-ordi.com/souris.htm
Article : Souris / Les caractéristiques d'une souris
Bibliographie

More Related Content

What's hot

Les Familles d'ordinateur
Les Familles d'ordinateurLes Familles d'ordinateur
Les Familles d'ordinateurATPENSC-Group
 
Les composantes de l'unité centrale
Les composantes de l'unité centraleLes composantes de l'unité centrale
Les composantes de l'unité centralezoghlamihanen
 
Chapitre 1 l'ordinateur
Chapitre 1 l'ordinateurChapitre 1 l'ordinateur
Chapitre 1 l'ordinateurMansour Dieng
 
Revolution-de-l-informatique-historique
 Revolution-de-l-informatique-historique Revolution-de-l-informatique-historique
Revolution-de-l-informatique-historiqueMeriem Aboutaib
 
Ch1 traitement de texte
Ch1   traitement de texteCh1   traitement de texte
Ch1 traitement de texteWael Ismail
 
Ordinateur & ses constituants
Ordinateur & ses constituantsOrdinateur & ses constituants
Ordinateur & ses constituantssaidnord
 
Cours d'informatique du prof Heimer
Cours d'informatique du prof HeimerCours d'informatique du prof Heimer
Cours d'informatique du prof Heimerrochats
 
Architecture ordinateur-echange-de-donnees
Architecture ordinateur-echange-de-donneesArchitecture ordinateur-echange-de-donnees
Architecture ordinateur-echange-de-donneesAbdoulaye Dieng
 
Travaux dirigés 1: algorithme & structures de données (corrigés)
Travaux dirigés 1: algorithme & structures de données (corrigés)Travaux dirigés 1: algorithme & structures de données (corrigés)
Travaux dirigés 1: algorithme & structures de données (corrigés)Ines Ouaz
 
Cours complet excel détaillé
Cours complet excel détailléCours complet excel détaillé
Cours complet excel détailléPaul Kamga
 
Détecter et réparer les pannes d
Détecter et réparer les pannes dDétecter et réparer les pannes d
Détecter et réparer les pannes dPaul Kamga
 

What's hot (20)

Le clavier
Le clavierLe clavier
Le clavier
 
Les Familles d'ordinateur
Les Familles d'ordinateurLes Familles d'ordinateur
Les Familles d'ordinateur
 
Les composants de l'ordinateur
Les composants de l'ordinateurLes composants de l'ordinateur
Les composants de l'ordinateur
 
Les composantes de l'unité centrale
Les composantes de l'unité centraleLes composantes de l'unité centrale
Les composantes de l'unité centrale
 
Chapitre 1 l'ordinateur
Chapitre 1 l'ordinateurChapitre 1 l'ordinateur
Chapitre 1 l'ordinateur
 
Prise en main de votre PC - Windows 10
Prise en main de votre PC - Windows 10Prise en main de votre PC - Windows 10
Prise en main de votre PC - Windows 10
 
Memento du clavier
Memento du clavierMemento du clavier
Memento du clavier
 
Revolution-de-l-informatique-historique
 Revolution-de-l-informatique-historique Revolution-de-l-informatique-historique
Revolution-de-l-informatique-historique
 
Ordinateur : module 1
Ordinateur : module 1Ordinateur : module 1
Ordinateur : module 1
 
Exercice2
Exercice2Exercice2
Exercice2
 
Ch1 traitement de texte
Ch1   traitement de texteCh1   traitement de texte
Ch1 traitement de texte
 
Ordinateur & ses constituants
Ordinateur & ses constituantsOrdinateur & ses constituants
Ordinateur & ses constituants
 
Cours d'informatique du prof Heimer
Cours d'informatique du prof HeimerCours d'informatique du prof Heimer
Cours d'informatique du prof Heimer
 
Architecture ordinateur-echange-de-donnees
Architecture ordinateur-echange-de-donneesArchitecture ordinateur-echange-de-donnees
Architecture ordinateur-echange-de-donnees
 
Slide matlab
Slide matlab Slide matlab
Slide matlab
 
Travaux dirigés 1: algorithme & structures de données (corrigés)
Travaux dirigés 1: algorithme & structures de données (corrigés)Travaux dirigés 1: algorithme & structures de données (corrigés)
Travaux dirigés 1: algorithme & structures de données (corrigés)
 
Formation word 2007 et 2010
Formation word 2007 et 2010  Formation word 2007 et 2010
Formation word 2007 et 2010
 
Projet bt1 informatique
Projet bt1 informatiqueProjet bt1 informatique
Projet bt1 informatique
 
Cours complet excel détaillé
Cours complet excel détailléCours complet excel détaillé
Cours complet excel détaillé
 
Détecter et réparer les pannes d
Détecter et réparer les pannes dDétecter et réparer les pannes d
Détecter et réparer les pannes d
 

Viewers also liked

Reussir une pre_ao_v2014-04
Reussir une pre_ao_v2014-04Reussir une pre_ao_v2014-04
Reussir une pre_ao_v2014-04jyrtek
 
Comment gérer les profils sur les médias sociaux après un décès
Comment gérer les profils sur les médias sociaux après un décès Comment gérer les profils sur les médias sociaux après un décès
Comment gérer les profils sur les médias sociaux après un décès Chalifour
 
Présentation clinique espoir
Présentation   clinique espoirPrésentation   clinique espoir
Présentation clinique espoirClinique Espoir
 
Siiq 2013 cv arriver, se démarquer et partir du bon pied
Siiq 2013  cv   arriver, se démarquer et partir du bon pied Siiq 2013  cv   arriver, se démarquer et partir du bon pied
Siiq 2013 cv arriver, se démarquer et partir du bon pied Christophe Verhelst
 
Bilan diagnostic numérique du territoire 2011
Bilan diagnostic numérique du territoire 2011Bilan diagnostic numérique du territoire 2011
Bilan diagnostic numérique du territoire 2011Terre et Côte Basques
 
Presentation des medias
Presentation des mediasPresentation des medias
Presentation des mediasSandie-ITEF
 
Cv et motivation ecp mstm - jeremy sintes
Cv et motivation   ecp mstm - jeremy sintesCv et motivation   ecp mstm - jeremy sintes
Cv et motivation ecp mstm - jeremy sintesJeremy Sintes
 
Viversum arts-divinatoires-9-lignes-de-la-main-1
Viversum arts-divinatoires-9-lignes-de-la-main-1Viversum arts-divinatoires-9-lignes-de-la-main-1
Viversum arts-divinatoires-9-lignes-de-la-main-1Michel Dumillet
 
Pierre Gurdjos mise en œuvre d’un procédé automatique d’identification du code...
Pierre Gurdjos mise en œuvre d’un procédé automatique d’identification du code...Pierre Gurdjos mise en œuvre d’un procédé automatique d’identification du code...
Pierre Gurdjos mise en œuvre d’un procédé automatique d’identification du code...geowine
 
Dossier d'habilitation nouvelle junior
Dossier d'habilitation nouvelle juniorDossier d'habilitation nouvelle junior
Dossier d'habilitation nouvelle juniorJA33
 
Idees per fer la maqueta d'un pessebre
Idees per fer la maqueta d'un pessebreIdees per fer la maqueta d'un pessebre
Idees per fer la maqueta d'un pessebreSusana Amoros
 

Viewers also liked (20)

Sesión 09 edurel quinto sec
Sesión 09 edurel quinto secSesión 09 edurel quinto sec
Sesión 09 edurel quinto sec
 
Td5correction
Td5correctionTd5correction
Td5correction
 
Reussir une pre_ao_v2014-04
Reussir une pre_ao_v2014-04Reussir une pre_ao_v2014-04
Reussir une pre_ao_v2014-04
 
Comment gérer les profils sur les médias sociaux après un décès
Comment gérer les profils sur les médias sociaux après un décès Comment gérer les profils sur les médias sociaux après un décès
Comment gérer les profils sur les médias sociaux après un décès
 
naredbi
naredbinaredbi
naredbi
 
Présentation acf
Présentation acfPrésentation acf
Présentation acf
 
Présentation clinique espoir
Présentation   clinique espoirPrésentation   clinique espoir
Présentation clinique espoir
 
Siiq 2013 cv arriver, se démarquer et partir du bon pied
Siiq 2013  cv   arriver, se démarquer et partir du bon pied Siiq 2013  cv   arriver, se démarquer et partir du bon pied
Siiq 2013 cv arriver, se démarquer et partir du bon pied
 
Vivia - Stratégie de com interne
Vivia - Stratégie de com interneVivia - Stratégie de com interne
Vivia - Stratégie de com interne
 
Bilan diagnostic numérique du territoire 2011
Bilan diagnostic numérique du territoire 2011Bilan diagnostic numérique du territoire 2011
Bilan diagnostic numérique du territoire 2011
 
Presentación
Presentación Presentación
Presentación
 
Presentation des medias
Presentation des mediasPresentation des medias
Presentation des medias
 
Cv et motivation ecp mstm - jeremy sintes
Cv et motivation   ecp mstm - jeremy sintesCv et motivation   ecp mstm - jeremy sintes
Cv et motivation ecp mstm - jeremy sintes
 
Portfolio emballages
Portfolio emballagesPortfolio emballages
Portfolio emballages
 
Viversum arts-divinatoires-9-lignes-de-la-main-1
Viversum arts-divinatoires-9-lignes-de-la-main-1Viversum arts-divinatoires-9-lignes-de-la-main-1
Viversum arts-divinatoires-9-lignes-de-la-main-1
 
Pierre Gurdjos mise en œuvre d’un procédé automatique d’identification du code...
Pierre Gurdjos mise en œuvre d’un procédé automatique d’identification du code...Pierre Gurdjos mise en œuvre d’un procédé automatique d’identification du code...
Pierre Gurdjos mise en œuvre d’un procédé automatique d’identification du code...
 
Dossier d'habilitation nouvelle junior
Dossier d'habilitation nouvelle juniorDossier d'habilitation nouvelle junior
Dossier d'habilitation nouvelle junior
 
Trivago
TrivagoTrivago
Trivago
 
Idees per fer la maqueta d'un pessebre
Idees per fer la maqueta d'un pessebreIdees per fer la maqueta d'un pessebre
Idees per fer la maqueta d'un pessebre
 
Manual siemens lavadora wm10q48xes
Manual siemens   lavadora wm10q48xesManual siemens   lavadora wm10q48xes
Manual siemens lavadora wm10q48xes
 

Similar to Le périphérique souris

Découverte de l'ordinateur : La souris (Windows 8)
Découverte de l'ordinateur : La  souris (Windows 8)Découverte de l'ordinateur : La  souris (Windows 8)
Découverte de l'ordinateur : La souris (Windows 8)cybercentredesherbiers
 
Le périphérique souris (programmation)
Le périphérique souris (programmation)Le périphérique souris (programmation)
Le périphérique souris (programmation)Bachir Benyammi
 
Diaporama_initiation_informatique_nimes.pdf
Diaporama_initiation_informatique_nimes.pdfDiaporama_initiation_informatique_nimes.pdf
Diaporama_initiation_informatique_nimes.pdfNawalElmez
 
Le systeme-d-exploitation-windows-e-greta
Le systeme-d-exploitation-windows-e-gretaLe systeme-d-exploitation-windows-e-greta
Le systeme-d-exploitation-windows-e-gretaVallier Pierre
 
A la découverte de l'ordinateur
A la découverte de l'ordinateurA la découverte de l'ordinateur
A la découverte de l'ordinateurtoyviam
 
Premier pas
Premier pas Premier pas
Premier pas Phrixos
 
Introduction&composants
Introduction&composantsIntroduction&composants
Introduction&composantsAnissa Teyeb
 
La souris d'un ordinateur
La souris d'un ordinateurLa souris d'un ordinateur
La souris d'un ordinateurD1clic
 
Notion_De_Base_En_Informatique.pdf
Notion_De_Base_En_Informatique.pdfNotion_De_Base_En_Informatique.pdf
Notion_De_Base_En_Informatique.pdfharizi riadh
 
Cours informatique ordinateur et système d'exploitation
Cours informatique ordinateur et système d'exploitationCours informatique ordinateur et système d'exploitation
Cours informatique ordinateur et système d'exploitationTunisie collège
 
Le clavier et la souris (histoires, présentations et utilisation)
Le clavier et la souris (histoires, présentations et utilisation)Le clavier et la souris (histoires, présentations et utilisation)
Le clavier et la souris (histoires, présentations et utilisation)Théodoric THEOTISTE
 
lessons_se-partie01.pdf
lessons_se-partie01.pdflessons_se-partie01.pdf
lessons_se-partie01.pdfreda42878
 
Controle de logiciel graphique d'exploitation
Controle de logiciel graphique d'exploitationControle de logiciel graphique d'exploitation
Controle de logiciel graphique d'exploitationdigidid
 
Windows XP super module2
Windows XP super module2Windows XP super module2
Windows XP super module2boertch
 

Similar to Le périphérique souris (20)

Découverte de l'ordinateur : La souris (Windows 8)
Découverte de l'ordinateur : La  souris (Windows 8)Découverte de l'ordinateur : La  souris (Windows 8)
Découverte de l'ordinateur : La souris (Windows 8)
 
Le périphérique souris (programmation)
Le périphérique souris (programmation)Le périphérique souris (programmation)
Le périphérique souris (programmation)
 
Diaporama_initiation_informatique_nimes.pdf
Diaporama_initiation_informatique_nimes.pdfDiaporama_initiation_informatique_nimes.pdf
Diaporama_initiation_informatique_nimes.pdf
 
input devices
input devicesinput devices
input devices
 
Le systeme-d-exploitation-windows-e-greta
Le systeme-d-exploitation-windows-e-gretaLe systeme-d-exploitation-windows-e-greta
Le systeme-d-exploitation-windows-e-greta
 
A la découverte de l'ordinateur
A la découverte de l'ordinateurA la découverte de l'ordinateur
A la découverte de l'ordinateur
 
Le materiel-e-greta
Le materiel-e-gretaLe materiel-e-greta
Le materiel-e-greta
 
Composants
ComposantsComposants
Composants
 
Premier pas
Premier pas Premier pas
Premier pas
 
l'ordinateur
l'ordinateurl'ordinateur
l'ordinateur
 
Introduction&composants
Introduction&composantsIntroduction&composants
Introduction&composants
 
La souris d'un ordinateur
La souris d'un ordinateurLa souris d'un ordinateur
La souris d'un ordinateur
 
Natural User Interface - UX Day
Natural User Interface - UX DayNatural User Interface - UX Day
Natural User Interface - UX Day
 
Notion_De_Base_En_Informatique.pdf
Notion_De_Base_En_Informatique.pdfNotion_De_Base_En_Informatique.pdf
Notion_De_Base_En_Informatique.pdf
 
Prise-en-main de votre PC
Prise-en-main de votre PCPrise-en-main de votre PC
Prise-en-main de votre PC
 
Cours informatique ordinateur et système d'exploitation
Cours informatique ordinateur et système d'exploitationCours informatique ordinateur et système d'exploitation
Cours informatique ordinateur et système d'exploitation
 
Le clavier et la souris (histoires, présentations et utilisation)
Le clavier et la souris (histoires, présentations et utilisation)Le clavier et la souris (histoires, présentations et utilisation)
Le clavier et la souris (histoires, présentations et utilisation)
 
lessons_se-partie01.pdf
lessons_se-partie01.pdflessons_se-partie01.pdf
lessons_se-partie01.pdf
 
Controle de logiciel graphique d'exploitation
Controle de logiciel graphique d'exploitationControle de logiciel graphique d'exploitation
Controle de logiciel graphique d'exploitation
 
Windows XP super module2
Windows XP super module2Windows XP super module2
Windows XP super module2
 

More from Bachir Benyammi

NIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopNIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopBachir Benyammi
 
Cadre pour l'amélioration de la cybersécurité des infrastructures critiques, ...
Cadre pour l'amélioration de la cybersécurité des infrastructures critiques, ...Cadre pour l'amélioration de la cybersécurité des infrastructures critiques, ...
Cadre pour l'amélioration de la cybersécurité des infrastructures critiques, ...Bachir Benyammi
 
Déclaration d'applicabilité (DdA) - ISO27002:2013
Déclaration d'applicabilité (DdA) - ISO27002:2013Déclaration d'applicabilité (DdA) - ISO27002:2013
Déclaration d'applicabilité (DdA) - ISO27002:2013Bachir Benyammi
 
Organigramme de la mise en œuvre du SMSI et processus de certification ISO 27...
Organigramme de la mise en œuvre du SMSI et processus de certification ISO 27...Organigramme de la mise en œuvre du SMSI et processus de certification ISO 27...
Organigramme de la mise en œuvre du SMSI et processus de certification ISO 27...Bachir Benyammi
 
كل ما تحب معرفته عن محرك البحث قوقل (Google)
كل ما تحب معرفته عن محرك البحث قوقل (Google)كل ما تحب معرفته عن محرك البحث قوقل (Google)
كل ما تحب معرفته عن محرك البحث قوقل (Google)Bachir Benyammi
 
Réalisation d'un site web dynamique mobile pour Air Algérie
Réalisation d'un site web dynamique mobile pour Air AlgérieRéalisation d'un site web dynamique mobile pour Air Algérie
Réalisation d'un site web dynamique mobile pour Air AlgérieBachir Benyammi
 
Evolution des exportations de marchandises en Algérie de de 1992 à 2004
Evolution des exportations de marchandises en Algérie de de 1992 à 2004Evolution des exportations de marchandises en Algérie de de 1992 à 2004
Evolution des exportations de marchandises en Algérie de de 1992 à 2004Bachir Benyammi
 
Simulation d’un système à temps partagé
Simulation d’un système à temps partagéSimulation d’un système à temps partagé
Simulation d’un système à temps partagéBachir Benyammi
 
الموقع الإلكتروني لمصحة الواحات للتشخيص و العلاج
الموقع الإلكتروني لمصحة الواحات للتشخيص و العلاجالموقع الإلكتروني لمصحة الواحات للتشخيص و العلاج
الموقع الإلكتروني لمصحة الواحات للتشخيص و العلاجBachir Benyammi
 
Réalisation d’un site web pour la Clinique des Oasis Ghardaïa
Réalisation d’un site web pour la Clinique des Oasis GhardaïaRéalisation d’un site web pour la Clinique des Oasis Ghardaïa
Réalisation d’un site web pour la Clinique des Oasis GhardaïaBachir Benyammi
 
L'équipe de développement
L'équipe de développementL'équipe de développement
L'équipe de développementBachir Benyammi
 
L'équipe de développement
L'équipe de développementL'équipe de développement
L'équipe de développementBachir Benyammi
 
Programmation réseau en JAVA
Programmation réseau en JAVAProgrammation réseau en JAVA
Programmation réseau en JAVABachir Benyammi
 
Programmation réseau en JAVA
Programmation réseau en JAVAProgrammation réseau en JAVA
Programmation réseau en JAVABachir Benyammi
 
Étude et réalisation d’une application de contrôle d’un PC à distance en JAVA...
Étude et réalisation d’une application de contrôle d’un PC à distance en JAVA...Étude et réalisation d’une application de contrôle d’un PC à distance en JAVA...
Étude et réalisation d’une application de contrôle d’un PC à distance en JAVA...Bachir Benyammi
 
Étude et réalisation d’une application de contrôle d’un PC à distance en JAVA...
Étude et réalisation d’une application de contrôle d’un PC à distance en JAVA...Étude et réalisation d’une application de contrôle d’un PC à distance en JAVA...
Étude et réalisation d’une application de contrôle d’un PC à distance en JAVA...Bachir Benyammi
 
Réalisation d'un compilateur de mini langage - Khawarizmi
Réalisation d'un compilateur  de mini langage - KhawarizmiRéalisation d'un compilateur  de mini langage - Khawarizmi
Réalisation d'un compilateur de mini langage - KhawarizmiBachir Benyammi
 
Réalisation d’un interpréteur en langue Arabe - Khawarizmi
Réalisation d’un interpréteur en langue Arabe - KhawarizmiRéalisation d’un interpréteur en langue Arabe - Khawarizmi
Réalisation d’un interpréteur en langue Arabe - KhawarizmiBachir Benyammi
 

More from Bachir Benyammi (18)

NIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopNIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 Workshop
 
Cadre pour l'amélioration de la cybersécurité des infrastructures critiques, ...
Cadre pour l'amélioration de la cybersécurité des infrastructures critiques, ...Cadre pour l'amélioration de la cybersécurité des infrastructures critiques, ...
Cadre pour l'amélioration de la cybersécurité des infrastructures critiques, ...
 
Déclaration d'applicabilité (DdA) - ISO27002:2013
Déclaration d'applicabilité (DdA) - ISO27002:2013Déclaration d'applicabilité (DdA) - ISO27002:2013
Déclaration d'applicabilité (DdA) - ISO27002:2013
 
Organigramme de la mise en œuvre du SMSI et processus de certification ISO 27...
Organigramme de la mise en œuvre du SMSI et processus de certification ISO 27...Organigramme de la mise en œuvre du SMSI et processus de certification ISO 27...
Organigramme de la mise en œuvre du SMSI et processus de certification ISO 27...
 
كل ما تحب معرفته عن محرك البحث قوقل (Google)
كل ما تحب معرفته عن محرك البحث قوقل (Google)كل ما تحب معرفته عن محرك البحث قوقل (Google)
كل ما تحب معرفته عن محرك البحث قوقل (Google)
 
Réalisation d'un site web dynamique mobile pour Air Algérie
Réalisation d'un site web dynamique mobile pour Air AlgérieRéalisation d'un site web dynamique mobile pour Air Algérie
Réalisation d'un site web dynamique mobile pour Air Algérie
 
Evolution des exportations de marchandises en Algérie de de 1992 à 2004
Evolution des exportations de marchandises en Algérie de de 1992 à 2004Evolution des exportations de marchandises en Algérie de de 1992 à 2004
Evolution des exportations de marchandises en Algérie de de 1992 à 2004
 
Simulation d’un système à temps partagé
Simulation d’un système à temps partagéSimulation d’un système à temps partagé
Simulation d’un système à temps partagé
 
الموقع الإلكتروني لمصحة الواحات للتشخيص و العلاج
الموقع الإلكتروني لمصحة الواحات للتشخيص و العلاجالموقع الإلكتروني لمصحة الواحات للتشخيص و العلاج
الموقع الإلكتروني لمصحة الواحات للتشخيص و العلاج
 
Réalisation d’un site web pour la Clinique des Oasis Ghardaïa
Réalisation d’un site web pour la Clinique des Oasis GhardaïaRéalisation d’un site web pour la Clinique des Oasis Ghardaïa
Réalisation d’un site web pour la Clinique des Oasis Ghardaïa
 
L'équipe de développement
L'équipe de développementL'équipe de développement
L'équipe de développement
 
L'équipe de développement
L'équipe de développementL'équipe de développement
L'équipe de développement
 
Programmation réseau en JAVA
Programmation réseau en JAVAProgrammation réseau en JAVA
Programmation réseau en JAVA
 
Programmation réseau en JAVA
Programmation réseau en JAVAProgrammation réseau en JAVA
Programmation réseau en JAVA
 
Étude et réalisation d’une application de contrôle d’un PC à distance en JAVA...
Étude et réalisation d’une application de contrôle d’un PC à distance en JAVA...Étude et réalisation d’une application de contrôle d’un PC à distance en JAVA...
Étude et réalisation d’une application de contrôle d’un PC à distance en JAVA...
 
Étude et réalisation d’une application de contrôle d’un PC à distance en JAVA...
Étude et réalisation d’une application de contrôle d’un PC à distance en JAVA...Étude et réalisation d’une application de contrôle d’un PC à distance en JAVA...
Étude et réalisation d’une application de contrôle d’un PC à distance en JAVA...
 
Réalisation d'un compilateur de mini langage - Khawarizmi
Réalisation d'un compilateur  de mini langage - KhawarizmiRéalisation d'un compilateur  de mini langage - Khawarizmi
Réalisation d'un compilateur de mini langage - Khawarizmi
 
Réalisation d’un interpréteur en langue Arabe - Khawarizmi
Réalisation d’un interpréteur en langue Arabe - KhawarizmiRéalisation d’un interpréteur en langue Arabe - Khawarizmi
Réalisation d’un interpréteur en langue Arabe - Khawarizmi
 

Recently uploaded

Cours ofppt du Trade-Marketing-Présentation.pdf
Cours ofppt du Trade-Marketing-Présentation.pdfCours ofppt du Trade-Marketing-Présentation.pdf
Cours ofppt du Trade-Marketing-Présentation.pdfachrafbrahimi1
 
SUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptx
SUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptxSUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptx
SUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptxssuserbd075f
 
MaintenanceLa Maintenance Corrective.ppt
MaintenanceLa Maintenance Corrective.pptMaintenanceLa Maintenance Corrective.ppt
MaintenanceLa Maintenance Corrective.pptssusercbaa22
 
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdf
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdfCOURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdf
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdfabatanebureau
 
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptxSAID MASHATE
 
Bolero. pptx . Film de A nnne Fontaine
Bolero. pptx . Film   de  A nnne FontaineBolero. pptx . Film   de  A nnne Fontaine
Bolero. pptx . Film de A nnne FontaineTxaruka
 
La nouvelle femme . pptx Film français
La   nouvelle   femme  . pptx  Film françaisLa   nouvelle   femme  . pptx  Film français
La nouvelle femme . pptx Film françaisTxaruka
 
Approche-des-risques-par-l’analyse-des-accidents-1.pptx
Approche-des-risques-par-l’analyse-des-accidents-1.pptxApproche-des-risques-par-l’analyse-des-accidents-1.pptx
Approche-des-risques-par-l’analyse-des-accidents-1.pptxssusercbaa22
 
A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.Franck Apolis
 
presentation l'interactionnisme symbolique finale.pptx
presentation l'interactionnisme symbolique  finale.pptxpresentation l'interactionnisme symbolique  finale.pptx
presentation l'interactionnisme symbolique finale.pptxMalikaIdseaid1
 
gestion des conflits dans les entreprises
gestion des  conflits dans les entreprisesgestion des  conflits dans les entreprises
gestion des conflits dans les entreprisesMajdaKtiri2
 
Boléro. pptx Film français réalisé par une femme.
Boléro.  pptx   Film   français   réalisé  par une  femme.Boléro.  pptx   Film   français   réalisé  par une  femme.
Boléro. pptx Film français réalisé par une femme.Txaruka
 
Formation M2i - Intelligence Artificielle Comment booster votre productivité ...
Formation M2i - Intelligence Artificielle Comment booster votre productivité ...Formation M2i - Intelligence Artificielle Comment booster votre productivité ...
Formation M2i - Intelligence Artificielle Comment booster votre productivité ...M2i Formation
 
Mécanique Automobile LE TURBOCOMPRESSEUR.ppt
Mécanique Automobile LE TURBOCOMPRESSEUR.pptMécanique Automobile LE TURBOCOMPRESSEUR.ppt
Mécanique Automobile LE TURBOCOMPRESSEUR.pptssusercbaa22
 
Sidonie au Japon . pptx Un film français
Sidonie    au   Japon  .  pptx  Un film françaisSidonie    au   Japon  .  pptx  Un film français
Sidonie au Japon . pptx Un film françaisTxaruka
 

Recently uploaded (16)

Cours ofppt du Trade-Marketing-Présentation.pdf
Cours ofppt du Trade-Marketing-Présentation.pdfCours ofppt du Trade-Marketing-Présentation.pdf
Cours ofppt du Trade-Marketing-Présentation.pdf
 
SUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptx
SUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptxSUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptx
SUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptx
 
Evaluación Alumnos de Ecole Victor Hugo
Evaluación Alumnos de Ecole  Victor HugoEvaluación Alumnos de Ecole  Victor Hugo
Evaluación Alumnos de Ecole Victor Hugo
 
MaintenanceLa Maintenance Corrective.ppt
MaintenanceLa Maintenance Corrective.pptMaintenanceLa Maintenance Corrective.ppt
MaintenanceLa Maintenance Corrective.ppt
 
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdf
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdfCOURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdf
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdf
 
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
 
Bolero. pptx . Film de A nnne Fontaine
Bolero. pptx . Film   de  A nnne FontaineBolero. pptx . Film   de  A nnne Fontaine
Bolero. pptx . Film de A nnne Fontaine
 
La nouvelle femme . pptx Film français
La   nouvelle   femme  . pptx  Film françaisLa   nouvelle   femme  . pptx  Film français
La nouvelle femme . pptx Film français
 
Approche-des-risques-par-l’analyse-des-accidents-1.pptx
Approche-des-risques-par-l’analyse-des-accidents-1.pptxApproche-des-risques-par-l’analyse-des-accidents-1.pptx
Approche-des-risques-par-l’analyse-des-accidents-1.pptx
 
A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.
 
presentation l'interactionnisme symbolique finale.pptx
presentation l'interactionnisme symbolique  finale.pptxpresentation l'interactionnisme symbolique  finale.pptx
presentation l'interactionnisme symbolique finale.pptx
 
gestion des conflits dans les entreprises
gestion des  conflits dans les entreprisesgestion des  conflits dans les entreprises
gestion des conflits dans les entreprises
 
Boléro. pptx Film français réalisé par une femme.
Boléro.  pptx   Film   français   réalisé  par une  femme.Boléro.  pptx   Film   français   réalisé  par une  femme.
Boléro. pptx Film français réalisé par une femme.
 
Formation M2i - Intelligence Artificielle Comment booster votre productivité ...
Formation M2i - Intelligence Artificielle Comment booster votre productivité ...Formation M2i - Intelligence Artificielle Comment booster votre productivité ...
Formation M2i - Intelligence Artificielle Comment booster votre productivité ...
 
Mécanique Automobile LE TURBOCOMPRESSEUR.ppt
Mécanique Automobile LE TURBOCOMPRESSEUR.pptMécanique Automobile LE TURBOCOMPRESSEUR.ppt
Mécanique Automobile LE TURBOCOMPRESSEUR.ppt
 
Sidonie au Japon . pptx Un film français
Sidonie    au   Japon  .  pptx  Un film françaisSidonie    au   Japon  .  pptx  Un film français
Sidonie au Japon . pptx Un film français
 

Le périphérique souris

  • 1. REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET POPULAIRE MINISTERE D’ENSEIGNEMENT SUPERIEUR ET DE RECHERCHE SCIENTIFIQUE Faculté des Sciences et de l’Ingénierie Institue de Génie Informatique Module de L’Architecture des Ordinateurs Année universitaire 2005 - 2006 Réalisé par :  BENYAMMI BACHIR Encadré par : MR.LAGRAA
  • 2. Sommaire Le périphérique Souris 1 I. Introduction ……………………………………………………………………………………………...………………... 02 II. Définition ……………………………………………………………………………………………...…………….…….... 03 1. Les boutons de la souris …………………...……………………………………………………..…….. 03  La molette ……………………………………………………………………….…………..………… 04  Nombre de boutons …………………………………………………………………………….. 04 2. Fonctionnement de souris ……………………………………………………………………………… 04 3. Le pilote de la souris MOUSE.COM …………………………………………………………….. 05 III. Technologie des souris ………………………………………………………………………………………....... 06 1. Types de Souris …………………………………………………………………………………………. 06 1.1. Mécanique ……………………………………………………………………….……………… 06 1.2. Optomecanique ………………………………………………………...…………………… 06 1.3. Optique ……………………………………………………………………...……………………. 06 2. Types de liaison …………….…………….…………….…………….…………….………………...... 07 2.1. Liaison par câble …………….…………….…………….…………………………………. 07 2.2. Liaison infrarouge …………….…………….…………….……………………………….. 08 2.3. Liaison radio …………….…………….…………….……………………….…….……..…… 08 3. Types de connexion …………….…………….…………….…………….…………….………........ 09 3.1. connexion série …………….…………….…………….……….…………….…………...... 09 3.2. connexion PS/2 …………….…………….…………….…………….……………………… 09 3.3. Connexion USB …………….…………….…………….…………….…….…………........ 09 3.4. Ports de la carte mère …………….…………….…………….………………………... 10 IV. Programmation de la souris …………….…………….…………….…………….…………….…………….. 11 1. Classification des fonctions …………….…………….…………….…………….……...……... 11 1.1. Driver de la souris …………….…………….…………….…………….……….……...…. 11 1.2. Position du curseur ….……...….….……...….….……...….….……...….…………...…. 12 1.3. Zones du curseur ….……...….….……...….….……...….….……....…...….….……...…. 13 1.4. Visibilité du curseur ….……...….….……...….….……...….…...……...….….……...…. 14 1.5. Sensibilité de la souris ….……...….….……...….….……...….….…..….….……...…. 15 1.6. Etat de la souris ….……...….….……...….….……...….….….….……...….….……....…. 16 2. Organisation des fichiers …………….…………….…………….…………….………..……….. 17 2.1. Les librairies du TP7 ….……...….….……...….….……...….….……..….….……...…. 17 2.1.1. L’unité DOS ….……...….….……...….….……...….….…….....….……...…. 17 2.1.2. L’unité CRT ….……...….….……...….….……...….….……...….….……...…. 17 2.1.3. L’unité graphique ….……...….….……...….….…….........….….……...…. 17 2.1.4. Le driver de la carte graphique ….……...….….....….….……...…. 18 2.2. Les fichiers du programme ….……...….….……...….….……...….….………...…. 18 2.2.1. L’interface souris ….……...….….……...….….……...….….….……...…. 18 2.2.2. L’unité d’affichage ….……...….….……...….….……...….…...……...…. 19 2.2.3. L’unité d’initialisation ….……...….….……...….….……...…..…..…...…. 20 2.2.4. La définition des curseurs graphiques ….……...….….…….... 20 2.2.5. Le programme principal ….……...….….……...….….……...….….….. 20 3. Manuel de référence …………….…………….…………….…………….…………….…….……. 21 V. Conclusion …………….…………….…………….…………….…………….…………….…………….………….…... 30 Glossaire …………….…………….…………….…………….…………….…………….…………….…………….……… 31 Bibliographie …………….…………….…………….…………….…………….…………….…………….……………… 32 Sommaire
  • 3. Introduction Le périphérique Souris 2 L’importance des systèmes informatiques dans les divers secteurs d’activité amène des utilisateurs de plus en plus nombreux et de plus en plus profanes à utiliser ces systèmes. De nos jours, c’est une vaste partie de la population active qui utilise l’ordinateur comme outil de travail, sans avoir de connaissances particulières sur l’architecteur de l’ordinateur et sur sa programmation. Bon nombre de ces personnes détestent la frappe des commandes système au clavier, ils préfèrent les systèmes qui affichant des menus à l’écran et avec lesquels ils pouvant communiquer directement en pointant vers les commandes des menus. Le moyen le plus utilisé aujourd’hui pour se faire est un dispositif appelé souris. La souris a été inventée en 1963 par Douglas Engelbart du Stanford Research Center après des tests d'utilisation, basés sur le TrackBall. Elle a été améliorée par Jean- Daniel Nicoud à l'EPFL dès 1979 grâce à l'assemblage d'une boule et de capteurs ; il a fabriqué la souris Depraz qui a été à l'origine de l'entreprise Logitech. La souris est rendue populaire avec le Macintosh. En 1984, La firme Apple fait sortir le système d’exploitation MacOS qui été équipé d’une interface graphique plus convivial. Les premières souris étaient en fait de simples trackballs inversées, où l'utilisateur déplaçait l'appareil. I. Introduction
  • 4. Définition Le périphérique Souris 3 La souris doit son nom à sa forme : c'est une petite boîte qui se meut sur la table et reliée par sa queue à l'ordinateur. Une souris se compose d’une boîte à fond plat conçue pour être prise d’une seule main, d’un ou de plusieurs boutons sur la partie supérieure de cette boîte, d’un capteur directionnel (en général une bille) sur la partie inférieure, et une liaison avec l’ordinateur (généralement un câble). Figure 2-1 : Souris reliée à l’ordinateur 1. Boutons de la souris Une souris comprend un, deux ou trois boutons, voir plus, sur sa face supérieure pour permettre à l’utilisateur de sélectionner et d’activer les éléments des menus et d’autres éléments textuels ou graphiques. L'appui sur les boutons de la souris provoque différents effets, en fonction des programmes utilisés. Les souris standard pour PC ont aujourd'hui une molette en plus de leurs deux boutons (gauche et droite). C'est, en général, le bouton de gauche qui est le plus utilisé. Le bouton droite commandant des fonctions supplémentaire (Ex: affichage d’un menu). Le bouton central, quand il existe, n'est pratiquement jamais utilisé. Lorsque l'on presse le bouton de la souris, on dit que l'on "clique". Si le bouton est pressé une fois, on parle d'un "simple clic" ou d'un "clic" de la souris. Si le bouton est pressé deux fois très rapidement, on parle d'un "double clic". Une autre action est supportée par la souris, c’est le clic prolongé "cliquer-glisser " permet de déplacer des objets sur l’écran. Le cliquer-glisser consiste à: 1. Cliquer avec le bouton gauche de la souris; 2. Déplacer la souris ; 3. Lâcher le bouton gauche de la souris. II. Définition
  • 5. Définition Le périphérique Souris 4 Figure 2-1-1 : Boutons de la souris.  La molette La molette est un bouton spécial qui peut être tournée ou pressée. Les souris avec plus de deux boutons (voire deux molettes) remplissent différentes fonctions supplémentaires assignées à chacun par les applications, le pilote ou le système d'exploitation. La molette est souvent utilisée pour faire défiler rapidement du texte à l'écran. Mais d'autres fonctions peuvent lui être attribuées (zoom, ...).  Nombre de boutons La firme Apple continue de produire des ordinateurs avec des souris ne comptant qu'un seul bouton, car leurs études montreraient que les souris à un bouton sont plus efficaces à l'usage. De nos jours. Certains utilisateurs préfèrent qu’il en ait qu’un bouton pour éviter de se tromper. En revanche, d’autre disant que plusieurs boutons apportent une meilleure efficacité au dialogue. 2. Fonctionnement de la souris Lorsqu’on déplace la souris sur la table d’un certain mouvement, un curseur se déplace à l’écran selon le même mouvement. Il est alors possible de positionner le curseur en un lieu quelconque de l’écran, notamment sur une commande d’un menu. La souris constitue un dispositif de pointage relatif, car il n’y a pas de limite physique à son aire d’évolution, et parce que son placement à un endroit particulier ne se traduit pas par le placement du pointeur à un endroit spécifique de l’écran : la correspondance s’effectue par mouvement et non par position. Pour sélectionner des éléments, ou choisir des commandes, il suffit de presser l’un des boutons de la souris. La souris transmettre des informations de positionnement au contrôleur qui la gère. Elle transmettre une séquence de trois octets toutes les 100 ms. Généralement, ces octets sont transmit l’un après l’autre sur une liaison série vers l’UC. Le premier octet indiquant le nombre de pas de déplacement dans la direction x au cours des cent derniers millisecondes. Le second octet donne les mêmes informations dans la direction y. enfin la troisième octet contient l’état courant des bouton.
  • 6. Définition Le périphérique Souris 5 Un logiciel analyse le déplacement de la souris et convertit les informations reçues en une position absolue, puis affiche un curseur à l’écran indiquant la position courante de la souris. Lorsque le curseur se trouve en concordance de position avec un item, l’utilisateur clique (appuie) sur le bouton ; cela permet au processeur de savoir quel item est sélectionné et donc de connaître la tache à entreprendre. 3. Le pilote de la souris La souris comme tout périphérique, nécessite un pilote de commande pour s’exécutée. Microsoft a équipé sa souris d'une interface logicielle implémentée sous la forme du driver de périphérique MOUSE.SYS ou du programme MOUSE.COM. Cette interface est devenue par la suite un standard adopté par tous les constructeurs de souris afin de garantir une compatibilité totale avec la souris Microsoft. Pour chargé le pilote sous DOS en tapant dans le ligne de commandes : > MOUSE. Il devient alors résident du DOS et redirige vers l’adresse qu’il occupe en mémoire le vecteur d’adresse de l’interruption 33H, à l’aide ce de cette interruption que l’on va pouvoir accéder au pilote de la souris. La désinstallation du pilote est réalisée par la commande : > MOUSE OFF et la mémoire qu’occupait le pilote est alors de nouveau disponible. En générale on désinstalle le pilote pour pouvoir en recharger un autre de version plus récente. Il existe plusieurs modes d’écran sur le marché, un mode d’écran est nécessaire pour gérer le pilote de la souris. Si la version du pilote de souris est 6.10 ou plus, elle doit fonctionne correctement sur la plupart des modes (Hercules, CGA, EGA, VGA, …).
  • 7. Technologie des Souris Le périphérique Souris 6 1. Types de Souris Il existe sur le marché trois types de souris utilisant des technologies différentes. 1.1. Souris mécanique La souris mécanique (classique) qui fonctionne à l'aide d'une boule. Le déplacement de cette boule, sur une surface plane, conduit à l’ouverture et au fermenteur de contacts électrique. Ceci traduit par l’envoi d’impulsions électroniques au système qui les décode et déplace une petite flèche (le curseur) sur l’écran d’une position à une autre. Le principal inconvénient de la souris mécanique est le dépôt rapide de poussières, qui s'accumulent sur les rouleaux, modifiant aléatoirement le transfert des mouvements de la boule aux rouleaux. Figure III-1-1-1 : Souris mécanique 1.2. Souris optomécanique La souris optomécanique contient une boule (1) en contact avec le support où elle est utilisée. Deux rouleaux (2) actionnés par cette boule permettent de capter les déplacements horizontaux et verticaux de la souris. Un troisième rouleau permet de maintenir la boule. Les rouleaux comportent un disque cranté laissant passer la lumière d'une LED (5) ou au contraire la bloquant. Ainsi, grâce à une cellule photoélectrique (3) recevant cette lumière, on peut calculer la vitesse de déplacement de la souris selon l'axe x et l'axe y et par conséquent on en déduit la position relative du curseur à l'écran. Figure III-1-2-1 : Souris optomécanique III. Technologie des Souris
  • 8. Technologie des Souris Le périphérique Souris 7 1.3. Souris optique Le principe de fonctionnement de la souris optique (détection par caméra) est identique à ce qui concerne la génération des impulsions électronique, qui dans ce cas, résultent de la réflexion d’ondes lumineuses sur une surface plane. Figure III-1-3-1 : Souris optique Le principal avantage de ce type de souris, c'est qu'elle fonctionne sans boule. Vous évitez donc tous les problèmes d'encrassement ! A cause du succès énorme de cette technologie, plusieurs type on été inventées : Technologie optique Sun (ancienne) Utilisation d'un tapis spécial, métallique solide rigide et quadrillé. En envoyant un rayon de lumière et en captant le retour, la souris arrive à savoir qu'un déplacement a eu lieu. Technologie optique LED (actuelle) Une micro-caméra filme le support et un processeur interprète le défilement des aspérités comme un mouvement. Cette technologie ne nécessite pas de tapis spécial, mais il faut quand même éviter les supports réfléchissants (verre, plastique brillant, bois vernis...) ou trop sombres. Technologie optique Laser (actuelle) Inventée par les ingénieurs de Logitech. Ils ont remplacé la LED de la souris optique par un petit laser, ainsi la source de lumière est plus intense et plus ciblée, permettant d'obtenir un meilleur cliché de la surface Technologie optique Infrarouge (actuelle) Inventée par les ingénieurs de Razer. Une seule et unique souris utilise cette technologie d'une très grande précision.
  • 9. Technologie des Souris Le périphérique Souris 8 2. Types de liaison La souris peut transmettre les données à l'ordinateur à l'aide de trois liaisons. 2.1. La liaison par câble Ce type de liaison est le plus utilisé. La souris est reliée à l'ordinateur par l'intermédiaire d'un câble dans lequel transitent les données. Figure III-2-1-1 : Liaison par câble 2.2. La liaison infrarouge Ce type de liaison devient de plus en plus fréquent. La souris est équipée d'un petit émetteur de rayons infrarouges qui envoie les données en direction d'un boîtier de réception (ce boîtier est reliée par câble à l'ordinateur). L'avantage de ce type de liaison est que l'on peut utiliser la souris à une distance beaucoup plus importante (environ 2 m) qu'avec une souris traditionnelle. Figure III-2-2-1: Liaison infrarouge 2.3. La liaison radio Le principe de cette liaison est proche de celui de l'infrarouge. Cependant, la nature des rayons n'est pas la même. En effet, la souris et le boîtier de réception fonctionnent par ondes radio, ceci permet d'utiliser la souris à une distance encore plus importante que par la liaison infrarouge (jusqu'à 10 m !).
  • 10. Technologie des Souris Le périphérique Souris 9 Figure III-2-3-1: Liaison radio I. Types de connexion Actuellement, vous pouvez trouver trois types de connexions pour les souris. 1.1. La connexion série Ce type de connexion se fait de plus en plus rare. La souris est reliée à l’ordinateur par l’un des ports série (COM1 ou COM2). L’inconvénient de ce type de connexion est l’occupation de l’un des ports série, et par fois le conflit avec d’autre matériel tel que le modem (utilisation du même port). Figure III-3-1-1 : Connecteur Série 1.2. La connexion PS/2 Ce type de connexion est très fréquent pour les souris. Figure III-3-2-1 : Connecteur PS/2
  • 11. Technologie des Souris Le périphérique Souris 11 Une souris à bus (PS/2) a plusieurs avantages par rapport à la souris série, elle se déplace plus régulièrement et avec plus de précision et libère l'un des ports série pour d'autres périphériques. L'inconvénient est en revanche qu'elle nécessite son propre IRQ (le plus souvent l'IRQ 12). 3.3 La connexion USB La connexion USB (Universal Serial Bus) permet de raccorder des périphériques (lecteur CD ou DVD-ROM, imprimante, etc.), alors que l'ordinateur est sous tension. Le système installe automatiquement les pilotes nécessaires. Autrement dit, vous n'êtes (en principe) pas obligé de redémarrer votre ordinateur pour que votre périphérique soit reconnu. On appelle cela, le branchement à chaud. La souris est reliée à l'ordinateur par l'intermédiaire d'un câble, qui porte le nom de câble USB. Figure III-3-3-1: Connecteur USB 1.3. Ports de la carte mère Quelle que soit sa technologie, la souris avec fil est liée à l’ordinateur par l’un des ports d’entrée-sortie suivants :  Port PS/2 (2)  Port Série (DB9) (RS-232) (3)  Port USB (1) Figure III-3-3-1: Ports de la carte mère
  • 12. Programmation de la Souris Le périphérique Souris 11 Les diverses fonctions de l'interface de souris sont appelées par l'intermédiaire de l'interruption 33h où une valeur 16 bits tient lieu de numéro de fonction. Celle-ci doit être transmise dans le registre AX. La version 8.0 du driver de souris reconnaît en tout 53 fonctions variées avec des numéros allant de 0000h à 00034h. La plupart des fonctions de souris travaillent avec les registres AX, BX, CX et DX pour traiter les informations provenant du programme d'appel et lui retourner les résultats nécessaires dans ces mêmes registres. Les registres ES, SI et DS ne s'avèrent utiles que dans des cas exceptionnels, notamment lorsqu'il s'agit de transmettre l'adresse des buffers. En règle générale, l'appel d'une fonction a pour conséquence de changer le contenu du registre adressé pour retourner les résultats de la fonction. Le contenu des autres registres reste inchangé. Dans la plupart des fonctions, le registre AX sert cependant à retourner l'état de la fonction qui indique un échec de l'opération en cas d'erreur. 1. Classification des fonctions 1.1. Driver de la souris Il existe 04 fonctions qui nous permettent de contrôler le pilote de la souris : Fonction 00h Réinitialisation du driver de souris (TesterDriver) C’est la 1ere fonction qui doit être appelée, elle permet de tester l’existence du pilote. Si la fonction est réussie, elle fixe des paramètres par défaut tel que l’invisibilité du curseur, ça positionnement, les vitesses, les limites horizontales et verticales, et le nombre des boutons disponible … with Driver do with reg do begin ax := 0; intr ($33, reg); Souris.NbrBtns := bl; DrvExiste := (ax <> 0); end ; Fonction 24h Lire le type de souris (TesterDriver) Fournit le type de souris ainsi que son numéro de version, et la broche IRQ du PIC d’ou la souris est branchée. IV. Programmation de la Souris
  • 13. Programmation de la Souris Le périphérique Souris 12 with Driver do with reg do begin ax := $24; intr($33, reg); str(bl, VerL); str(bh, VerH); Version := VerH + '.' + VerL; Irq := cl; case ch of 1: TypeDrv :='Souris Bus'; 2: TypeDrv :='Souris Série'; 3: TypeDrv :='Souris InPort'; 4: TypeDrv :='Souris PS/2'; 5: TypeDrv :='Souris HP'; end; end; Fonction 1Fh Désactiver le driver de la souris (DesactiverDriver) Désactive le driver actuel de la souris et empêche ça déplacement sur l’écran reg.ax := $1f; intr($33, reg); Fonction 20h Activer le driver de la souris (ActiverDriver) Active un driver de souris désactivée auparavant avec la fonction 1Fh. reg.ax := $20; intr($33, reg); 1.2. Position du curseur Il existe 03 fonctions qui nous permettent de connaître et de définir l’emplacement du curseur. Fonction 03h Lire la position de la souris et l'état des boutons de la souris (LirePosCurseur) L'appel de cette fonction fournit la position actuelle de la souris et l'état des différents boutons de la souris. with Souris do with Curseur do with reg do begin ax := $3;
  • 14. Programmation de la Souris Le périphérique Souris 13 intr($33, reg); EtatBtn1 := bl and 1; EtatBtn2 := bl and 2; x := cx; y := dx; end; Fonction 04h Déplacement du curseur de la souris (DefinirPosCurseur) Déplace le curseur de la souris vers une position déterminée de l'écran. with Curseur do with reg do begin ax := $04; cx := x; dx := y; end; intr($33, reg); Fonction 0Bh Lire les distances de déplacement (LireDistance) Détermine la distance entre la position actuelle de la souris et la position de la souris lors du dernier appel de cette fonction. with reg do with Curseur do begin ax := $0b; intr($33, reg); DistanceX := cx; DistanceY := dx; end; 1.3. Zones du curseur 03 fonctions existes pour définir les différentes zones du curseur de la souris Fonction 07h Définir la zone de déplacement horizontale (DefinirZoneDeplacement) Définit la zone de déplacement à l'intérieur de laquelle le curseur peut se déplacer. L'utilisateur n'aura aucune possibilité de faire sortir le curseur de la souris de la zone ainsi fixée ; à l’initiation de la souris ; la zone de déplacement est la totalité de l’écran with ZoneDeplacement do with reg do begin ax := $07;
  • 15. Programmation de la Souris Le périphérique Souris 14 cx := MinX; dx := MaxX; intr($33, reg); end ; Fonction 08h Définir la zone de déplacement verticale (DefinirZoneDeplacement) with ZoneDeplacement do with reg do begin ax := $08; cx := MinY; dx := MaxY; intr($33, reg); end; Fonction 10h Définir la zone d'exclusion (DefinirZoneExclusion) Cette fonction permet à un programme de définir une zone quelconque de l'écran comme zone d'exclusion (une sorte de trou noir), qui aura pour effet de faire disparaître le curseur de la souris de l'écran dès qu'il pénétrera dans cette zone ; un appel à la fonction affichage du curseur est nécessaire pour le réapparaître. with ZoneExclusion do with reg do begin ax := $10; cx := MinX; dx := MinY; si := MaxX; di := MaxY; end; intr($33, reg); 1.4. Visibilité du curseur Contrôle la visibilité du curseur et modifié ça motif Fonction 01h Afficher le curseur de la souris sur l'écran (AfficherCurseur) reg. ax := 1; intr($33, reg); Fonction 02h Masquer le curseur de la souris (CacherCurseur) reg. ax := 2; intr($33, reg);
  • 16. Programmation de la Souris Le périphérique Souris 15 Fonction 09h Définit le curseur de la souris en mode graphique (DessinerCurseurGraph) En mode graphique, un tableau de bits définit l'apparence du curseur de la souris, en fixant de quelle manière les points sous le curseur de la souris et les points du curseur de la souris doivent être combinés. Cette fonction sert à définir ce tableau de bits, et donc l'apparence du curseur de la souris. with Curseur do with reg do begin ax := $09; bx := 0; cx := 0; es := seg(TypeCurseur); dx := ofs(TypeCurseur); end; intr($33, reg); Fonction 0Ah Définit le curseur en mode de texte (DessinerCurseurTexte) Fixe le motif de bits définissant l'apparence du curseur en mode de texte. with reg do with Curseur do begin ax := $0a; bx := TypeCurseur; cx := Operand1; dx := Operand2; end; intr($33, reg); 1.5. Sensibilité de la souris Définir et lire la sensibilité de la souris Fonction 1Ah Définir la sensibilité de la souris (DefinirSensibiliteSouris) Cette fonction permet respectivement de fixer le rapport entre déplacement de la souris et déplacement du curseur de la souris, d'une part, et de fixer le seuil de doublement de la vitesse de la souris, d'autre part. with Curseur do with reg do begin ax := $1a; bh := 0; bl := Sensibilite;
  • 17. Programmation de la Souris Le périphérique Souris 16 ch := 0; cl := Sensibilite; dx := Seuil; end; intr($33, reg); Fonction 1Bh Lire la sensibilité de la souris (LireSensibiliteSouris) Renvoie les paramètres qui ont été fixés à travers la fonction 1Ah ou à travers les fonctions 0Fh et 13h. with Curseur do with reg do begin ax := $1b; intr($33, reg); {Sensibilite := bx;} Sensibilite := cx; Seuil := dx; end; 1.6. Etat de la souris Manipuler l’état de la souris Fonction 15h Lire la taille du buffer d'état de la souris (LireTailleBuffer) Cette fonction fournit la taille du buffer d'état de la souris dans lequel un programme peut sauvegarder l'état complet du driver de la souris. with reg do begin ax := $15; intr($33, reg); TailleBuffer := bx; end; Fonction 16h Sauvegarder état de la souris (SauverEtatSouris) Lorsque cette fonction est appelée, le driver de la souris copie toutes les informations d'état gérées dans un buffer du programme d'appel. with reg do begin ax := $16; bx := TailleBuffer; es := seg(BufferEtatSouris); dx := ofs(BufferEtatSouris); end; intr($33, reg);
  • 18. Programmation de la Souris Le périphérique Souris 17 Fonction 17h Restaurer l'état de la souris (RestaurerEtatSouris) Lit tous les paramètres de la souris dans un buffer dans lequel ils avaient été sauvegardés auparavant avec la fonction 16h. with reg do begin ax := $17; bx := TailleBuffer; es := seg(BufferEtatSouris); dx := ofs(BufferEtatSouris); end; intr($33, reg);
  • 19. Programmation de la Souris Le périphérique Souris 18 2. Organisation des fichiers Le programme est composé de 05 fichiers écrits en langage pascal (04 unités et le programme principal), 04 librairies fournit avec Turbo Pascal sont utilisées, 2.1. Les librairies du TP7 Ces librairies sont intégrées au TP7, elle nous aide à réaliser le programme. Librairie Nom du fichier La librairie DOS La librairie CRT La librairie graphique GRAPH.TPU Le driver de la carte graphique EGAVGA.BGI 2.1.1. L’unité Dos : c’est une librairie fournit avec Turbo Pascal 7 qui nous permet d’utilisé la variable reg de type REGISTERS. 2.1.2. L’unité CRT : l’unité ou est définit les fonctions (ClrScr, KeyPressed, ReadKey). 2.1.3. L’unité graphique : c’est une librairie fournit avec Turbo Pascal 7 qui regroupe plus de 50 fonctions et procédures graphique, ces fonctions sert à dessiner des schémas graphique tel que la ligne, le rectangle, l’arc, le cercle. Et d’autre comme l’affichage des messages et des images, … Procedure OutText(TextString: string); Afficher un texte à l’écran à la position du pointeur. Procedure OutTextXY(X, Y : integer ; TextString: string); Afficher un texte à l’écran à la position x et y. Procedure MoveTo(X,Y : integer); Positionner le pointeur à la position x,y. Function GetMaxX, GetMaxY :integer ; Retient la résolution de l’écran Function GetColor : Word ; Retient la couleur courante. Procedure SetColor(Color : Word); Changer la couleur courante. Procedure Rectangle(x1, x2, y1, y2 : Integer); Dessiner un rectangle en utilisant le même style et couleur du linge courant. Procedure Bar(x1, x2, y1, y2 : Integer); Dessiner une case en utilisant le même style et couleur du remplissage en cours. Procedure Bar3D(x1, x2, y1, y2 : Integer; Depth: word; Top: Boolean);
  • 20. Programmation de la Souris Le périphérique Souris 19 Dessiner une case en utilisant le même style et couleur du remplissage en cours. Procedure SetFillStyle(Pattern: Word; Color: Word); Changer le remplissage et la couleur du motif. Procedure InitGraph(GraphDriver : Integer ; GraphMode : Integer; PathToDrive : string); Initialise le mode graphique 2.1.4. Le driver de la carte graphique : c’est le driver de la carte graphique de type VGA fournit avec Turbo Pascal 7 qui porte le nom ‘EGAVGA.BGI’. Le fichier est chargé dans la mémoire à l’aide de la fonction InitGraph. 2.2. Les fichiers du programme Unité Nom du fichier L’interface souris USOURIS.PAS L’unité d’affichage AFFICHE.PAS L’unité d’initialisation INITIAL.PAS Les motifs des curseurs graphiques CURSEURS.PAS Le programme principal TEST.PAS 2.2.1. L’interface souris : cette interface qui contient tous les procédures et les fonctions qui sert à manipuler la souris tel que l’initialisation, lecture du position du curseur et la définition des différents zones. a. Logiciel, Materiel : Constants Pour choisir entre le curseur logiciel et matériel. b. Variables  Driver : Contient tous les informations du driver (version, IRQ, type, …).  Souris : Contient les informations du la souris (Nombre et Etats des boutons).  Curseur : Contient les informations du curseur (Position, Distance, Type, …).  ZoneExclusion : La zone d'exclusion du curseur.  ZoneDeplacement : La zone de déplacement du curseur.  ZoneExit : Quitter le programme lorsque l’utilisateur pointe le curseur sur elle.  Reg : Les registres du travail.  BufferEtatSouris : Le buffer d'état de la souris.  TailleBuffer : La taille du buffer d'état de la souris. c. Procédures procedure TesterDriver; Initialiser la souris. procedure ActiverDriver; Activer la souris. procedure DesactiverDriver; Désactiver la souris. procedure LirePosCurseur; Lire la position du curseur.
  • 21. Programmation de la Souris Le périphérique Souris 21 procedure DefinirPosCurseur; Changer la position du curseur. procedure LireDistance; Lire la distance entre les deux dernières positions du curseur. procedure DefinirZoneDeplacement; Fixer la zone de déplacement du curseur. procedure DefinirZoneExclusion; Fixer la zone d’exclusion du curseur. procedure AfficherCurseur; Afficher le curseur sur l’écran. procedure CacherCurseur; Cacher le curseur. procedure DessinerCurseurGraph; Changer la forme du curseur graphique. procedure DessinerCurseurTexte; Changer le type de curseur texte. procedure LireSensibiliteSouris; Lire la sensibilité de la souris. procedure DefinirSensibiliteSouris; Fixer la sensibilité de la souris. function LireTailleBuffer: word; Lire la taille du buffer de la souris. procedure SauverEtatSouris; Enregistrer le buffer de la souris. procedure RestaurerEtatSouris; Restaurer le buffer de la souris. 2.2.2 L’unité d’affichage : Toutes les fonctions concernant l’affichage est définies dans cette unité tel que l’affichage du cadre et du texte et des nombres. procedure OutTxtXY(x, y, TxtColor, BgColor: integer; chaine: string); Afficher un texte à l’écran avec des couleurs de texte et d’arrière-plan définies. procedure OutIntXY(x, y, TxtColor, BgColor, valeur: integer); Afficher un entier à l’écran avec des couleurs de texte et d’arrière-plan définies. procedure OutColorText(Chaine: string; pos, long: integer); Afficher un texte à l’écran avec quelques lettres colorées.
  • 22. Programmation de la Souris Le périphérique Souris 21 procedure AfficherInfosSouris; Afficher les infos de la souris (Position, Distance, Sensibilité, Seuil, …). procedure AfficherAide; Afficher l’aide en bas d’écran. procedure DessinerRect(x1, y1, x2, y2, Color: word); Dessiner un rectangle avec une couleur définie. procedure DessinerSouris; Dessiner la souris et ses boutons. procedure DessinerZone; Dessiner les déférentes zones (Déplacement, Exclusion, …). procedure Actualisation; Actualiser les données à l’écran. procedure Finalisation; Réinitialisation pour quitter le programme. 2.2.3. L’unité d’initialisation procedure InitialCurseurPos; Mettez le curseur au centre d’écran. function InitialDriver: boolean; Lancer le teste du driver et fournit les informations de la souris. function InitialGraph: boolean; Initialise la carte graphique. procedure Initialisation; Fixer la zone de déplacement, d’exclusion, d’exit. 2.2.4. La définition des curseurs graphiques 2.2.5. Le programme principal  Echap : constant (code ASCII de la touche échap) pour quitter le programme.  Key : variable pour récupérer le code ASCII de la touche appuyé la l’utilisateur. a. Procedures function TesterExitCurseur: boolean; voir a ce que le curseur est dans la zone d’exit ? procedure TesterExclusionCurseur; voir a ce que le curseur est dans la zone d’exclusion ? procedure Principal ;
  • 23. Programmation de la Souris Le périphérique Souris 22 3. Manuel de référence Voici la liste des fonctions supportées par le pilote de la souris Fonction 00h Réinitialisation du driver de souris Fonction 01h Afficher le curseur de la souris sur l'écran Fonction 02h Masquer le curseur de la souris Fonction 03h Lire la position de la souris et l'état des boutons de la souris Fonction 04h Déplacement du curseur de la souris Fonction 05h Lire combien de fois un bouton de la souris a été enfoncé Fonction 06h Combien de fois un bouton de la souris a-t-il été relâché ? Fonction 07h Définir la zone de déplacement horizontale pour le curseur de la souris Fonction 08h Définir la zone de déplacement verticale pour le curseur de la souris Fonction 09h Définit le curseur de la souris en mode graphique Fonction 0Ah Définit le curseur de la souris en mode de texte Fonction 0Bh Lire les distances de déplacement Fonction 0Ch Installer le gestionnaire d'événements Fonction 0Dh Activer l'émulation du crayon optique Fonction 0Eh Désactiver l'émulation du crayon optique Fonction 0Fh Définir le rapport entre les mickeys et les points Fonction 10h Définir la zone d'exclusion Fonction 11h Non documentée Fonction 12h Non documentée Fonction 13h Définir le seuil pour le doublement de la vitesse de la souris Fonction 14h Echange des gestionnaires d'événements Fonction 15h Lire la taille du buffer d'état de la souris Fonction 16h Sauvegarder état de la souris Fonction 17h Restaurer l'état de la souris Fonction 18h Installer un gestionnaire d'événements alternatif Fonction 19h Lire l'adresse d'un gestionnaire d'événements alternatif Fonction 1Ah Définir la sensibilité de la souris Fonction 1Bh Lire la sensibilité de la souris Fonction 1Ch Définir la fréquence d'Int de l'électronique de la souris Fonction 1Dh Définir une page écran pour le curseur de la souris Fonction 1Eh Lire page écran du curseur de la souris Fonction 1Fh Désactiver le driver de la souris Fonction 20h Activer le driver de la souri Fonction 21h Réinitialiser le driver de la souris Fonction 22h Définir la langue étrangère pour les messages Fonction 23h Vérifier l'existence d'une langue étrangère pour les messages Fonction 24h Lire le type de souris Fonction 25h Lire des informations générales
  • 24. Programmation de la Souris Le périphérique Souris 23 Fonction 26h Lire l'extension de l'écran de souris virtuel Fonction 27h Lire les masques de bits du curseur d'écran Fonction 28h Définir le mode vidéo Fonction 29h Lire la liste des modes vidéo disponibles Fonction 2Ah Obtenir des informations sur le curseur de la souris Fonction 2Bh Lire les courbes d'accélération Fonction 2Ch Lire la courbe d'accélération en cours Fonction 2Dh Définir/Lire la courbe d'accélération en cours Fonction 2Eh Non documentée Fonction 2Fh Réinitialisation de l'électronique de la souris Fonction 30h Définir/Obtenir les paramètres de la souris Ball Point Fonction 31h Lire l'étirement de l'écran virtuel Fonction 32h Lire les fonctions disponibles Fonction 33h Définir les paramètres Fonction 34h Lire l'état du fichier MOUSE.INI Dans le cadre de ce mini projet, on a utilisée 19 fonctions permit les 53, voici la description de ces fonctions avec la signification de leurs arguments (paramètres) d’entrés et de sorties. Int 33h, Fct 00h Réinitialisation du driver de souris Initialise le driver de souris et enclenche ainsi le test de la souris. Entrée : AX = 0000h Sortie : AX = FFFFh : dans ce cas, un driver de souris est installé BX = Nombre de boutons de la Souris (à partir de 1.0) AX = 0000h : erreur, aucun driver de souris n'est installé Remarques :  L'appel de cette fonction agit sur toute une série de paramètres de la souris qui peuvent être fixés à l'aide des différentes fonctions de la souris  Le curseur de la souris est placé au centre de l'écran puis caché. Il apparaîtra désormais en mode graphique sous forme d'une flèche, alors qu'il sera représenté en mode de texte sous forme d'une case de texte en inversion vidéo. Le curseur de la souris est systématiquement affiché dans la page 0 de l'écran, indépendamment du mode. La zone de déplacement sélectionnée est la totalité de l'écran.  Les gestionnaires d'événements installés par un programme. Ils sont désactivés.  L'émulation du crayon optique est également désactivée.  La vitesse de la souris. Pour la vitesse horizontale de la souris, un rapport de 8 mickeys pour 8 points est défini. Pour la vitesse verticale, ce rapport est de 16 pour 8  Le seuil de doublement de la vitesse de la souris. Il est fixé à 64 mickeys par seconde. Int 33h, Fct 01h Afficher le curseur de la souris sur l'écran Après appel de cette fonction, le curseur de la souris devient visible sur l'écran et suit désormais les déplacements de la souris sur l'écran.
  • 25. Programmation de la Souris Le périphérique Souris 24 Entrée : AX = 0001h Sortie : Aucune Remarques :  L'appel de cette fonction entraîne l'incrémentation d'un compteur interne, en fonction duquel le curseur de la souris est ou non afficher sur l'écran. Si ce compteur contient la valeur 0, le curseur de la souris sera affiché sur l'écran, alors que la valeur -1 a pour effet de le faire disparaître de l'écran. Lorsque la fonction 00h (Reset) est appelée, ce compteur est tout d'abord fixé sur -1, pour prendre ensuite la valeur 0 lors du premier appel de cette fonction, ce qui se traduit par la réapparition du curseur sur l'écran.  Le driver de la souris suit les déplacements de la souris même si le curseur de la souris n'est pas affiché sur l'écran. A la suite de l'appel de cette fonction, le curseur de la souris ne réapparaîtra donc pas nécessairement au même endroit que là où il se trouvait lorsqu'il avait été caché. Int 33h, Fct 02h Masquer le curseur de la souris Cette fonction élimine le curseur de la souris de l'écran. Entrée : AX = 0002h Sortie : Aucune Remarques :  L'appel de cette fonction entraîne la décrémentation d'un compteur interne, en fonction duquel le curseur de la souris est ou non afficher sur l'écran. Si ce compteur contient la valeur 0, le curseur de la souris sera affiché sur l'écran, alors que la valeur -1 a pour effet de le faire disparaître de l'écran.  Le driver de la souris suit les déplacements de la souris même après appel de cette fonction. A la suite de l'appel de la fonction 01h (Afficher le curseur de la souris), le curseur de la souris ne réapparaîtra donc pas nécessairement au même endroit que là où il se trouvait lorsqu'il avait été caché. Int 33h, Fct 03h Lire la position de la souris et l'état des boutons de la souris L'appel de cette fonction fournit la position actuelle de la souris et l'état des différents boutons de la souris. Entrée : AX = 0003h Sortie : BX = Etat des boutons de la Souris Bit Signification 0 1 = bouton gauche de la souris appuyé 1 1 = bouton droit de la souris appuyé 2 1 = bouton central de la souris appuyé Autre Aucune CX = Position horizontale de la Souris DX = Position verticale de la souris Remarques :
  • 26. Programmation de la Souris Le périphérique Souris 25  Les ordonnées renvoyées dans les registres CX et DX ne se rapportent pas à l'écran physique mais aux positions en points écran dans l'écran virtuel de la souris.  Si la souris ne possède que deux boutons, les informations fournies sur le bouton central sont dépourvues de signification. Int 33h, Fct 04h Déplacement du curseur de la souris Déplace le curseur de la souris vers une position déterminée de l'écran, à moins qu'il n'ait été caché avec la fonction 02h. Entrée : AX = 0004h CX = Position horizontale de la Souris DX = Position verticale de la souris Sortie : Aucune Remarques :  Les ordonnées renvoyées dans les registres CX et DX ne se rapportent pas à l'écran physique mais aux positions en points écran dans l'écran virtuel de la souris.  Si la position spécifiée se situe en dehors de la zone de déplacement fixée avec les fonctions 07h et 08h, les coordonnées sont adaptées pour que le curseur de la souris ne sorte pas de cette zone.  Le curseur de la souris est bien déplacé vers la nouvelle position même s'il est caché, mais ce déplacement n'apparaîtra naturellement que lorsque le curseur sera à nouveau incrusté. Int 33h, Fct 05h (06h) Lire combien de fois un bouton de la souris a été enfoncé (relaché) Indique au programme d'appel combien de fois un bouton de la souris a été appuyé (relâché) depuis le dernier appel de cette fonction et où le curseur de la souris se trouvait la dernière fois que ce bouton avait été actionné. Entrée : AX = 0005h BX = Bouton de la souris appelé : 0 = bouton gauche de la Souris 1 = bouton droit de la Souris 2 = bouton central de la souris Sortie : AX = Etat de tous les boutons de la souris Bit Signification 0 1 = bouton gauche de la souris appuyé (relaché) 1 1 = bouton droit de la souris appuyé (relaché) 2 1 = bouton central de la souris appuyé (relaché) Autre Aucune BX = Nombre de fois que le bouton de la souris appelé a été actionné CX = Position horizontale de la souris la dernière fois que le bouton a été actionné DX = Position verticale de la souris la dernière fois que le bouton a été actionné Remarques :
  • 27. Programmation de la Souris Le périphérique Souris 26  Les ordonnées transmises dans les registres CX et DX ne se rapportent pas à l'écran physique mais aux positions en points écran dans l'écran virtuel de la souris.  Le compteur du nombre de fois que le bouton de la souris appelé a été appuyé est à nouveau fixé sur 0 lorsque cette fonction est appelée. Int 33h, Fct 07h (08h) Définir la zone de déplacement horizontale (verticale) pour le curseur de la souris Définit la zone horizontale (verticale) à l'intérieur de laquelle le curseur de la souris peut se déplacer. L'utilisateur n'aura aucune possibilité de faire sortir le curseur de la souris de la zone ainsi fixée. Entrée : AX = 0007h (0008h) CX = position horizontale (verticale) minimale de la souris DX = position horizontale (verticale) maximale de la souris Sortie : Aucune Remarques :  Les ordonnées transmises dans les registres CX et DX ne se rapportent pas à l'écran physique mais aux positions en points écran dans l'écran virtuel de la souris.  Si le curseur de la souris se trouve en dehors de la zone spécifiée, il y est automatiquement ramené par le driver de la souris.  Si la valeur spécifiée dans le registre DX est inférieure à celle dans CX, les deux paramètres sont échangés. Int 33h, Fct 09h Définit le curseur de la souris en mode graphique En mode graphique, un tableau de bits définit l'apparence du curseur de la souris, en fixant de quelle manière les points sous le curseur de la souris et les points du curseur de la souris doivent être combinés. Cette fonction sert à définir ce tableau de bits, et donc l'apparence du curseur de la souris. Entrée : AX = 0009h BX = Distance du point de référence au bord gauche du tableau de bits CX = Distance du point de référence au bord supérieur du tableau de bits ES:DX = Adresses de segment et d'offset du tableau de bits dans la mémoire Sortie : Aucune Remarques : Le tableau de bits comporte 64 octets, dont les 32 premiers définissent une combinaison ET et les 32 autres une combinaison OU avec le motif de points actuel. Int 33h, Fct 0Ah Définit le curseur de la souris en mode de texte Fixe le motif de bits définissant l'apparence du curseur de la souris en mode de texte. Entrée :
  • 28. Programmation de la Souris Le périphérique Souris 27 AX = 000Ah BX = Type de curseur de la Souris 0 = curseur logiciel 1 = curseur électronique CX = Masque AND pour le curseur logiciel ou la ligne de départ du curseur électronique DX = Masque XOR pour le curseur logiciel ou la ligne finale du curseur électronique Sortie : Aucune Remarques :  Si le curseur logiciel est sélectionné, le code du caractère sous le curseur de la souris et l'octet d'attribut correspondant sont tout d'abord combiné par un AND binaire avec le masque dans le registre CX, avant qu'une combinaison OU EXCLUSIF (XOR) soit ensuite opérée avec la valeur dans le registre DX. L'octet d'attribut est combiné avec les octets de plus fort poids des deux valeurs (CH et DH), alors que le code de caractère est combiné avec les octets de plus faible poids (CL et DL).  Le curseur électronique est le curseur clignotant de l'écran. Les lignes de départ et de fin doivent être comprises, en mode monochrome, entre 0 et 13, et en mode couleur, entre 0 et 7. Int 33h, Fct 0Bh Lire les distances de déplacement Détermine la distance entre la position actuelle de la souris et la position de la souris lors du dernier appel de cette fonction. Entrée : AX = 000Bh Sortie : CX = Distance horizontale DX = Distance verticale Remarques :  Les valeurs doivent être interprétées comme des nombres signés, les valeurs positives indiquant un déplacement vers le bas ou la droite de l'écran, alors que les valeurs négatives indiquent un déplacement vers le haut ou la gauche de l'écran.  Les valeurs ne sont pas fournies en points mais en mickeys.(1 mickey équivaut à 1/200 de pouce). Int 33h, Fct 10h Définir la zone d'exclusion Cette fonction permet à un programme de définir une zone quelconque de l'écran comme zone d'exclusion (une sorte de trou noir), qui aura pour effet de faire disparaître le curseur de la souris de l'écran dès qu'il pénétrera dans cette zone. Entrée : AX = 0010h CX = Ordonnée X du coin supérieur gauche de la zone d'exclusion DX = Ordonnée Y du coin supérieur gauche de la zone d'exclusion SI = Ordonnée X du coin inférieur droit de la zone d'exclusion DI = Ordonnée Y du coin inférieur droit de la zone d'exclusion Sortie : Aucune
  • 29. Programmation de la Souris Le périphérique Souris 28 Remarques :  Les ordonnées transmises dans les registres CX, DX, SI et DI ne se rapportent pas à l'écran physique mais aux positions en points écran dans l'écran virtuel de la souris.  La zone d'exclusion peut être à nouveau annulée en appelant la fonction 00h (réinitialisation du driver de souris) ou 01h (affichage du curseur de la souris). Int 33h, Fct 15h Lire la taille du buffer d'état de la souris Cette fonction fournit la taille du buffer d'état de la souris dans lequel un programme peut sauvegarder l'état complet du driver de la souris. Entrée : AX = 0015h Sortie : BX = Taille du buffer d'état de la souris en octets Remarque : L'état de la souris peut être sauvegardé à l'aide de la fonction 16h. Int 33h, Fct 16h Sauvegarder état de la souris Lorsque cette fonction est appelée, le driver de la souris copie toutes les informations d'état gérées dans un buffer du programme d'appel. Entrée : AX = 0016h ES:DX = Adresses de segment et d'offset du buffer Sortie : Aucune Remarques :  Le programme d'appel doit veiller à ce que le buffer soit suffisamment grand pour recevoir toutes les informations d'état. Avant d'appeler cette fonction, il ferait donc bien de déterminer à l'aide de la fonction 15h la taille du buffer d'état de la souris.  L'appel de cette fonction peut par exemple être utile avant de faire exécuter un programme à l'aide de la fonction EXEC, pour que tous les paramètres de la souris puissent être à nouveau fixés sur leurs valeurs antérieures après exécution de ce programme, quelles que soient les modifications intervenues à l'intérieur du programme appelé. Int 33h, Fct 17h Restaurer l'état de la souris Lit tous les paramètres de la souris dans un buffer dans lequel ils avaient été sauvegardés auparavant avec la fonction 16h. Entrée : AX = 0017h ES:DX = Adresses de segment et d'offset du buffer d'état de la souris Sortie : Aucune Int 33h, Fct 1Ah Définir la sensibilité de la souris
  • 30. Programmation de la Souris Le périphérique Souris 29 Cette fonction est une combinaison des fonctions 0Fh et 13h, qui permettent respectivement de fixer le rapport entre déplacement de la souris et déplacement du curseur de la souris, d'une part, et de fixer le seuil de doublement de la vitesse de la souris, d'autre part. Entrée : AX = 001Ah BX = Nombre de mickeys représentant huit points horizontalement CX = Nombre de mickeys représentant huit points verticalement DX = Seuil pour le doublement de la vitesse de la souris Sortie : Aucune Remarques :  Pour les paramètres dans les registres CX et DX sont autorisées des valeurs comprises entre 1 et 32767.  Le réglage par défaut est de 8 mickeys horizontalement et de 16 mickeys verticalement, de sorte que le curseur de la souris se déplace deux fois plus "vite" horizontalement que verticalement.  Pour empêcher tout doublement de la vitesse de la souris, il suffit de fixer le seuil suffisamment haut. Des vitesses de 5000 mickeys par seconde ne peuvent, par exemple, déjà plus être atteintes en pratique.  Les valeurs par défaut peuvent être à nouveau fixées en appelant la fonction 00h (Réinitialisation du driver de la souris). Int 33h, Fct 1Bh Lire la sensibilité de la souris Renvoie les paramètres qui ont été fixés à travers la fonction 1Ah ou à travers les fonctions 0Fh et 13h. Entrée : AX = 001Bh Sortie : BX = Nombre de mickeys représentant huit points horizontalement CX = Nombre de mickeys représentant huit points verticalement DX = Seuil pour le doublement de la vitesse de la souris Int 33h, Fct 1Fh Désactiver le driver de la souris Désactive le driver actuel de la souris et fournit l'adresse du gestionnaire d'interruption précédent pour l'interruption 33h. Entrée : AX = 001Fh Sortie : AX = FFFFh : Erreur 001Fh : Tout va bien, auquel cas ES:BX = Adresses de segment et d'offset du driver de souris antérieur Remarques : Lorsque cette fonction est appelée, le driver de souris libère à nouveau toutes les routines d'interruption qu'ils avaient installées lors de son activation. Seul fait exception le gestionnaire de l'interruption 33h, mais le programme d'appel peut charger à nouveau sa
  • 31. Programmation de la Souris Le périphérique Souris 31 valeur d'origine dans ce vecteur d'interruption également, car son adresse est renvoyée dans la paire de registres ES:BX. Int 33h, Fct 20h Activer le driver de la souris Active un driver de souris désactivé auparavant avec la fonction 1Fh. Entrée : AX = 0020h Sortie : Aucune Int 33h, Fct 24h Lire le type de souris Fournit le type de souris ainsi que son numéro de version. Entrée : AX = 0024h Sortie : BH = Partie entière du numéro de version BL = Partie décimale du numéro de version CH = Type de souris 1 = Souris bus 2 = Souris série 3 = Souris InPort 4 = Souris PS/2 5 = Souris HP CL = Numéro IRQ 0 = PS/2 2, 3, 4, 5 ou 7 = Numéro PC Remarque : Un driver de souris de version 6.24 aura 6 dans le registre BH et 24h dans le registre BL.
  • 32. Conclusion Le périphérique Souris 31 En informatique, la souris est devenue pour l’utilisateur synonyme de facilité, d’agrément, de confort, bref d’une convivialité que tout programmeur souhaite légitimement pouvoir mettre de son coté. V. Conclusion
  • 33. Glossaire Le périphérique Souris 31 Douglas Engelbart A l’origine du concept d’interconnexion de systèmes informatiques hétérogènes, il à joué un rôle important dans le développement du réseau ARPANET, mais il à également inventé la souris et les interfaces graphiques Jean-Daniel Nicoud Est un informaticien suisse, inventeur de la première souris optique et du langage CALM. Il obtient un diplôme en physique à l'Ecole polytechnique fédérale de Lausanne (EPFL) en 1963. Vers 1965, il s'intéresse aux systèmes logiques. En 1973, il devient professeur. Logitech Est une société spécialisée dans la production de périphériques informatiques : claviers, souris, trackballs, webcams, haut-parleurs... Ports d'entrée-sortie Sont des éléments matériels de l'ordinateur, permettant au système de communiquer avec des éléments extérieurs, c'est-à-dire d'échanger des données, d'où l'appellation d'interface d'entrée-sortie (notée parfois interface d'E/S). TrackBall Un autre dispositif de pointage comme la souris qui a remplacé la bille de dessous qui glisse sur un tapis par une boule sur le dessus qu'il faut manipuler avec un doigt (en principe l'index). La TrackBall sert surtout à gagner de la place, c'est pourquoi elle est intégrée dans le boîtier des micros portables Curseur Symbole graphique localisant les actions de l’utilisateur dans un environnement informatique. Les deux exemples les plus connus sont le curseur clignotant des éditeurs de texte et le pointeur de la souris. LED (Light Emitting Diode) diode électroluminescente est un composant électronique capable d'émettre de la lumière lorsqu'il est parcouru par un courant électrique. Glossaire
  • 34. Bibliographie Le périphérique Souris 32 Livre : Programmation Souris, 1990 Auteur : Jean-Claude Fantou Editeur : Edition RADIO Livre : L’ordinateur et ses périphériques 1996 Auteur : BEN ABDESSELAM. D et BEN CHOUIEKH. M Editeur : EDC OMEGA Article : Notion fondamentales / La souris Livre : La bible Programmation système, 1996 Auteur : Michael Tischer Editeur : Micro Application Article : Fonctions / Fonction Souris Livre : L’architecture de l’ordinateur, 2002 Auteur : Andreu Tanembaum Editeur : Dunod, 4eme Edition Article : Les entrées-sorties / Les souris Dictionnaire : Informatique et Internent 1997 Auteur : Micro Application Articel : souris Encyclopédie : Microsoft Encarta 2006 Article : Dispositifs de pointage Encyclopédie : Encyclopædia Universalis 2004 Article : Invention de la souris Site : Cours de l’informatique 2006 Url : http://info.sio2.be/infobase/4 Article : Informatique de Base / Les périphériques: la souris Site : Mon-Ordi.com 2001 Url : http://www.mon-ordi.com/souris.htm Article : Souris / Les caractéristiques d'une souris Bibliographie