I think it is logically a setting in the camera, as it is currently designed.  The code outside checks for the combination of view mode and interface device and sets it.   I think this is the right code, now that I added the explicit concept of zero meaning 'no slack'.