Laboratorul 3 Echipamente de intrare

 

Mouse

1.Generalitati

Parintele soricelului a fost Douglas Emglebert, care lucra la Institutul de Cercetari Stranford. Denumirea oficiala data mouse-ului a fost "indicator de pozitie X-Y pentru un sistem de afisare". Firma Xerox l-a aplicat mai târziu, în 1974, la sistemul sau revolutionar de calcul, Alto. Din pacate, aceste sisteme erau experimentale în perioada respectiva si se foloseau numai în cercetare.

În 1979, câteva persoane de la Apple, au fost invitate sa vada calculatorul Alto si softul sau de sistem. Apple a adoptat prompt aceste caracteristici în ceea ce urma sa devina calculatorul Lisa. Desi Xerox a introdus în 1981 calculatorul Star 8010, bazat pe aceeasi tehnologie, fiind însa foarte scump, nu a avut trecere pe piata si probabil ca nu îi venise înca timpul. Apple a realizat în 1983 calculatorul Lisa, dar nici acesta nu a fost un succes, în mare masura datorita pretului de catalog de 10000$; dar, în acelasi timp, firma Apple se orientase spre productia succesorului mai ieftin al acestuia, Macintosh.

Apple Macintosh a fost introdus în anul 1984 si desi nu a avut un succes imediat, popularitatea sa a crescut de atunci în mod constant. Multi asociaza inventarea mouse-lui si a interfetei grafice cu Macintosh-ul, dar de fapt aceasta tehnologie a fost împrumutata de la altii, inclusiv de la Institutul de Cercetari Stanford si de la Xerox.

Desi mouse-ul nu a câstigat repede teren pe piata sistemelor compatibile, interfetele grafice de astazi pentru sistemele PC, cum sunt Windows si OS/2, impun folosirea lui. De aceea, practic fiecare sistem de calcul se vinde astazi însotit de un mouse.

Mouse-ul poate fi de forme sau dimensiuni diferite, în functie de provenienta de la diversi fabricanti. Chiar daca aceste dispozitive sunt foarte variate, utilizarea si întretinerea lor difera foarte putin. Mouse-ul are urmatoarele componente :

  • o carcasa ;
  • o bila de cauciuc care semnaleaza sistemului miscarile facute;
  • câteva butoane ( de obicei 2 sau 3 ) pentru selectii;
  • un cablu pentru conectare la sistem;
  • un conector pentru atasarea mouse-ului la sistem

2. Clasificari si metode constructive

Soricelul a aparut ca o necesitate în utilizarea mai comoda a calculatorului, în special fiind folosit la lucrul cu interfete grafice cum ar fi cele de sub Windows. Astazi el a devenit un obiect indispensabil utilizatorului obisnuit, soricelul fiind chiar o necesitate (vezi Windows 95 ), datorita faptului ca unele programe ruleaza foarte greu sau chiar deloc fara mouse.

De fapt, soricelul e reprezentat prin obiectul în sine si imaginea lui pe ecran. Obiectul în sine este reprezentat prin nenumarate forme si modele. Imaginea lui de pe ecran poate avea nenumarate forme si poate fi modificata de utilizator. În principiu, pe ecran pointerul poate fi reprezentat de o matrice de maxim 16*16 pixeli, incluzând si masca. Pentru a putea deveni functional un mouse are nevoie de un program (driver de mouse), care are rolul de a asigura miscarea acestuia pe ecran. Sunt drivere ce pot lucra în mod text si mod grafic sau doar în unul dintre ele. Acestea preiau informatiile venite de la mouse si le traduc în miscari echivalente pe ecran. Soricelul poate avea doua sau trei butoane care au functiile definibile. Din punct de vedere tehnic si în functie de dezvoltarea tehnologica soriceii au avut o evolutie trecând de la mouse-ul mecanic la cel optic si pâna la touchpad.

2.1 Clasificarea functionala a mouse-ului

Din punct de vedere functional exista 3 tipuri de mouse-uri:

1) mecanic

2) opto-mecanic

3) optic

2.1.1. Mouse-ul mecanic

