diff --git a/Asuro.iso b/Asuro.iso index a6f54125..3a7c57ac 100644 Binary files a/Asuro.iso and b/Asuro.iso differ diff --git a/bin/kernel.bin b/bin/kernel.bin index 4641b155..6cf7262b 100755 Binary files a/bin/kernel.bin and b/bin/kernel.bin differ diff --git a/iso/boot/asuro.bin b/iso/boot/asuro.bin index 4641b155..6cf7262b 100755 Binary files a/iso/boot/asuro.bin and b/iso/boot/asuro.bin differ diff --git a/lib/libpconsole.a b/lib/libpconsole.a index 3d570533..9bbb3a71 100644 Binary files a/lib/libpconsole.a and b/lib/libpconsole.a differ diff --git a/lib/libpmultiboot.a b/lib/libpmultiboot.a index e8ebf7e0..dffb2d64 100644 Binary files a/lib/libpmultiboot.a and b/lib/libpmultiboot.a differ diff --git a/lib/libpsystem.a b/lib/libpsystem.a index 4c22e3dc..24fa7525 100644 Binary files a/lib/libpsystem.a and b/lib/libpsystem.a differ diff --git a/lib/mouse.ppu b/lib/mouse.ppu index fdddadb3..3cf8d7f1 100644 Binary files a/lib/mouse.ppu and b/lib/mouse.ppu differ diff --git a/src/driver/hid/mouse.pas b/src/driver/hid/mouse.pas index 93cc33dd..441ab7c8 100644 --- a/src/driver/hid/mouse.pas +++ b/src/driver/hid/mouse.pas @@ -141,40 +141,20 @@ begin if Cycle = 3 then begin //Process f:= Mouse_Byte[0]; - //Packet.x_movement:= Mouse_Byte[1]; - //Packet.y_movement:= Mouse_Byte[2]; Packet.x_sign:= (f AND %00010000) = %00010000; Packet.y_sign:= (f AND %00100000) = %00100000; Packet.x_overflow:= (f AND $40) = $40; Packet.y_overflow:= (f AND $80) = $80; Packet.x_movement:= Mouse_Byte[1] - ((f SHL 4) AND $100);//Packet.x_movement div 4; - Packet.y_movement:= Mouse_Byte[2] - ((f SHL 3) AND $100);//Packet.y_movement div 4; - //if Packet.x_movement < 1 then Packet.x_movement:= 1; - //if Packet.y_movement < 1 then Packet.y_movement:= 1; + Packet.y_movement:= Mouse_Byte[2] + ((f SHL 3) AND $100);//Packet.y_movement div 4; if not(Packet.x_overflow) and not(Packet.y_overflow) then begin Current.x:= Current.x + Packet.x_movement; Current.y:= Current.y + Packet.y_movement; - {If (Packet.x_sign) and (Packet.x_movement > 0) then begin - dec(Current.x, Packet.x_movement); - end; - If not(Packet.x_sign) and (Packet.x_movement > 0) then begin - inc(Current.x, Packet.x_movement); - end; - If not(Packet.y_sign) and (Packet.y_movement > 0) then begin - dec(Current.y, Packet.y_movement); - end; - If (Packet.y_sign) and (Packet.y_movement > 0) then begin - inc(Current.y, Packet.y_movement); - end;} + if Current.x < 0 then Current.x:= 0; if Current.y < 0 then Current.y:= 0; if Current.x > 1279 then Current.x:= 1279; if Current.y > 1023 then Current.y:= 1023; - //console.writestring('Mouse X: '); - //console.writeintln(current.x); - //console.writestring('Mouse Y: '); - //console.writeintln(current.y); - //DrawCursor; end; Cycle:= 0; NeedsRedraw:= true;