Function 18/19/5 - emulation mouse button.

git-svn-id: svn://kolibrios.org@621 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
Marat Zakiyanov (Mario79) 2007-09-05 21:30:16 +00:00
parent 324c641d1a
commit 73bd1e2963
3 changed files with 39 additions and 1 deletions

View File

@ -980,6 +980,22 @@ dd 533
* edx = [<5B>®®ΰ¤¨­ β  ―® ®α¨ x]*65536 + [<5B>®®ΰ¤¨­ β  ―® ®α¨ y]
‚®§Άΰ ι ¥¬®¥ §­ η¥­¨¥:
* δγ­<CEB3>ζ¨ο ­¥ Ά®§Άΰ ι ¥β §­ η¥­¨ο
-------- <20>®¤―®¤δγ­<CEB3>ζ¨ο 5 - ν¬γ«οζ¨ο <20>­®―®<E28095> ¬λθ¨. --------
<EFBFBD> ΰ ¬¥βΰλ:
* eax = 18 - ­®¬¥ΰ δγ­<CEB3>樨
* ebx = 19 - ­®¬¥ΰ ―®¤δγ­<CEB3>樨
* ecx = 5 - ­®¬¥ΰ ―®¤―®¤δγ­<CEB3>樨
* edx = ¨­δ®ΰ¬ ζ¨ο ® ν¬γ«¨ΰ㥬λε <20>­®―<C2AE> ε ¬λθ¨:
* ΅¨β 0 γαβ ­®Ά«¥­ = «¥Ά ο <20>­®―<C2AE>  ­ ¦ β 
* ΅¨β 1 γαβ ­®Ά«¥­ = ―ΰ Ά ο <20>­®―<C2AE>  ­ ¦ β 
* ΅¨β 2 γαβ ­®Ά«¥­ = α।­οο <20>­®―<C2AE>  ­ ¦ β 
* ΅¨β 3 γαβ ­®Ά«¥­ = 4-ο <20>­®―<C2AE>  ­ ¦ β 
* ΅¨β 4 γαβ ­®Ά«¥­ = 5-ο <20>­®―<C2AE>  ­ ¦ β 
* ―ΰ®η¨¥ ΅¨βλ α΅ΰ®θ¥­λ
‚®§Άΰ ι ¥¬®¥ §­ η¥­¨¥:
* δγ­<CEB3>ζ¨ο ­¥ Ά®§Άΰ ι ¥β §­ η¥­¨ο
‡ ¬¥η ­¨ο:
* <20>¥<EFBFBD>®¬¥­¤γ¥¬ ο α<>®ΰ®αβμ ¬λθ¨ (Ά ―®¤―®¤δγ­<CEB3>樨 1) ®β 1 ¤® 9.
“αβ ­ Ά«¨Ά ¥¬ ο Ά¥«¨η¨­  ­¥ ―ΰ®Ά¥ΰο¥βαο <20>®¤®¬ ο¤ΰ , ―®ν⮬γ

View File

@ -977,6 +977,22 @@ Parameters:
* edx = [coordinate on axis x]*65536 + [coordinate on axis y]
Returned value:
* function does not return value
-------- Subsubfunction 5 - emulation mouse button. --------
Parameters:
* eax = 18 - function number
* ebx = 19 - subfunction number
* ecx = 5 - subsubfunction number
* edx = information about the emulated mouse buttons:
* bit 0 is set = left button is pressed
* bit 1 is set = right button is pressed
* bit 2 is set = middle button is pressed
* bit 3 is set = 4th button is pressed
* bit 4 is set = 5th button is pressed
* other bits are cleared
Returned value:
* function does not return value
Remarks:
* It is recommended to set speed of the mouse (in subsubfunction 1)
from 1 up to 9. The installed value is not inspected by the kernel

View File

@ -2271,11 +2271,17 @@ sysfn_mouse_acceleration: ; 18.19 = set/get mouse features
ret
.set_pointer_position:
cmp ebx,4 ; set mouse pointer position
jnz .end
jnz .set_mouse_button
mov [MOUSE_Y],cx ;y
ror ecx,16
mov [MOUSE_X],cx ;x
rol ecx,16
ret
.set_mouse_button:
cmp ebx,5 ; set mouse button features
jnz .end
mov [BTN_DOWN],cl
mov [mouse_active],1
.end:
ret