Dispune de doua role de cauciuc a caror axe de rotatie sunt perpendiculare. Între aceste role exista o bila metalica cauciucata care are rolul de a transmite miscarea celor doua role de cauciuc. De asemenea, mouse-ul are si o a treia rola care nu are un rol activ, ci foloseste doar la sustinerea bilei cauciucate. În functie de deplasarea mouse-ului paralel cu axa sa principala sau perpendicular pe aceasta axa, se roteste una dintre cele doua role. Fiecare rola antreneaza câte un potentiometru. Masurarea variatiei potentiometrului permite determinarea lungimii deplasarii mouse-ului în cele doua directii.

Astfel, daca se realizeaza o miscare pe directia axei OX si daca miscarea se realizeaza în partea dreapta, rezistenta potentiometrului aferent creste, iar daca miscarea este la stânga, rezistenta lui scade. În mod similar, la miscarea pe directia axei OY, daca miscarea se face în sus, rezistenta creste, iar daca se face în jos, ea scade. Prin compunerea miscarilor pe cele doua axe perpendiculare, rezulta miscarea oblica.

Un principal dezavantaj al moue-ului mecanic este utilizarea potentiometrelor care sunt o importanta sursa de zgomot pentru sistem.

În Figura 1 vom prezenta schema de principiu a unui mouse mecanic.


Figura 1 - Schema mouse-ului mecanic

2.1.2 Mouse-ul opto-mecanic

Mouse-ul opto-mecanic îmbina avantajele mouse-ului mecanic cu cele ale mouse-ului optic. De la mouse-ul mecanic a preluat bila, ceea ne asigura ca deplasarea pe ecran a cursorului nu va mai fi în functie de tipul si de asezarea padului, iar de la mouse-ul optic împrumuta perechea led-fotodetector, pastrându-se avantajul eliminarii potentiometrelor. Si acest tip de mouse, ca mouse-ul mecanic, are role situate pe directii perpendiculare, actionate de bila. Fiecare rola este conectata la o rotita crestata care are de o parte si de alta un led si o fotodioda. La orice miscare a bilei si implicit a rotitei crestate, combinatia led-fotodetector detecteaza numarul de crestaturi si deci, deplasarea relativa a soricelului pe suportul de miscare. Acest tip de mouse are discuri cu fante radiale la care transmisia impulsurilor se realizeaza fotoelectric.

Fotodetectorii sunt în general fototranzistori. Ansamblul led-fototranzistor se foloseste în baterii de câte doua. La miscarea pe diagonala se rotesc ambele role. Rezultatul consta în transmiterea unor impulsuri numite mickeys.

Raza de actiune depinde de numarul discurilor si de numarul de fante. Pentru a afla directia miscarii se folosesc semnale în cuadratura. Mai exista o alta metoda de aflare a directiei de miscare, metoda ce foloseste un montaj care reactioneaza la frontul crescator al impulsului. În functie de sensul de rotatie impulsurile vor veni defazate în timp. Semnalul este prelucrat de un chip de pe controller-ul inclus în carcasa mouse-lui, abia apoi fiind prezenta interfata seriala RS 232.

Avantajele acestui tip de mouse sunt urmatoarele: robustetea, costul relativ scazut si faptul ca se poate deplasa pe orice suprafata. Un fapt care trebuie remarcat este acela ca mouse-ul opto-mecanic este cel mai des folosit în practica.

Dezavantajele cele mai des întâlnite la mouse-ul opto-mecanic sunt determinate de prafuirea bilei ce duce la griparea cilindrilor, acest tip de mouse fiind greu de depanat. Uzual, pentru a remedia acest inconvenient, bila de inox este înlocuita cu una din coralzita, bila ce se acopera cu o pelicula fina pentru îmbunatatirea conditiilor de contact.

În Figura 2 vom prezenta schema de principiu a unui mouse opto-mecanic.


Figura 2 - Schema mouse-ului opto-mecanic

2.1.3 Mouse-ul optic

