Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 120 → Rev 119

/kernel/trunk/hid/mousedrv.inc
16,9 → 16,6
mousedata dd 0x0
endg
 
mouse_delay dd 10
mouse_speed_factor dw 3
 
include 'm_ps2.inc'
include 'm_com1.inc'
include 'm_com2.inc'
/kernel/trunk/hid/m_com1.inc
4,7 → 4,7
FirstByte DB 0
SecondByte DB 0
ThirdByte DB 0
timer_ticks_com dd 0
 
;***************************************
;* ÍÎÂÛÉ ÎÁÐÀÁÎÒ×ÈÊ ÏÐÅÐÛÂÀÍÈß ÎÒ ÌÛØÈ *
;***************************************
68,7 → 68,7
shl AL,6
or AL,[SecondByte]
cbw
call mouse_acceleration_com1
shl ax,1
add AX,[0xFB0A] ;[XCoordinate]
; Êóðñîð íå äîëæåí âûõîäèòü çà ëåâóþ èëè
; ïðàâóþ ãðàíèöó ýêðàíà
90,7 → 90,7
shl AL,4
or AL,[ThirdByte]
cbw
call mouse_acceleration_com1
shl ax,1
add AX,[0xFB0C] ;[YCoordinate]
; Êóðñîð íå äîëæåí âûõîäèòü çà âåðõíþþ èëè
; íèæíþþ ãðàíèöó ýêðàíà
106,8 → 106,6
xor AX,AX
@@Y2:
mov [0xFB0C],AX ;[YCoordinate]
mov eax,[timer_ticks]
mov [timer_ticks_com],eax
jmp @@EndMouseInterrupt
 
@@Error:
118,13 → 116,3
call ready_for_next_irq
ret
 
mouse_acceleration_com1:
push eax
mov eax,[timer_ticks]
sub eax,[timer_ticks_com]
cmp eax,[mouse_delay]
pop eax
ja @f
shl ax,1
@@:
ret
/kernel/trunk/hid/m_com2.inc
4,7 → 4,7
FirstByte_1 DB 0
SecondByte_1 DB 0
ThirdByte_1 DB 0
timer_ticks_com_1 dd 0
 
;***************************************
;* ÍÎÂÛÉ ÎÁÐÀÁÎÒ×ÈÊ ÏÐÅÐÛÂÀÍÈß ÎÒ ÌÛØÈ *
;***************************************
68,7 → 68,7
shl AL,6
or AL,[SecondByte_1]
cbw
call mouse_acceleration_com2
shl ax,1
add AX,[0xFB0A] ;[XCoordinate]
; Êóðñîð íå äîëæåí âûõîäèòü çà ëåâóþ èëè
; ïðàâóþ ãðàíèöó ýêðàíà
90,7 → 90,7
shl AL,4
or AL,[ThirdByte_1]
cbw
call mouse_acceleration_com2
shl ax,1
add AX,[0xFB0C] ;[YCoordinate]
; Êóðñîð íå äîëæåí âûõîäèòü çà âåðõíþþ èëè
; íèæíþþ ãðàíèöó ýêðàíà
106,8 → 106,6
xor AX,AX
@@Y2_1:
mov [0xFB0C],AX ;[YCoordinate]
mov eax,[timer_ticks]
mov [timer_ticks_com_1],eax
jmp @@EndMouseInterrupt_1
 
@@Error_1:
118,13 → 116,3
call ready_for_next_irq
ret
 
mouse_acceleration_com2:
push eax
mov eax,[timer_ticks]
sub eax,[timer_ticks_com_1]
cmp eax,[mouse_delay]
pop eax
ja @f
shl ax,1
@@:
ret
/kernel/trunk/hid/m_ps2.inc
4,7 → 4,6
FirstByte_2 DB 0
SecondByte_2 DB 0
ThirdByte_2 DB 0
timer_ticks_ps2 dd 0
 
;**************************************
;* ÎÁÐÀÁÎÒ×ÈÊ ÏÐÅÐÛÂÀÍÈß ÎÒ ÌÛØÈ PS/2 *
54,7 → 53,7
; Çàíåñòè â AL ìëàäøèé áàéò
@@M0:
mov AL,[SecondByte_2]
call mouse_acceleration_ps2
shl ax,1
; Âû÷èñëèòü íîâîå çíà÷åíèå êîîðäèíàòû
; êóðñîðà ïî X
add AX,[0xFB0A] ;[XCoordinate]
80,7 → 79,7
; Çàíåñòè â AL ìëàäøèé áàéò
@@M3:
mov AL,[ThirdByte_2]
call mouse_acceleration_ps2
shl ax,1
; Âû÷èñëèòü íîâîå çíà÷åíèå êîîðäèíàòû êóðñîðà
; ïî Y (Y-êîîðäèíàòà ìûøè PS/2 íàïðàâëåíà
; ïðîòèâîïîëîæíî ýêðàííîé)
99,8 → 98,6
mov [0xFB0C],AX ;[YCoordinate]
 
; Ïîêàçàòü êóðñîð â íîâîé ïîçèöèè
mov eax,[timer_ticks]
mov [timer_ticks_ps2],eax
jmp @@EndMouseInterrupt_2
 
; Îáíàðóæåí ñáîé â ïîðÿäêå ïåðåäà÷è èíôîðìàöèè îò ìûøè
111,16 → 108,6
call ready_for_next_irq_1
ret
 
mouse_acceleration_ps2:
push eax
mov eax,[timer_ticks]
sub eax,[timer_ticks_ps2]
cmp eax,[mouse_delay]
pop eax
ja @f
imul ax,[mouse_speed_factor]
@@:
ret
;***********************************************
;* ÎÆÈÄÀÍÈÅ Î×ÈÑÒÊÈ ÂÕÎÄÍÎÃÎ ÁÓÔÅÐÀ I8042 *
;* Ïðè âûõîäå èç ïðîöåäóðû: *