Pisanie sterow do myszy??

0

Witam!!
Powiem szybko i krotko. Pisze OS'a. Napisalem obsluge klawiszy i ekrany, ale czas przyszedl na mysz i nie mam zielonego pojecia jak to zrobic. ( nie bede pisal ze nie mozna uzywac przerwan dos'u :P). Pracuje w trybie chornionym wiec nie bedzie problemu z zaladowaniem tego do pamieci.

// nie potrzebuje czegos wyszukanego, chociaz to azeby byl ruch liniowy.
// jak nie macie sterow to chociaz adres w pamieci do portu ps/2 , najwyzej sam cos wykombinuje :D

0

Znalazłem ten tekst w jamiś kursie C++ z tej strony.

Zajmijmy się obsługą myszy w dosie. Wymagany w czystym dosie jest sterownik myszy (np: mouse.com, gmouse.com) a w okienku windowsa wszystko będzie OK.
Odpowiedzialne za to jest przerwanie 33h. Na początek trzeba sprawdzić czy w systemie mamy jakąś mysz . Odpowiedzialny jest za to podprogram 0000h. Musimy więc przenieść tę wartość do rejestru AX i wywołać przerwanie. Potrzebne nam też będą dwie zmienne do odczytania wyników.

unsigned int status,przyciski.
asm
{
MOV AX,0000h
INT 33h
MOV status,AX
MOV przyciski,BX
}

Teraz w zmiennych mamy informacje czy jest mysz w systemie i jakiego rodzaju.

Żeby pokazać kursor na ekranie (w trybie tekstowym) wystarczy wywołać przerwanie z podprogramem 0001h. Po jednokrotnym wywołaniu cały czas będzie widoczny kursor, i automatycznie będzie się przesuwał.

asm
{
MOV AX,0001h
INT 33h
}

Ukrywa kursor podfunkcja 0002h.
Odczytać położenie myszy i stan przycisków można z podprogramu 0003h. Po wywołanu przerwania w rejestrach BX, CX, DX, otrzymamy odpowiednio stan przycisków, położenie po x i y. Polecam poexperymentować.
Przerwaniami jest również bardzo łatwo osiągnąć tryby graficzne, nawet te wysokie np 1024x768 w 256 kolorach. Polecam prześledzić sobie opis przerwań.

// Int 33h to przerwanie pod którym w dosie instaluje się sterownik myszy (dosowy)... A tu chodzi o NAPISANIE STEROWNIKA, nie wykorzystanie gotowego. [mf]

0

Chmolu to wlasnie jest z dosowego drivera myszy ...

Hmm rusek poszukaj w necie pamietam ze byla stronka z opisem interfejsu na comie, z ps 2 to nie wiem jak bedzie ale chyba dosc podobnie...

0

Jeśli chodzi o ten problem, to sam nie wiem najlepiej, ale poszukaj na stronie markosc.w.interia.pl pliku CTMOUSE.zip. To właśnie przykładowy sterownik myszy z kodem źródłowym - jestem pewien, że Ci się przyda.
kzaj

1 użytkowników online, w tym zalogowanych: 0, gości: 1