Acest tip de mouse a aparut în anul 1982 si are ca principal avantaj faptul ca nu prezinta parti în miscare. El înlocuieste bila, rolele si potentiometrele ce apar la un mouse mecanic cu un ansamblu led-fotodetector. Mouse-ul optic se deplaseaza pe o placa speciala formata dintr-un numar mare de benzi reflectorizante egal distantate între ele, dispuse într-o grila rectangulara. Când mouse-ul se deplaseaza pe aceasta placa, foto-detectorul contorizeaza numarul de benzi peste care a trecut mouse-ul prin masurarea semnalului reflectat emis de led.

Partea de jos este acoperita de un strat subtire de pasta având rol de protectie. Padul are imprimat un raster. Raster-ul este bicolor: liniile verticale sunt de culoare albastra, iar cele orizontale sunt de culoare cenusie spre negru. Ambele tipuri de linii au în componenta o substanta speciala, astfel încât lumina reflectata va avea o culoare albastra, cenusie sau o combinatie a celor doua.

Aici suprafata joaca rolul discului cu fante de la mouse-ul mecanic, iar raster-ul este asemanator unei matrici de leduri. Soricelul prezinta doua leduri cu lumina în infrarosu având razele dispuse într-un unghi de nouazeci de grade. Substanta colorata de pe linie are o astfel de compozitie încât lumina data de un led este bine absorbita de o culoare si este transparenta pentru lumina data de celalalt led. Dupa ce raza este reflectata de suprafata argintie, ea este focalizata de doua lentile pe doua oglinzi. De aici ea este transmisa la doua matrici liniare si perpendiculare, fiecare având câte patru fotodiode. Cele patru fotodiode sunt astfel amplasate, astfel încât daca lumina ar fi reproiectata prin oglinzi si lentile , ea se va suprapune perfect peste raster.

Astfel, cei patru senzori reproduc o perioada a raster-ului. Fiecare fotodioda din matrice da un semnal electric defazat cu nouazeci de grade fata de semnalul fotodiodei vecine. Prin pozitionarea celor doua matrici pe orizontala si verticala, se obtine descompunerea miscarii pe cele doua directii.

Cutia este ermetic închisa, precizia mouse-ului nemaifiind afectata de praf. Sistemul este mai scump ca variantele prezentate anterior datorita faptului ca necesita o suprafata speciala de deplasare.

Principalele avantaje ale acestui model sunt: - eroarea foarte mica de pozitionare, care este mai mica decat 1/1000 si durata mare de viata.

Pe de alta parte, mouse-ul prezinta doua mari dezavantaje: sensibilitatea lui la miscare depinde de tipul padului si directia de deplasare a cursorului pe ecran depinde de asezarea padului. Daca padul a fost asezat într-o directie oblica iar mouse-ul se misca pe directia verticala, rezultatul pe ecran va fi o miscare oblica a cursorului.

În Figura 3 vom prezenta schema de principiu a unui mouse optic:


Figura 3 - Schema mouse-ului optic

Pe lânga variantele constructive prezentate mai sus, mai exista si alte tipuri de mouse-uri, însa ele nu au o raspândire asa de mare ca cele prezentate anterior.

Printre acestea putem aminti:

Mouse-ul analogic - El are un potentiometru comandat prin bila sau prin doua role perpendiculare. Are însa o durata de viata scazuta si o posibilitate de deplasare limitata datorata potentiometrului.

Mouse acusto-mecanic - Este asemanator celui opto-mecanic, folosind unde acustice în locul celor luminoase.

2.2. Clasificarea mouse-ului dupa modul de conectare la calculator

Un mouse se poate conecta la calculator:

1) Prin cablu.

2) Fara cablu (comunicatie IR).

3) Direct la tastatura.

4) Direct la magistrala.

2.2.1)Mouse conectat prin cablu

