浏览代码

Mouse wheel generate only down action.

Margers 1 月之前
父节点
当前提交
13f44e0284
共有 2 个文件被更改,包括 5 次插入3 次删除
  1. 4 2
      packages/rtl-console/src/inc/mouse.inc
  2. 1 1
      packages/rtl-console/src/inc/mouseh.inc

+ 4 - 2
packages/rtl-console/src/inc/mouse.inc

@@ -130,11 +130,13 @@ begin
      begin
      if (LastMouseEvent.Buttons=0) then
        MouseEvent.Action:=MouseActionDown
-       else           { MouseButton4 or MouseButton5 has no Up event, weed them out }
-     if ((LastMouseEvent.Buttons and (MouseButton4 or MouseButton5)) = 0) then
+     else
        MouseEvent.Action:=MouseActionUp;
      end;
+  if ((MouseEvent.Buttons and (MouseButton4 or MouseButton5)) <> 0) then
+    MouseEvent.Action:=MouseActionDown;
   LastMouseEvent:=MouseEvent;
+  LastMouseEvent.Buttons:=LastMouseEvent.Buttons and (not (MouseButton4 or MouseButton5));
 end;
 
 procedure GetMouseEvent(var MouseEvent:TMouseEvent);

+ 1 - 1
packages/rtl-console/src/inc/mouseh.inc

@@ -42,7 +42,7 @@ const
 
 var
   MouseIntFlag : Byte;                                { Mouse in int flag }
-  MouseButtons : Byte;                                { Mouse button state }
+  MouseButtons : Word;                                { Mouse button state }
   MouseWhereX,
   MouseWhereY  : Word;                                { Mouse position }