diff --git a/samples/ControlCatalog.Web/ControlCatalog.Web.csproj b/samples/ControlCatalog.Web/ControlCatalog.Web.csproj
index 0377e1ff7d..9fc09b2a73 100644
--- a/samples/ControlCatalog.Web/ControlCatalog.Web.csproj
+++ b/samples/ControlCatalog.Web/ControlCatalog.Web.csproj
@@ -19,7 +19,7 @@
true
true
-O3
- true
+ false
diff --git a/src/Web/Avalonia.Web.Blazor/AvaloniaView.razor.cs b/src/Web/Avalonia.Web.Blazor/AvaloniaView.razor.cs
index 05412cfef0..91f5fd1500 100644
--- a/src/Web/Avalonia.Web.Blazor/AvaloniaView.razor.cs
+++ b/src/Web/Avalonia.Web.Blazor/AvaloniaView.razor.cs
@@ -47,8 +47,7 @@ namespace Avalonia.Web.Blazor
void OnMouseMove(MouseEventArgs e)
{
- _topLevelImpl.RawMouseEvent(RawPointerEventType.Move, new Point(e.ClientX, e.ClientY),
- RawInputModifiers.None);
+ _topLevelImpl.RawMouseEvent(RawPointerEventType.Move, new Point(e.ClientX, e.ClientY), GetModifiers(e));
}
void OnMouseUp(MouseEventArgs e)
@@ -113,6 +112,15 @@ namespace Avalonia.Web.Blazor
modifiers |= RawInputModifiers.Shift;
if (e.MetaKey)
modifiers |= RawInputModifiers.Meta;
+
+ if ((e.Buttons & 1L) == 1)
+ modifiers |= RawInputModifiers.LeftMouseButton;
+
+ if ((e.Buttons & 2L) == 2)
+ modifiers |= RawInputModifiers.RightMouseButton;
+
+ if ((e.Buttons & 4L) == 4)
+ modifiers |= RawInputModifiers.MiddleMouseButton;
return modifiers;
}
@@ -130,6 +138,15 @@ namespace Avalonia.Web.Blazor
if (e.MetaKey)
modifiers |= RawInputModifiers.Meta;
+ if ((e.Buttons & 1L) == 1)
+ modifiers |= RawInputModifiers.LeftMouseButton;
+
+ if ((e.Buttons & 2L) == 2)
+ modifiers |= RawInputModifiers.RightMouseButton;
+
+ if ((e.Buttons & 4L) == 4)
+ modifiers |= RawInputModifiers.MiddleMouseButton;
+
return modifiers;
}