Mouse-ul se conecteaza la calculator prin unul din porturile seriale asa numitele COM1 si COM2. Informatiile sunt transmise de mouse la fiecare 500-600ms si sunt receptionate de calculator prin interfata V24. Aceste informatii contin trei octeti. Primul octet reprezinta deplasarea pe coordonata x în ultimele 100 ms citite, al doilea reprezinta deplasarea pe coordonata y în acelasi timp, iar al treilea octet reprezinta starea logica a butoanelor. Driver-ul analizeaza starea mouse-lui si transforma informatiile referitoare la deplasarile relative în pozitii absolute pe ecran si afiseaza pozitia cursorului. Ca si la alte dispozitive seriale, conectorul de la capatul cablului este de tip "tata", fie cu 9, fie cu 25 de pini. Desi pentru comunicatia dintre mouse si driver-ul de dispozitiv sunt folositi numai câtiva pini ai conectorului DB-9 sau DB-25, conectorul prezinta toti cei 9 sau 25 de pini. Deoarece majoritatea calculatoarelor PC sunt prevazute cu doua porturi seriale, mouse-ul serial poate fi conectat atât în COM1 cât si în COM2.

La initializarea sistemului, driver-ul de dispozitiv examineaza porturile pentru a determina la care dintre ele este legat mouse-ul. Cum un mouse nu se conecteaza direct la sistem, nu el este cel care îi foloseste resursele, ci portul serial corespunzator lui. De exemplu, un mouse conectat la COM2, va folosi IRQ 3 si adresele de port I/O 2F8h-2FFh.

Portul pentru mouse, de pe placa de baza (PS/2), este un port dedicat, aparut o data cu sistemele PS/2 livrate de IBM din 1987. De aceea, portul este denumit si interfata PS/2 pentru mouse. Conectorul de mouse de pe placa de baza este, de regula, acelasi cu cel "mini-DIN" utilizat pentru tastaturile mai noi. De fapt, portul de mouse este conectat la controller-ul de tastatura de tip 8042, aflat pe placa de baza.

Alte placi de baza au un conector de tip "tata", cu pini ("pin-header") pentru portul de mouse, deoarece cele mai multe carcase standard nu sunt prevazute cu orificii pentru conectorul "mini-DIN", destinat mouse-ului. În aceasta situatie, sistemul se livreaza cu un cablu adaptor, care face trecerea de la un tip de conector la celalalt.

Conectarea mouse-ului la portul sau dedicat este cea mai buna metoda, pentru ca în acest mod nu se pierde nici un conector de interfata si nici un port serial, iar performantele nu sunt limitate de circuitele portului serial. Resursele standard folosite de portul de mouse, de pe placa de baza (sau PS/2) sunt IRQ 12 si adresele de port I/O 60h si 64h. IRQ 12 este o întrerupere pe 16 biti care, în cazul majoritatii sistemelor, este libera. Ea trebuie sa ramâna libera în orice sistem cu magistrala ISA care dispune de un port de mouse, deoarece magistralele ISA nu permite partajarea întreruperilor.

2.2.2)Mouse-ul fara cablu(comunicatie IR)

Comunicatia se desfasoara cu ajutorul transmisiei în infrarosu, de aceea acest tip de mouse contine doua dispozitive: mouse-ul propriu zis împreuna cu dispozitivul de emisie în infrarosu si dispozitivul de receptie cuplat prin fir la calculator. Deplasarea soricelului este codata si transferata prin radiatie circuitului de decodare care, la rândul lui, trimite semnalul decodat calculatorului. Semnalul trimis este standard.

2.2.3) Mouse-ul direct atasat la tastatura

Mouse-ul atasat direct la tastatura este cel mai nou tip de mouse. De aceea nici forma nu mai este standard, numele nu mai este acelasi, desi functia este identica: poate fi întâlnit ca trackball, touchpad.

Trackball-ul este un dispozitiv înrudit cu mouse-ul, diferenta constând în faptul ca mouse-ul se misca pe un suport pe care actioneaza bila, iar la trackball se roteste direct bila. De asemenea are doua sau trei butoane.

Touchpad-ul este un mic ecran senzitiv care "simte" degetul, în acest fel pointerul de pe ecran devenind prelungirea degetului utilizatorului. De asemenea, atingerea mai puternica a ecranului senzitiv are rol de clic iar atingerea dubla are rol de dublu-clic. Si touchpad-ul are butoane, de obicei doua.

2.2.4) Mouse-ul direct atasat la magistrala

