How would we test that - use set_mf() and/or set_aflock() and check whether the propcases changes?
On my D10, using set_aflock or set_mf does not clear the servo AF propcase. Using Canon MF does. Canon AF lock is not available when servo AF is active.
Or are you assuming they disable the functions but the propcases don't reflect that change?
That's my thought, if the camera thinks it's in MF mode or AF lock, then the continuous or servo may well be locked out, even though the propcase isn't updated.
A quick test on D10 appears to confirm this for servo, D10 doesn't have continuous.
I think there was an earlier discussion about not disabling set_focus() when they are active ... should we go back to that?
If it works, that seems better to me. But again, we don't have to do this right now
, just another possible improvement.
I did give some thought to having shooting_can_focus() actually return a negative status code based on why it "fails". We could still do that I think?
I'm not sure this is worthwhile, it seems like it could add a lot of complexity to calling code that tried to use it.
If we want script to be able to figure out what needs to be done for SD override to work, I'd suggest exposing the CAN_SD_OVER_IN_* values somehow.