I ended up replacing:
settings.global.cameraId = settings.global.cameraId
=== "primary" ? "secondary" : "primary"
by:
if (parseInt(settings.global.cameraId) + 1 == settings.global.cameraCount) settings.global.cameraId = "0";
else settings.global.cameraId = parseInt(settings.global.cameraId) + 1;
In
/usr/share/harbour-advanced-camera/qml/pages/CameraUI.qml
This cycles through all available cameras when the “switch camera” button is pressed.
(back camera needs a restart of the app for some reason)
Maybe not very convenient but good enough for me.