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; }