(I’m using 4.12.5) Note: I’ve seen numerous old topics discussing this topic but none of them were ever solved publicly
My setup is very simple to reproduce
- Create (and select in world
settings) a game mode that points
towards a your own custom player
controller class. - Edit that PC class by going to
Details->Mouse Interface->Show Mouse
Cursor (enable it) - Make a custom pawn that’s able to
listen to the mouse’s InputAxis
events (make it the default pawn
class). Maybe make it print the
mouse’s X an Y deltas on the screen
so you can easily track the way
those events work.
My question revolves around the way the Input axis events run. At first, when you start the game (If you’ve set up everything properly) the events will run whenever you move the mouse.
Once you’ve clicked the mouse for the first time (doesn’t matter which mouse button) all subsequent InputAxis events on your pawn will only fire as long as you keep the mouse pressed.
Many before me have reported that once you disable the “Show Mouse Cursor” setting in the PC class the problem goes away (i found this to be true, regardless of any other settings). But I insist on using that built in mouse “system” because it comes with hundreds of amazing built in features.
My question is the following:
How do I go back to tracking InputAxis events (at runtime) once I’ve pressed the mouse button for the first time during a gameplay session?
(I welcome both blueprint and c++ based solutions to this issue)
Note: that issue might be happening because the first click “focusing the window”. My theory is that once you focus the window those events might change the way the work. In which case my question would go:
How do I allow both the mouse cursor to remain shown and both InputAxis events to run regularly even if the mouse buttons aren’t pressed?