This fixed the issue for me: go into controls, then into advanced. There you will need to adjust the R2 max input threshold to 5%, as this will minimize the force needed to register the R2 input.
it is the controller. turn down your max input threshold for R2 and L2 to something like 20%. that should solve the issue for now…
but your Controllers triggers are probably worn out so u won’t get around replacing them or the whole Controller at some point (especially regarding that not all games thst make use of the max trigger input also feature max input threshold adjustment options, such as for example gta 5)
If your using an Xbox elite controller and you have the hair trigger option switch it off and it will work that was my problem. I didn’t see a threshold setting in bf4 and that’s weird cause pretty much every other game does.
Well here I am in 2019 after re-downloading the game, but.. I HAVE A FIX!
Go to Options > Controls > Advanced, then scroll down to “Controller L2/R2” and reduce the R2 Max Input Threshold to as low as it can go (5%). What this does, is reduce the amount that you have to press down on the R2 button for it to trigger a command.
You can do it with L2 as well if you want, but I haven’t had any problems with that button before so didn’t bother. Hope I helped!