Le périphérique souris (programmation)

158 vues

Publié le

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é.

Publié dans : Formation
0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
158
Sur SlideShare
0
Issues des intégrations
0
Intégrations
4
Actions
Partages
0
Téléchargements
1
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Le périphérique souris (programmation)

  1. 1. 1 MINISTÈRE DE L’ENSEIGNEMENT SUPÉRIEUR ET DE LA RECHERCHE SCIENTIFIQUE DEPARTEMENT DE GENIE INFORMATIQUE 3EME ANNÉE INFORMATIQUE CYCLE LONG MODULE DE L’ARCHITECTURE DES ORDINATEURS Réalisé par :  BENYAMMI BACHIR Encadré par : MR.LAGRAA REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET POPULAIRE 2005 / 2006
  2. 2. 2 Plan de travail  Introduction  Les caractéristiques d'une souris  Fonctionnement de souris  Technologie des souris  Programmation de la souris  Conclusion
  3. 3. 3 Pourquoi la Souris ?  L’importance de l’informatique amène des utilisateurs de plus en plus nombreux et de plus en plus profanes à utiliser l’informatique.  Une vaste partie de population utilise les ordinateurs sans avoir une connaissance sur l’architecture des ordinateurs et sur sa programmation.  La majorité de ces personnes détestent la frappe des commandes système au clavier.
  4. 4. 4 Historique  La souris a été inventée en 1963 par Douglas Engelbart du Stanford Research Center.  Elle a été améliorée par Jean-Daniel Nicoud à l'EPFL dès 1979.  En 1984. La souris est rendue populaire avec le Macintosh (MacOS).  Les premières souris étaient en fait de simples trackballs inversées.
  5. 5. 5 Les caractéristiques d'une souris La souris doit son nom à sa forme : une petite boîte reliée par sa queue à l'ordinateur. Une souris se compose d’: Une boîte, Un ou plusieurs boutons, Capteur directionnel (en général une bille), Une liaison avec l’ordinateur (généralement un câble).
  6. 6. 6  Le bouton gauche est le plus utilisé.  Le bouton droite commandant des fonctions supplémentaire.  La molette est utilisée pour le défilement du texte à l'écran, ou le zoom. Boutons de la souris
  7. 7. 7  La position horizontale du curseur (X).  La position verticale du curseur (Y).  L’état courant des bouton. Fonctionnement de souris La souris transmettre des informations de positionnement (une séquence de trois octets toutes les 100 ms) au contrôleur qui la gère:
  8. 8. 8  Le chargement du pilote sous DOS se fait par la commande : > MOUSE.  La désinstallation du pilote est réalisée par la commande : > MOUSE OFF  La version actuel du pilote support la plupart des modes d’écran sur le marché (Hercules, CGA, EGA, VGA, …). La souris comme tout périphérique, nécessite un pilote de commande pour s’exécutée. Le pilote de la souris MOUSE.COM
  9. 9. 9 Technologie des souris Types de Souris:  Mécanique  Optomécanique  Optique Types de liaison:  Liaison par câble  Liaison infrarouge  Liaison radio Types de connexion:  connexion série  connexion PS/2  Connexion USB  Ports de la carte mère
  10. 10. 10 Types de Souris  Souris Mécanique  Fonctionne à l'aide d'une boule.  L’inconvénient de se type est le dépôt de poussières.
  11. 11. 11  Souris Optomécanique Types de Souris 1 : Boule. 2 : Rouleau. 3 : Cellule photoélectrique. 4 : Bouton du clic gauche. 5 : LED (Diode électroluminescente ).
  12. 12. 12 L’avantage de ce type de souris, c'est qu'elle fonctionne sans boule. Alors pas des problèmes d'encrassement !  Souris Optique Types de Souris
  13. 13. 13  Le type de liaison le plus utilisé.  Distance < 1 m.  Liaison par câble Types de Liaison
  14. 14. 14  Ce type de liaison est de plus en plus fréquent.  Distance ≈ 2 m.  Liaison par infrarouge Types de Liaison
  15. 15. 15  Cette liaison est proche de celui de l'infrarouge.  Distance jusqu'à 10 m !  Liaison radio Types de Liaison
  16. 16. 16  Utilisation des ports série (COM1 ou COM2).  L’inconvénient est l’occupation de l’un des ports série.  Connexion Série Types de connexion
  17. 17. 17  La Souris se déplace plus régulièrement et avec plus de précision et libère l'un des ports série.  L'inconvénient est qu'elle nécessite son propre IRQ (l'IRQ 12).  Connexion PS/2 Types de connexion
  18. 18. 18 Branchement à chaud (pas obligé de redémarrer l’ordinateur).  Connexion USB Types de connexion
  19. 19. 19  Port PS/2 (2).  Port Série (DB9) (RS-232) (3).  Port USB (1).  Ports de la carte mère Types de connexion
  20. 20. 20 Programmation de la souris Les diverses fonctions de l'interface de souris sont appelées par l'intermédiaire de l'interruption 33h. La version 8.0 du driver de souris reconnaît en tout 53 fonctions allant de 0000h à 00034h. Plusieurs fonctions sont presque identiques et quelque fonctions sont des combinaisons d’autres fonctions. Quelque fonctions sont pas documentées. La plupart des fonctions travaillent avec les registres AX, BX, CX et DX, Les registres ES, SI et DI ne sont pas utiles que dans l'adressage.
  21. 21. 21 1. Driver de la souris. 1. Position du curseur. 2. Zones du curseur. 3. Visibilité du curseur. 4. Sensibilité de la souris. 5. État de la souris. Classification des fonctions
  22. 22. 22 1. Driver de la souris Il existe 04 fonctions qui nous permettent de contrôler le pilote de la souris  Réinitialisation du driver de souris. (Fct 00h)  Désactiver le driver de la souris. (Fct 1Fh)  Activer le driver de la souris. (Fct 20h)  Lire le type de souris. (Fct 24h) Classification des fonctions
  23. 23. 23 2. Position du curseur Il existe 03 fonctions qui nous permettent de connaître et de définir l’emplacement du curseur.  Lire la position de la souris et l'état des boutons de la souris. (Fct 03h)  Déplacement du curseur de la souris. (Fct 04h)  Lire les distances de déplacement. (Fct 0Bh) Classification des fonctions
  24. 24. 24 3. Zones du curseur 03 fonctions existes pour définir les différentes zones du curseur de la souris  Définir la zone de déplacement horizontale. (Fct 07h)  Définir la zone de déplacement verticale. (Fct 08h)  Définir la zone d'exclusion (Fct 10h) Classification des fonctions
  25. 25. 25 4. Visibilité du curseur Contrôle la visibilité du curseur et modifié ça motif  Afficher le curseur de la souris sur l'écran. (Fct 01h)  Masquer le curseur de la souris. (Fct 02h)  Définit le curseur de la souris en mode graphique. (Fct 09h)  Définit le curseur de la souris en mode de texte. (Fct 0Ah) Classification des fonctions
  26. 26. 26 5. Sensibilité de la souris Définir et lire la sensibilité de la souris  Définir la sensibilité de la souris. (Fct 1Ah)  Lire la sensibilité de la souris. (Fct 1Bh) Classification des fonctions
  27. 27. 27 6. État de la souris Manipuler l’état de la souris  Lire la taille du buffer d'état de la souris (Fct 15h)  Sauvegarder état de la souris (Fct 16h)  Restaurer l'état de la souris (Fct 17h) Classification des fonctions
  28. 28. 28 Les librairie du TP7 Librairie Nom du fichier La librairie DOS La librairie CRT La librairie graphique GRAPH.TPU Le driver de la carte graphique EGAVGA.BGI 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 Le code source Organisation des fichiers
  29. 29. 29 Conclusion 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é.
  30. 30. 30
  31. 31. Programmation de la souris A. Classification des fonctions B. Organisation des fichiers
  32. 32. 1. Driver de la souris 2. Position du curseur 3. Zones du curseur 4. Visibilité du curseur 5. Sensibilité de la souris 6. État de la souris A. Classification des fonctions
  33. 33. 1. Driver de la souris Il existe 04 fonctions qui nous permettent de contrôler le pilote de la souris  Réinitialisation du driver de souris  Désactiver le driver de la souris  Activer le driver de la souris  Lire le type de souris
  34. 34. Fonction 00h Réinitialisation du driver de souris (TesterDriver) with Driver do with reg do begin ax := 0; intr ($33, reg); Souris.NbrBtns := bl; DrvExiste := (ax <> 0); end ; Fonction 1Fh Désactiver le driver de la souris (DesactiverDriver) reg.ax := $1f; intr($33, reg); Fonction 20h Activer le driver de la souris (ActiverDriver) reg.ax := $20; intr($33, reg);
  35. 35. Fonction 24h Lire le type de souris (TesterDriver) 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;
  36. 36. 2. Position du curseur Il existe 03 fonctions qui nous permettent de connaître et de définir l’emplacement du curseur. • Lire la position de la souris et l'état des boutons de la souris • Déplacement du curseur de la souris • Lire les distances de déplacement
  37. 37. with Souris do with Curseur do with reg do begin ax := $3; intr($33, reg); EtatBtn1 := bl and 1; EtatBtn2 := bl and 2; x := cx; y := dx; end; Fonction 03h Lire la position de la souris et l'état des boutons de la souris (LirePosCurseur) with Curseur do with reg do begin ax := $04; cx := x; dx := y; end; intr($33, reg); Fonction 04h Déplacement du curseur de la souris (DefinirPosCurseur)
  38. 38. with reg do with Curseur do begin ax := $0b; intr($33, reg); DistanceX := cx; DistanceY := dx; end; Fonction 0Bh Lire les distances de déplacement (LireDistance)
  39. 39. 3. Zones du curseur 03 fonctions existes pour définir les différentes zones du curseur de la souris • Définir la zone de déplacement horizontale • Définir la zone de déplacement verticale • Définir la zone d'exclusion
  40. 40. with ZoneDeplacement do with reg do begin ax := $07; cx := MinX; dx := MaxX; intr($33, reg); end ; Fonction 07h Définir la zone de déplacement horizontale (DefinirZoneDeplacement) with ZoneDeplacement do with reg do begin ax := $08; cx := MinX; dx := MaxX; intr($33, reg); end ; Fonction 07h Définir la zone de déplacement verticale (DefinirZoneDeplacement)
  41. 41. Fonction 10h Définir la zone d'exclusion (DefinirZoneExclusion) with ZoneExclusion do with reg do begin ax := $10; cx := MinX; dx := MinY; si := MaxX; di := MaxY; end; intr($33, reg);
  42. 42. 4. Visibilité du curseur Contrôle la visibilité du curseur et modifié ça motif • Afficher le curseur de la souris sur l'écran • Masquer le curseur de la souris • Définit le curseur de la souris en mode graphique • Définit le curseur de la souris en mode de texte
  43. 43. reg. ax := 2; intr($33, reg); reg. ax := 1; intr($33, reg); Fonction 01h Afficher le curseur de la souris sur l'écran (AfficherCurseur) Fonction 02h Masquer le curseur de la souris (CacherCurseur) with Curseur do with reg do begin ax := $09; bx := 0; cx := 0; es := seg(TypeCurseur); dx := ofs(TypeCurseur); end; intr($33, reg); Fonction 09h Définit le curseur de la souris en mode graphique (DessinerCurseurGraph)
  44. 44. Fonction 0Ah Définit le curseur de la souris en mode de texte (DessinerCurseurTexte) with reg do with Curseur do begin ax := $0a; bx := TypeCurseur; cx := Operand1; dx := Operand2; end; intr($33, reg);
  45. 45. 5. Sensibilité de la souris Définir et lire la sensibilité de la souris • Définir la sensibilité de la souris • Lire la sensibilité de la souris
  46. 46. Fonction 1Ah Définir la sensibilité de la souris (DefinirSensibiliteSouris) with Curseur do with reg do begin ax := $1a; bh := 0; bl := Sensibilite; ch := 0; cl := Sensibilite; dx := Seuil; end; intr($33, reg); Fonction 1Bh Lire la sensibilité de la souris (LireSensibiliteSouris) with Curseur do with reg do begin ax := $1b; intr($33, reg); {Sensibilite := bx;} Sensibilite := cx; Seuil := dx; end;
  47. 47. 6. État de la souris Manipuler l’état de la souris • Lire la taille du buffer d'état de la souris • Sauvegarder état de la souris • Restaurer l'état de la souris
  48. 48. Fonction 15h Lire la taille du buffer d'état de la souris (LireTailleBuffer) with reg do begin ax := $15; intr($33, reg); TailleBuffer := bx; end; Fonction 16h Sauvegarder état de la souris (SauverEtatSouris) with reg do begin ax := $16; bx := TailleBuffer; es := seg(BufferEtatSouris); dx := ofs(BufferEtatSouris); end; intr($33, reg);
  49. 49. Fonction 17h Restaurer l'état de la souris (RestaurerEtatSouris) with reg do begin ax := $17; bx := TailleBuffer; es := seg(BufferEtatSouris); dx := ofs(BufferEtatSouris); end; intr($33, reg);

×