Hi,
Myself and loads (if not all) of our linux users are getting a problem with the cursor position along the top and left edge of the screen.
To recreate, set up a new template C++ project (I went with TopDown) and insert this code somewhere (PlayerController’s Tick for example):
CursorLocResultReturned = this->GetMousePosition(CursorLocResultX, CursorLocResultY);
with the associated variables (bool CursorLocResultReturned, float CursorLocResultX, float CursorLocResultY) defined elsewhere such that they can be inspected in a packaged game. For example, I had them as PlayController variables and made a UserWidget blueprint that fed their values to Text fields on the screen.
Then package this project for Linux and run it on a reasonable end-user distribution. At full screen (default) everything is fine, until you give the window focus (by clicking on it). Then I always find that at x=0 or y=0, GetMousePosition, returns false and the CursorLocResult are not filled. Again - before I click it is returning true and they are being filled, it’s only once I click in the game world that this behaviour changes.
Why is this? Is there anything I can do stop our users experiencing this? We run an RTS and measuring the cursor location is key to screen-edge map scrolling.
Look forward to hearing suggestions.
Matt