Acest tip de mouse este caracterizat de faptul ca are o placa care se introduce într-un soclu al placii de baza. Desi utilizarea lui este identica cu a celorlalte tipuri de mouse-uri, folosirea lui implica câteva dezavantaje: ocupa un slot ISA, si desi mufa de conectare arata identic cu o mufa PS/2 semnalele nu sunt identice. O folosire a unui mouse PS/2 poate duce la deteriorarea placii.

De regula, un mouse pentru magistrala este folosit în sistemele care nu dispun de un port separat pe placa de baza sau de porturi seriale libere. Numele de "mouse pentru magistrala" deriva din faptul ca mouse-ul necesita o placa speciala pentru interfata de magistrala, care ocupa un conector din calculator si comunica cu driver-ul de dispozitiv prin magistrala principala a placii de baza. Desi folosirea unui mouse pentru magistrala este transparenta pentru utilizator (nu exista nici o diferenta între modul lui de operare si cel al celorlalte tipuri), este considerat putin recomandabil deoarece ocupa un conector care ar putea fi util pentru alte echipamente periferice.

Un alt inconvenient este incompatibilitatea cu celelalte modele. Adaptoarele de magistrala sunt disponibile de regula numai pentru conectori ISA, care sunt întotdeauna pe 8 biti, astfel ele fiind limitate în alegerea întreruperilor hard neconflictuale. Un mouse de magistrala poate fi periculos pentru ca foloseste un conector "mini-DIN", exact ca mouse-ul de tip PS/2, desi sunt total incompatibile, aceasta incompatibilitate putând duce la distrugerea placii de baza.

Placile si adaptoarele pentru mouse-ul de magistrala dau de regula posibilitatea alegerii întreruperilor si stabilirii adreselor portului I/O, dar selectia IRQ este limitata la întreruperile pe 8 biti. De obicei, aceasta înseamna ca trebuie selectat IRQ 5 în majoritatea sistemelor care au 2 porturi seriale, deoarece toate celelalte întreruperi pe 8 biti vor fi folosite. Daca, în plus, se doreste utilizarea unei alte placi pe 8 biti, ca de exemplu o placa de sunet (care are nevoie de o întrerupere), aceasta nu va putea fi folosita de sistem fara sa apara conflicte.

Denumirea brevetata a conexiunii mouse-ului de magistrala este aceea de inport mouse.(Microsoft)

3. Aspecte software

3.1 Butoanele mouse-ului

În forma cea mai simpla mouse-ul are un singur buton. Deplasarea mouse-ului determina pozitia cursorului pe ecran, dar selectarea unui element se face numai atunci când butonul este apasat, astfel încât sa nu fie selectate în mod accidental si alte elemente peste care trece cursorul mouse-ului. Un singur buton înseamna modelul cel mai putin complex si minimul necesar pentru executarea functiilor mouse-ului. Sistemele Apple Macintosh folosesc acest tip de mouse cu un singur buton.

Doua butoane ofera însa mai multa flexibilitate. De exemplu un buton poate fi folisit pentru comanda "executa", iar al doilea pentru comanda anuleaza. Majoritatea aplicatiilor folosesc unul sau doua butoane, iar cele mai întâlnite mouse-uri au numai doua butoane.

Trei butoane reprezinta limita practica de butoane deoarece sunt disponibile trei pozitii pentru index, mujlociu si inelar, în timp ce degetul mare si mic tin mouse-ul.

Fiecare apasare pe un buton determina incrementarea unui contor (pentru memorarea numarului de apasari si eliberari), acesta fiind pozitionat automat pe 0 în momentul citirii sale sau în cazul unei resetari. Ca urmare, starea butoanelor (apasari, eliberari, precum si starea logica apasat sau eliberat) poate fi obtinuta prin metode software, ea fiind specificata printr-o valoare întreaga. Daca bitul corespunzator unui buton are valoarea 1, acesta este apasat, în caz contrar el fiind liber.

3.2 Unitatea de distanta

Miscarea mouse-ului se exprima în unitati de distanta. Unitatea de masura pentru aceasta miscare se numeste rata de deplasare, ea reprezentând cel mai mic increment pe care îl poate detecta mouse-ul. Aceasta valoare este de aproximativ 1/200 inch.

