So I managed to get this working with the following tweaks, it’s not pretty, but it works 100%.
However I’m sure there is a much nicer way to accomplish this in code.
Bindings=(Name="Duck",Command="SetCrouch true | OnRelease SetCrouch false | SetBind RightMouseButton HoldBreathCmd | OnRelease SetBind RightMouseButton SprintAndBreath | OnRelease SetSprint false | Axis aUp Speed=-1.0 AbsoluteAxis=100",Control=False,Shift=False,Alt=False,bIgnoreCtrl=False,bIgnoreShift=False,bIgnoreAlt=False)
Bindings=(Name="DuckAndSprint",Command="SetCrouch true | OnRelease SetCrouch false | SetBind RightMouseButton HoldBreathCmd | OnRelease SetBind RightMouseButton SprintAndBreath | OnRelease SetSprint true | Axis aUp Speed=-1.0 AbsoluteAxis=100",Control=False,Shift=False,Alt=False,bIgnoreCtrl=False,bIgnoreShift=False,bIgnoreAlt=False)
Bindings=(Name="HoldBreathCmd",Command="SetHoldBreath true | OnRelease SetHoldBreath false | SetBind LeftControl DuckAndSprint | OnRelease SetBind LeftControl Duck",Control=False,Shift=False,Alt=False,bIgnoreCtrl=False,bIgnoreShift=False,bIgnoreAlt=False)
Bindings=(Name="SprintAndBreath",Command="SetSprint true | OnRelease SetSprint false | SetHoldBreath true | OnRelease SetHoldBreath false | SetBind LeftControl DuckAndSprint | OnRelease SetBind LeftControl Duck",Control=False,Shift=False,Alt=False,bIgnoreCtrl=False,bIgnoreShift=False,bIgnoreAlt=False)
Bindings=(Name="RightMouseButton",Command="SprintAndBreath",Control=False,Shift=False,Alt=False,bIgnoreCtrl=False,bIgnoreShift=False,bIgnoreAlt=False)
Bindings=(Name="LeftControl",Command="Duck",Control=False,Shift=False,Alt=False,bIgnoreCtrl=False,bIgnoreShift=False,bIgnoreAlt=False)