5.1. MOUSE-UL
5.1.1. Introducere
Mouse-ul a fost inventat în 1964 de către Douglas Englebert, care la vremea respectivă lucra la Institutul de Cercetări Stanford, un �rezervor� de gândire sponsorizat de Universitatea Stanford.
Firma Xerox l-a aplicat mai târziu, în 1974, în sistemul de calcul Alto. Doar că, la acea oră, aceste sisteme erau experimentale şi se utilizau doar în cercetare. în 1979, câteva persoane de la Apple au fost invitate să vadă sistemul Alto şi au fost foarte impresionate de perspectivele pe care le deschidea acest dispozitiv în dezvoltarea interfeţelor cu utilizatorul ale sistemului de calcul. Ca urmare, Apple a adoptat acest dispozitiv imediat, în următorul sistem proiectat, Lisa, racolând cu acest prilej şi câţiva oameni de ştiinţă de la Xerox la Apple. în 1981, Xerox a scos pe piaţă calculatorul Star 8010; acesta era foarte scump, astfel încât nu a avut trecere pe piaţă
în 1983, Apple introduce pe piaţă calculatorul Lisa, dar nici acesta nu a avut succes, în cea mai mare măsură datorită preţului ridicat. în 1984, Apple lansează produsul Macintosh care, deşi nu a avut un succes imediat, a crescut în mod constant. Cu toate că mouse-ul nu a câştigat repede teren pe piaţa sistemelor compatibile, interfeţele grafice de azi pentru sistemele de calcul, fie acestea compatibile IBM sau Macintosh, impun folosirea unui mouse. Mouse-ul poate fi de forme sau dimensiuni diferite, în funcţie de provenienţa de la diverşi fabricanţi. Chiar dacă aceste dispozitive sunt foarte variate, utilizarea şi întreţinerea lor diferă foarte puţin.
Mouse-ul constă din următoarele componente:
- carcasă de protecţie;
- sistem de semnalare a mişcărilor efectuate;
- câteva butoane (minimum două sau trei) pentru selecţii;
- un cablu pentru conectare la sistem;
- un conector pentru ataşarea mouse-ului la sistem.
5.1.2. Clasificări şi metode constructive
Imaginea mouse-ului pe ecran poate avea nenumărate forme şi poate fi modificată de utilizator. în principiu, cursorul poate fi reprezentat pe ecran printr-o matrice de 16?16 pixeli, incluzând şi masca. Pentru a putea deveni funcţional, un mouse are nevoie de un program (driver de mouse), cu rolul de a asigura mişcarea acestuia pe ecran. Există driver-e care pot lucra în mod text şi mod grafic sau doar într-unul din ele. Acestea preiau informaţiile provenite de la mouse şi le traduc în mişcări echivalente pe ecran. Mouse-ul poate avea două sau trei butoane principale (şi o serie de butoane secundare pentru Scroll), care au funcţiile definibile. Din punct de vedere tehnic şi depinzând de dezvoltarea tehnologică, mouse-ul a evoluat de la cel mecanic la cel optic şi până la touchpad.
5.1.2.1. Clasificare funcţională
A. Mouse-ul mecanic
Dispune de două role de cauciuc, ale căror axe de rotaţie sunt perpendiculare. între aceste role există o bilă metalică cauciucată, care are rolul de a transmite mişcarea celor două role de cauciuc. De asemenea, mouse-ul are şi o a treia rolă, care nu are un rol activ, ci foloseşte doar la susţinerea bilei cauciucate. în funcţie de deplasarea mouse-ului paralel cu axa sa principală, perpendicular pe această axă sau oblic, se roteşte una dintre cele două role sau ambele. Fiecare rolă antrenează câte un potenţiometru. Măsurarea variaţiei rezistenţei potenţiometrului permite determinarea lungimii deplasării mouse-ului în cele două direcţii.
în figura 5.1 este prezentată schema de principiu a unui mouse mecanic.
B. Mouse-ul opto-mecanic
Mouse-ul opto-mecanic are, de asemenea, două role dispuse în planuri de rotaţie perpendiculare. Fiecare rolă este conectată la o rotiţă crestată, care are de o parte şi de alta o sursă de lumină (LED) şi un fotodetector (fototranzistor). Ansamblul LED-fototranzistor se foloseşte în baterii de câte două. La orice mişcare a bilei, şi implicit a rotiţei crestate, acest ansamblu detectează numărul de crestături şi, de aici, deplasarea relativă a mouse-ului pe suportul de mişcare. Acest tip de mouse are discuri cu fante radiale, la care transmisia impulsurilor se realizează fotoelectric. La mişcarea pe diagonală, se rotesc ambele role. Rezultatul constă în transmiterea unor impulsuri, numite mickeys.
Raza de acţiune depinde de numărul discurilor şi de numărul de fante. Pentru a afla direcţia mişcării. se folosesc semnale în cuadratură. Mai există o altă metodă de aflare a direcţiei de mişcare, folosind un montaj care reacţionează la frontul crescător al impulsului. în funcţie de sensul de rotaţie, impulsurile sosesc defazate în timp. Semnalul este prelucrat de un cip de pe controlerul inclus în carcasa mouse-ului, abia apoi fiind prezentă interfaţa serială RS-232C.
Figura 5.2 prezintă schema de principiu a unui mouse opto-mecanic.
Avantajele acestor două tipuri de mouse sunt următoarele: robusteţe, cost relativ scăzut, deplasare pe orice suprafaţă.
Dezavantajele cele mai des întâlnite la mouse-ul cu parte mecanică sunt determinate de prăfuirea bilei, ceea ce duce la griparea cilindrilor. Acest tip de mouse este greu de depanat. Pentru a remedia acest inconvenient, bila de inox este înlocuită uzual cu una din coralzită, bilă care se acoperă cu o peliculă fină, pentru îmbunătăţirea condiţiilor de contact.
C. Mouse-ul optic
Mouse-ul optic cu suprafaţă raster. Acesta utilizează o diodă electro-luminiscentă (LED) şi un fotodetector. Dispozitivul se deplasează pe o placă specială, formată dintr-un număr mare de benzi reflectorizante egal distanţate între ele, dispuse într-o grilă rectangulară (vezi figura 5.3). La deplasarea mouse-ului pe această placă, fotodetectorul contorizează numărul de benzi peste care a trecut mouse-ul, prin măsurarea semnalului reflectat emis de LED.
Dezavantajul acestei metode este că mouse-ul necesită prezenţa acelui suport special (pad). Partea de jos a dispozitivului este acoperită cu un strat subţire de pastă, având rol de protecţie, iar pad-ul are imprimat un raster. Rasterul este bicolor: liniile verticale sunt de culoare albastră, iar cele orizontale sunt de culoare cenuşie spre negru. Ambele tipuri de linii au în componenţă o substanţă specială de filtrare, astfel încât lumina reflectată are o culoare albastră, cenuşie sau o combinaţie a celor două.
Aici, suprafaţa joacă rolul discului cu fante de la mouse-ul mecanic, iar rasterul este asemănător unei matrice de LED-uri. Mouse-ul prezintă două LED-uri cu lumină în infraroşu având razele dispuse într-un unghi de 90?. Substanţa colorată de pe linii are o astfel de compoziţie, încât lumina dată de un LED este bine absorbită de o culoare şi este transparentă pentru lumina dată de celălalt LED. După ce raza este reflectată de suprafaţa argintie, aceasta este focalizată de două lentile pe două oglinzi. De aici, ea este transmisă spre două matrice liniare şi perpendiculare, fiecare având câte patru fotodiode. Cele patru fotodiode sunt astfel amplasate, încât, dacă lumina ar fi reproiectată prin oglinzi şi lentile, s-ar suprapune perfect peste structura raster. Astfel, cei patru senzori reproduc o perioadă a rasterului. Fiecare fotodiodă din matrice dă un semnal electric defazat cu 90? faţă de semnalul fotodiodei vecine. Prin poziţionarea celor două matrice pe orizontală şi verticală, se obţine descompunerea mişcării pe cele două direcţii.
Avantajele acestui model sunt: eliminarea componentelor mecanice sau a potenţiometrelor generatoare de zgomot, izolarea faţă de mediul exterior, eroarea foarte mică de poziţionare (< 1/1.000) şi durata mare de viaţă.
Mouse-ul optic cu LED roşu. A fost dezvoltat de firma Agilent Technologies în 1999. Utilizează o cameră de dimensiuni foarte mici, care captează câte 1.500 de imagini în fiecare secundă. Capabil să lucreze pe aproape orice tip de suprafaţă, mouse-ul dispune de un LED roşu, a cărui lumină se reflectă de pe acea suprafaţă şi este captată de un senzor CMOS. Senzorul CMOS trimite fiecare imagine în parte către un procesor digital de semnal (DSP), care analizează imaginile şi detectează structurile din imagine, sesizând modificările faţă de imaginea precedentă. DSP-ul lucrează cu viteza de 18 mips (milioane de instrucţiuni pe secundă). Pe baza schimbărilor de structură dintr-o secvenţă de imagini, DSP-ul determină mişcările mouse-ului şi trimite calculatorului coordonatele corespunzătoare. Cursorul este astfel actualizat de câteva sute de ori într-o secundă, făcând ca deplasarea acestuia să fie foarte lină. Rezoluţia mouse-ului optic ajunge astfel la valoarea de 800 dpi (Logitech).
Avantajele suplimentare ale acestei variante sunt independenţa de pad-ul special şi rezoluţia ridicată.
5.1.2.2. Moduri de conectare
Legătura cu sistemul de calcul se poate realiza:
A. prin cablu;
B. fără cablu (comunicaţie în infraroşu sau prin unde radio);
C. direct la tastatură;
D. direct la magistrală.
A. Conectarea prin cablu
Mouse-ul se conectează la calculator prin unul din porturile seriale COM1 şi COM2, pe portul PS/2 (direct pe placa de bază) sau, mai nou, pe portul USB. Informaţiile sunt transmise de către mouse la fiecare 500-600 ms şi sunt recepţionate de calculator prin interfaţa V24. Aceste informaţii conţin 3 octeţi. Primul octet reprezintă deplasarea pe coordonata x în ultimele 100 ms citite, al doilea reprezintă deplasarea pe coordonata y în acelaşi interval, iar al treilea, starea logică a butoanelor. Driver-ul analizează starea mouse-ului şi transformă informaţiile referitoare la deplasările relative în poziţii absolute pe ecran şi afişează cursorul.
La fel ca la alte dispozitive seriale, conectorul de la capătul cablului este de tip �tată�, fie cu 9, fie cu 25 de pini. Deşi pentru comunicaţia dintre mouse şi driver-ul de dispozitiv sunt folosiţi numai câţiva pini ai conectorului DB-9 sau DB-25, conectorul prezintă toţi cei 9 sau 25 de pini. Deoarece la majoritatea calculatoarelor PC sunt cel puţin două porturi seriale, mouse-ul serial poate fi conectat atât la COM1, cât şi la COM2. La iniţializarea sistemului, driver-ul de dispozitiv examinează porturile, pentru a determina la care dintre ele este legat mouse-ul. Cum un mouse nu se conectează direct la sistem, nu el este cel care îi foloseşte resursele, ci portul serial corespunzător lui.
Exemplu . Pentru un mouse conectat la COM2, acesta va folosi întreruperea IRQ 3 şi adresele de port I/O 2F8H-2FFH.
B. Conectarea fără cablu (comunicaţie în infraroşu, radio, bluetooth)
Comunicaţia se desfăşoară în infraroşu sau prin unde radio sau bluetooth (mai nou), de aceea acest tip de mouse conţine două dispozitive: mouse-ul propriu zis, împreună cu dispozitivul de emisie în infraroşu/radio, şi dispozitivul de recepţie, cuplat prin fir la calculator. Deplasarea mouse-ului este codată şi transferată prin radiaţie circuitului de decodare, care, la rândul său, trimite semnalul decodat calculatorului, semnalul fiind standard.
C. Conectarea direct la tastatură
Al treilea tip de mouse este şi cel mai nou. De aceea nici forma nu mai este standard, numele nu mai este acelaşi, deşi funcţia este identică: poate fi întâlnit sub denumirile de trackball sau touchpad (vezi paragrafele 5.4 şi 5.6).
Trackball-ul este un dispozitiv înrudit cu mouse-ul, diferenţa constând în faptul că mouse-ul se mişcă pe un suport pe care acţionează bila, iar la trackball bila se roteşte direct cu mâna. Are, de asemenea, două sau trei butoane. Trackball-ul poate fi integrat în tastatură, sau poate fi construit ca un mouse obişnuit, cu diferenţa că utilizatorul manevrează direct bila, iar mişcările bilei sunt traduse în mişcări ale cursorului pe ecran.
Touchpad-ul este un mic ecran senzitiv, care �simte� degetul. Astfel, cursorul de pe ecran devine prelungirea degetului utilizatorului, acesta fiind un mod de utilizare natural al calculatorului. De asemenea, atingerea mai puternică a ecranului senzitiv are rol de clic, iar atingerea dublă are rol de dublu clic. şi touchpad-ul este prevăzut cu butoane, de obicei, două. Acesta este folosit în special la notebook-uri, deoarece prezintă avantajul de a fi integrat direct în laptop, iar utilizatorul nu mai trebuie să aibă încă un dispozitiv suplimentar pentru a folosi computerul la întreaga sa capacitate. Unii constructori de notebook-uri (în special, IBM) preferă integrarea unui mouse de tip mini-stick în loc de touchpad.
Figura 5.5 prezintă atât touchpad-ul cât şi stick-ul (dreapta sus).
D. Conectarea direct la magistrală
De regulă, un mouse pentru magistrală este folosit în sistemele care nu dispun de un port pe placa de bază sau de porturi seriale libere. Numele de �mouse pentru magistrală� derivă din faptul că mouse-ul necesită o placă specială pentru interfaţa de magistrală, care ocupă un conector din calculator (slot ISA) şi comunică cu driver-ul de dispozitiv prin magistrala principală a plăcii de bază. Un mouse de magistrală poate fi periculos, pentru că foloseşte un conector mini-DIN, exact ca mouse-ul de tip PS/2, deşi sunt total incompatibile. Această incompatibilitate poate duce la distrugerea plăcii de bază.
Plăcile şi adaptoarele pentru mouse-ul de magistrală dau, de regulă, posibilitatea alegerii întreruperilor şi stabilirii adreselor portului I/O, dar selecţia IRQ este limitată la întreruperile pe 8 biţi. De obicei, aceasta înseamnă că trebuie selectat IRQ 5 în majoritatea sistemelor care au două porturi seriale, deoarece toate celelalte întreruperi pe 8 biţi vor fi folosite. Dacă, în plus, se doreşte utilizarea unei alte plăci pe 8 biţi, ca, de exemplu, o placă de sunet (care are nevoie de o întrerupere), aceasta nu va putea fi folosită de sistem fără să apară conflicte. Denumirea brevetată a conexiunii de mouse pentru magistrală este aceea de inport mouse (Microsoft).
5.1.2.3. Cursorul mouse-ului
Cursorul de mouse are două reprezentări de bază:
- în mod text;
- în mod grafic.
La un moment dat, pe ecran este afişat un singur tip de cursor.
A. Cursorul în modul text
Cursorul în modul text dispune, la rândul lui, de două tipuri individuale de reprezentare: cursorul hardware şi cursorul software.
Cursorul hardware este cel care apare pe ecran la pornirea calculatorului. Acesta este un cursor clipitor, care se deplasează pe ecran de la un caracter la altul, putând lua forma unui pixel sau a unei liniuţe. El este format dintr-un bloc de 8 pixeli lăţime pe 16 pixeli înălţime. Un set orizontal de pixeli formează un set de baleiere, acesta fiind cel care determină apariţia cursorului. Pixelii dintr-un set sunt numerotaţi, în general, de la 0 la 7 (sau de la 0 la 11, în funcţie de monitor), linia de vârf având numărul 0. Dacă o linie este aprinsă, în zona respectivă apare clipirea pe ecran; în caz contrar, ea nu are niciun efect.
Cursorul software se deplasează tot de la caracter la caracter, dar utilizează atributele de afişare, pentru a influenţa modul de apariţie al caracterelor pe ecran. Acest efect este creat prin două măşti a câte 16 biţi, o mască a ecranului şi o mască a cursorului. Valorile acestor măşti determină noile atribute ale caracterelor, în momentul în care acestea din urmă sunt acoperite de cursor. Masca ecranului decide care atribute ale ecranului se păstrează, iar masca cursorului va decide în ce mod se modifică atributele pentru generarea cursorului.
întâi se realizează un şI logic (AND) între masca ecranului şi biţii care definesc caracterul de pe ecran, iar apoi între rezultatul obţinut şi masca cursorului se efectuează un SAU exclusiv (XOR).
B. Cursorul în modul grafic
Cursorul în modul grafic reprezintă o formă care se deplasează pe ecran peste imagine şi este alcătuit dintr-un bloc de pixeli. Deplasarea pe ecran afectează punctele din spatele cursorului, astfel fiind create forma şi culoarea sa. Locaţia pe ecran a acestui tip de cursor este direct legată de un pixel din spatele său. Acest pixel, utilizat de software pentru a determina coordonatele cursorului, se numeşte punct de referinţă.
Şi aici se definesc două măşti pentru crearea cursorului: masca ecranului şi masca cursorului. Masca ecranului determină care pixeli dau forma cursorului şi care reprezintă fondul, iar masca cursorului determină care pixeli contribuie la culoarea cursorului. în momentul în care se fac modificări în zona ecranului în care se află cursorul, acesta trebuie să fie ascuns, astfel încât să nu fie reactivate pe ecran vechile valori.
Întâi se realizează un şI logic (AND) între masca ecranului şi biţii care definesc pixelii de sub cursor, iar apoi între rezultatul obţinut şi masca cursorului se efectuează un SAU exclusiv (XOR).
5.1.2.4. Întreruperile mouse-ului
Un mouse foloseşte o întrerupere ori de câte ori are de transmis o informaţie driver-ului său. Dacă apare un conflict în momentul în care întreruperea utilizată de mouse este folosită de un alt dispozitiv, atunci mouse-ul nu va funcţiona corect sau nu va funcţiona deloc.
Dacă sistemul foloseşte un port de mouse, în mod normal nu apar conflicte de întrerupere, dar acest lucru se poate întâmpla în cazul folosirii celorlalte interfeţe pentru conectare. Dacă se utilizează o interfaţă serială, conflictele de întreruperi apar, de regulă, la adăugarea unui al treilea sau al patrulea port serial. Aceasta se întâmplă deoarece, în sistemele cu magistrală ISA, porturile seriale numerotate impar (1 sau 3) sunt adeseori prost configurate şi folosesc aceleaşi întreruperi ca porturile numerotate par (2 sau 4). Astfel, dacă mouse-ul este conectat la COM2, iar un modem este conectat la COM4, s-ar putea ca ambele să folosească aceeaşi întrerupere, ceea ce duce la imposibilitatea folosirii simultane.
Există o întrerupere soft care permite accesul la rutina de programare a mouse-ului, care este, de fapt, interfaţa de mouse Microsoft, INT 33H. Funcţiile oferite de această interfaţă sunt suportate în mare măsură şi de aşa-numitele driver-e compatibile Microsoft.