It’s in the official document.
The best thing you can do is don’t use direct input events, always map your input in project settings.
And then use custom events to drive any actions when you received input events in your playercontroller bp if you want to have conditions for which one to accept events.
There is also a “Consume Input” checkbox on all input events(even the binding ones), if you uncheck then it allow lower priority objects(in the chart from the link above) to also handle those events.
But this is not recommended as you might create some logic hole that have infinite event calling and never really consume the event.
So yeah, just remember that inputs are and should be consumed for one, or in special case a set of limited objects.
you want to drive event in OP’s case, when LMB pressed and something is you can control, you enable it’s input and naturally your pawn will lose ability to turn camera.(as pawn is the bottom of input priority).
when you release then you disable input from the object.
sounds simple right? but preferably doing all this from playercontroller, and just issue event to either turn or rotate is simpler.