Home        Store        Learn        Blog

Missing buttons in ArduSub

Using an XBOX joystick, I am trying to add buttons 17 - 20 in ArduSub, but adding the parameters is not enough, I get the message “FUNCTION - does not exist on this vehicle” How do I ad the buttons? QGroundControl is recognizing when I press the buttons.

There is only support for 16 buttons right now, the other ones cannot be used. Are they appearing in the list with options? If so we should fix that so it does not give you a choice.


Yes they appear but they are locked. What is the reason for not being able to use them? Is there another way to change the number on the joystick? The cross-shaped button has the numbers 17-20


A standard xbox 360 joystick has 15 buttons. The reason for the limitation is that the information about which buttons are pressed is transported to the ROV in a 16-bit field. 16 bits = 16 buttons.

  • Can you please show a screenshot of what you are seeing?

If it is possible to renumber the buttons, it would help. some numbers are not active on this joystick

Can you provide a link to where you purchased the joystick? Are there any switches on the joystick? To remap the numbers on the joystick, you will need a separate application.

Buttons 12-15 are not found used on the joystick - it is an X-Box One controller not 360 - sorry

It is in danish:

Hm, this sounds like a driver issue. What operating system are you using?

I am using MacOS 10.12.

Just figured out that the problem is only there when using the controller wireless.

Found this link that might help as it does sound like a driver issue


Hi Kaos,

Thanks for your research, but I have already done that.

The problem is when using the controller without the cable, in which case the GitHub driver doesn’t find it. Thus remapping is not possible…

I have the same issue with Xiaomi Mi Bluetooth Gamepad. I can see buttons 16-20 working in the button monitor, but I cannot map them. All of the directional keys are in the 16-20 range so it means I can’t use those.

It would be nice if ArduSub could remap e.g. BT 19 to BT 12 etc, keeping a maximum of 16 buttons

This is really an issue with the driver on Mac, but with that said, the joystick side of qgc should get better in the future to be more adaptable to situations like this.