O data cu deplasarea mouse-ului, driverul stabileste un contor de miscare pe verticala si pe orizontala, utilizat pentru deplasarea cursorului pe ecran cu un anumit numar de caractere sau pixeli. De asemenea, se poate defini senzitivitatea mouse-ului ca fiind numarul de rate de deplasare necesare pentru a misca cursorul cu 8 pixeli.

3.3 Cursorul mouse-ului

Mouse-ul poate avea cursorul în doua reprezentari de baza: în mod text si în mod grafic. La un moment dat, pe ecran va fi afisat un singur tip de cursor.

3.3.1) Cursorul în modul text

Cursorul în modul text dispune la rândul lui de doua tipuri individuale de reprezentare: cursorul hardware si cursorul software.

Cursorul hardware este cel care apare pe ecran la pornirea calculatorului. Acesta este un cursor clipitor care se deplaseaza pe ecran de la un caracter la altul, putând lua forma unui pixel sau a unei liniute. El este format dintr-un bloc de 8 pixeli latime pe 16 pixeli înaltime. Un set orizontal de pixeli formeaza un set de baleiere, acestea fiind cele ce determina aparitia cursorului. Ele sunt numerotate în general de la 0 la 7 (sau de la 0 la 11, în functie de monitor), linia de vârf având numarul 0. Daca o linie este aprinsa, în zona respectiva va aparea clipirea pe ecran, în caz contrar ea nu va avea nici un efect.

Cursorul software se deplaseaza tot de la caracter la caracter, dar utilizeaza atributele de afisare pentru a influenta modul de aparitie al caracterelor pe ecran. Acest efect este creat prin doua masti a câte 16 biti, o masca a ecranului si o masca a cursorului. Valorile acestor masti determina noile atribute ale caracterelor, în momentul în care ele sunt acoperite de cursor. Masca ecranului decide care atribute ale ecranului se vor pastra, iar masca cursorului va decide în ce mod se vor modifica atributele pentru generarea cursorului. În primul rând, se realizeaza un si logic între masca ecranului si bitii ce definesc caracterul de pe ecran, iar între rezultatul obtinut si masca cursorului se efectueaza un sau exclusiv.

3.3.2) Cursorul în modul grafic

Cursorul în modul grafic reprezinta o forma care se deplaseaza pe ecran peste imagine si este alcatuit dintr-un bloc de pixeli. Deplasarea pe ecran afecteaza punctele din spatele cursorului, astfel fiind create forma si culoarea sa. Locatia pe ecran a acestui tip de cursor este direct legata de un pixel din spatele sau. Acest pixel, utilizat de software pentru a determina coordonatele cursorului, se numeste punct de referinta.

Si aici se definesc doua masti pentru crearea cursorului: masca ecranului si masca cursorului. Masca ecranului determina care pixeli vor da forma cursorului si care vor reprezenta fondul, iar masca cursorului determina care pixeli vor contribui la culoare cursorului. În momentul în care se fac modificari în zona ecranului în care se afla cursorul, acesta trebuie sa fie ascuns, astfel încât sa nu fie reactivate pe ecran vechile valori. În primul rând se face un si logic între masca ecranului si bitii de date care definesc pixelii de sub cursor, apoi între rezultatul obtinut si masca cursorului se efectueaza un sau exclusiv.

3.4 Întreruperi

Un mouse foloseste o întrerupere ori de câte ori are de transmis o informatie driver-ului sau. Daca apare un conflict si întreruperea utilizata de mouse este folosita de un alt dispozitiv, atunci mouse-ul nu va functiona corect sau nu va functiona deloc.

Daca sistemul foloseste un port de mouse, în mod normal nu apar conflicte de întrerupere, dar acest lucru se poate întâmpla în cazul folosirii celorlalte interfete.

Daca se utilizeaza o interfata seriala, conflictele de întreruperi apar de regula la adaugarea unui al treilea sau al patrulea port serial. Aceasta se întâmpla deoarece, în sistemele cu magistrala ISA, porturile seriale numerotate impar (1 sau 3) sunt adeseori prost configurate si folosesc aceleasi întreruperi ca si porturile numerotate par (2 sau 4). Astfel, daca mouse-ul este conectat la COM2, iar un modem este conectat la COM4, s-ar putea ca ambele sa foloseasca aceeasi întrerupere, ceea ce duce la imposibilitatea folosirii simultane.

