For the benefit of others who may find this post, I’m going to provide a lengthy explanation - beyond what you’ve asked about. Thank you for your patience.
The buttons on the HereLink controller can either be assigned to send PWM on an R/C channel, or assigned to send a MavLink command over the telemetry link.
To configure a button to send PWM on an R/C channel, use the HereLink setting configuration.
To configure a button to send a MavLink command, first disable the PWM-R/C channel setting, then configure the app (Qgroundcongrol or Solex) to send a MavLink command (such as camera shutter trigger) when a specific button is pressed.
The version of Qgroundcontrol written for HereLink appears to have a bug in it - and it can’t assign MavLink commands when the shoulder button is pressed.
The alternative is to configure the HereLink so that the shoulder button sends a PWM signal on an R/C channel. It can be any available channel - but channel 7 has been used frequently for camera triggering.
To have ArduPilot respond to the PWM signal on a channel (I’ll use channel 7 as an example) you set the parameter RC7_OPTION=9 for camera trigger.
This is how I’ve done my configuration - and it works fine.
The issue with this approach in my opinion is that we are limited to the options in the RC(n)_OPTION parameter as to what functions are available for HereLink buttons. RC(n)_OPTION does allow starting a LUA script - but it doesn’t allow specifying a MavLink command.
CubePilot asserts that only flight mode changes should be done using the HereLink app functions - all other commands/controls should be done with the button assignment to R/C channels. I don’t know there reasoning - but as I understand it, they say it has to do with reliability.
I have raised the shoulder button and camera trigger issue with Cube Pilot - and they haven’t seemed to be inclined to address the bug. It took me a while to figure out that the version of Qgroundcontrol on HereLink is a custom version that was written for it. So there’s no avenue to address the bug other than having CubePilot have it fixed.