Onkey() events inside Menu2InputDelegate

I think this is the designed behaviour reading the documentation but thought i would also check here, 

On my app when you long press the back key (KEY_CLOCK 22) the native behaviour on the Fenix 6 series is to show a standard watch face,

in a non menu view this is fine as the behaviour delegate can catch this input and ignore it or assign another function from the onKey(keyEvent) function,

but in the Menu and the Menu2 input delegates it looks like that this cant be achieved,

the issue with the app executing the Key_Clock Event is that if you are using a custom watch face because the app is still running it will show you a native face,

my preference would be to push a custom menu so if you long hold back at any point in a menu it will trigger the exit menu. is there a way to achieve this?

Thanks 

function onKey(keyEvent) {
        var _Key = keyEvent.getKey();

        if (_Key == 22)
        {
        var ExitMenu = new Ui.Menu();
           
            ExitMenu.setTitle("Quit");
            ExitMenu.addItem("Exit Save Track", :exitSave);
            ExitMenu.addItem("Exit Discard Track", :exitDiscard);
            Ui.pushView(ExitMenu, new ExitMenuDelegate(_gps), Ui.SLIDE_RIGHT);
        }
       
        return true;
    }
  • Your problem actually starts with trying to detect your own long press.  On Fenix and high end forerunners, there are hot keys, and the default for long-press back is often the watchface/widget loop. (when you see the watchface, up/down will take you through the widget or glance loop).  Long press down on those (and other devices) is often music controls.  Long press up on 5 button devices is onMenu (KEY_MENU).  On things like a venu, long press down is onMenu.  Look at using onMenu or onSelect to get to your menu instead.

    In the Menu2 delegate, you see onSelect and onBack, and I think that's about it.  onSelect is to select a menu item, and onBack is commonly used to pop the Menu2.

  • Thanks for confirming, yes that aligns with how I read the guide, its not a massive issue but from a user experience it can seem odd that you are shown a different watch face (only occurs if your using a custom one) reading some of the other topics this seems to be by design but was hoping for an easy way to avoid it.

  • It's a memory thing.  With a CIQ device app, there may not be enough memory for a CIQ watchface on some devices so you see a native one.

    With hot keys, long press back doesn't always take you to any watch face, but may be used for something else, like turning on the flash light, taking a screen shot, etc