Exista o întrerupere soft ce permite accesul la rutina de programare a mouse-lui care este de fapt interfata de mouse Microsoft INT 33h. Functiile oferite de aceasta interfata sunt suportate în mare masura si de asa zisele drivere compatibile Microsoft.

Pentru instalarea mouse-ului se poate apela întreruperea INT 33 h prin intermediul întreruperii INT 86 h, care este interfata generala cu întreruperile software.

Spre exemplu cu ajutorul unui limbaj de nivel înalt cum ar fi limbajul C un mouse se poate instala în modul urmator:

#include <dos.h>
..........................
union REGS reg;
...........................
main( )
{
reg.x.ax=0x01;
int86(0x33, &reg, &reg);
..................................
}

3.4.1) Functii ale întreruperii INT 33h


Functia ooooh

Aceasta functii duce la resetarea mouse-ului la valorile implicite si permite determinarea starii curente a mouse-ului (hardware sau software). Pentru apel, se încarca în registrul ax valoarea 0000h.

Functia 0001h

Aceasta functie permite afisarea pe ecran a cursorului mouse-ului. Pentru apel se încarca în registrul ax valoarea 0001h. Functia nu returneaza nimic.

Functia 0002h

Realizeaza ascunderea cursorului mouse-ului. Pentru apel, se încarca în registrul ax valoarea 0002h. Functia nu returneaza nimic.

Functia 0003h si 0004h

Functia 0003h permite aflarea coordonatelor ecran ale cursorului mouse-ului si a starii butoanelor. Pentru apel, se încarca în registrul ax valoarea 0003h. Functia returneaza coordonatele orizontale si verticale ale cursorului, precum si starea butoanelor.

Functia 0004h permite stabilirea pozitiei curente a cursorului mouse-ului. Pentru apel, se încarca în registrul ax valoarea 0004h, iar în registrii bx , respectiv cx se încarca noua coordonata orizontala, respectiv verticala. Functia nu returneaza nimic.

Functia 0005h si 00006h

Functia 0005h permite citirea starii de apasare a unui buton. Pentru apel, se încarca în registrul ax valoarea 0005h, iar în registrul bx se încarca numarul butonului dorit. Functia returneaza starea butoanelor, numarul de apasari de la ultimul apel, coordonata orizontala a cursorului la ultima apasare, precum si coordonata verticala în aceleasi conditii.

Functia 0006H permite citirea starii de liber a butonului. Apelul se face identic ca apelul 0005h, cu deosebirea ca în ax se încarca valoarea 0006h. Functia returneaza starea butoanelor, numarul de eliberari de la ultimul apel precum si coordonatele orizontale si verticale ale cursorului la ultima eliberare.

Functiile 0007h si 0008h

Functia 0007h permite stabilirea intervalului pentru coordonata orizontala a cursorului mouse-ului. Pentru apel, se încarca în registrul ax valoarea 0007h, în cx se încarca valoarea minima a coordonatei orizontale, iar în dx valoarea maxima a coordonatei orizontale. Functia nu returneaza nimic.

Functia 0008h permite stabilirea intervalului pentru coordonata verticala a cursorului mouse-ului. Pentru apel, se încarca în registrul ax valoarea 0008h, în cx se încarca valoarea minima a coordonatei verticale, iar în dx valoarea maxima a coordonatei verticale. Functia nu returneaza nimic.

Functiile 0009h si 000Ah

Functia 0009h permite definirea cursorului în modul grafic. Pentru apel, se încarca în ax valoarea 0009h, iar în registrii bx si cx coordonatele orizontale, respectiv verticale ale punctului de referinta, iar în es:dx se încarca un pointer la cele doua masti. Functia nu returneaza nimic.

