diff --git a/src/Ryujinx/Input/AvaloniaMouseDriver.cs b/src/Ryujinx/Input/AvaloniaMouseDriver.cs index 63c35eda4..21d29744a 100644 --- a/src/Ryujinx/Input/AvaloniaMouseDriver.cs +++ b/src/Ryujinx/Input/AvaloniaMouseDriver.cs @@ -71,8 +71,8 @@ namespace Ryujinx.Ava.Input { _size = new Size((int)rect.Width, (int)rect.Height); } - - private void HandleScrollStopped() + + private void HandleScrollStopped() { Scroll = new Vector2(0, 0); } @@ -104,12 +104,18 @@ namespace Ryujinx.Ava.Input } private void Parent_PointerPressedEvent(object o, PointerPressedEventArgs args) { - uint button = (uint)args.GetCurrentPoint(_widget).Properties.PointerUpdateKind; + PointerPoint currentPoint = args.GetCurrentPoint(_widget); + uint button = (uint)currentPoint.Properties.PointerUpdateKind; if ((uint)PressedButtons.Length > button) { PressedButtons[button] = true; } + + if (args.Pointer.Type == PointerType.Touch) // mouse position is unchanged for touch events, set touch position + { + CurrentPosition = new Vector2((float)currentPoint.Position.X, (float)currentPoint.Position.Y); + } } private void Parent_PointerMovedEvent(object o, PointerEventArgs args)