Functia 0009h permite definirea cursorului în modul text. Pentru apel, se încarca în ax valoarea 000Ah, iar în bx o valoarea ce specifica tipul cursorului. Daca s-a specificat cursorul software, în cx si dx se încarca masca ecranului, respectiv a cursorului, iar daca s-a specificat cursorul hardware, în cx si dx se încarca liniile de început, respectiv de sfârsit ale cursorului. Functia nu returneaza nimic.

Functia 000Bh

Aceasta functie permite citirea deplasarii mouse-ului. Pentru apel, se încarca în registrul ax valoarea 000BH, iar functia returneaza numarul ratelor de deplasare pe orizontala si pe verticala.

Functia 000Fh

Aceasta functie permite definirea senzitivitatii mouse-ului. Pentru apel, se încarca în ax valoarea 000Fh, iar în cx si dx valorile senzitivitatilor pe orizontala, respectiv pe verticala. Functia nu returneaza nimic.

Functia 0010h

Aceasta functie permite invalidarea cursorului într-o zona ecran. Pentru apel, se încarca în ax valoarea 0110h, în cx si dx valorile coordonatelor coltului din stânga sus, iar în si si di valorile coordonatelor coltului din dreapta jos. Functia nu returneaza nimic.

Functia 0012h

Aceasta functie permite definirea dimensiunii blocului cursorului grafic. Pentru apel, se încarca în ax valoarea 0012h, în bh o valoare care specifica latimea cursorului, iar în ch o valoare care specifica înaltimea cursorului. În bl va fi încarcata o valoare care specifica coordonata orizontala a punctului de referinta, în cl o valoare care specifica coordonata verticala a punctului de referinta, iar în es:dx un pointer catre cele doua masti. Functia returneaza valoarea FFFFh în registrul ax, în caz de succes.

3.5 Soft pentru drivere

Pentru a functiona corect mouse-ul necesita instalarea unui driver de dispozitiv. Daca se doreste utilizarea mouse-ului în sistemul DOS standard, va trebui încarcat un driver de dispozitiv prin fisierul Config.Sys (caz în care va avea extensia .Sys) sau Autoexec.Bat (cu extensia .Com), spre deosebire de sistemele Windows sau OS/2, în care driver-ul este inclus în mediul de operare.

Una dintre cele mai mari probleme ale driverelor de mouse separate, este încarcarea lor intr-un bloc UMB (Upper Memory Block). Spre exemplu, driverele Microsoft mai vechi necesita un bloc foarte mare (40 .. 56 kB), în care sa se încarce, dupa care se comprima la mai putin de 20 kB. Chiar daca dupa încarcare ocupa pâna la 20 kB, tot trebuie o zona mare pentru introducere. Driverele mai noi (Microsoft) se încarca mai întâi în memoria inferioara, se comprima sub 20 kB, iar apoi se muta în UMB. Mai mult decât atât, driver-ul cauta cel mai mic bloc UMB care îl poate cuprinde, si nu pe cel mai mare, cum s-ar întâmpla la încarcarea driver-ului prin comenzile DEVICE HIGH sau LOAD HIGH.

Pentru instalarea unui mouse în Windows 95, se pot folosi cel putin doua metode. Se poate selecta pictograma Add new Hardware din Control Panel si apoi se selecteaza optiunea de instalare a unui mose. De asemenea, se poate selecta pictograma Mouse din Control Panel, dupa care se selecteaza eticheta General si apoi se selcteaza butonul Change. În ambele cazuri exista posibilitatea alegerii unuia din produsele pentru care Microsoft ofera drivere integrate sau se poate furniza driverul de proprietar de pe discheta. Pentru selectarea unui driver integrat, se executa clic pe butonul radio Show All Devices, dupa care se selecteaza un producator si un produs. Marea majoritate a mouse-urilor disponibile în prezent pot sa emuleze protocolul de mouse Microsoft. Pentru vizualizarea driverelor folosite, se executa clic pe eticheta driver din fereastra Mouse Properties. Vor fi vizualizate doua drivere: unul este driverul în mod real (numele de fisier cu extensia .DRV), iar al doilea este driverul în modul protejat (cu extensia .VXD).

Daca vreti sa aflati informatii suplimentare despre trackball apasati cuvintul cheie Trackball.