Acknowledged
CIQQA-3113

bug: swipe right on the left side of the screen triggers onKey(KEY_ESC)

I noticed this with my app in simulator (fr955, SDK 8.1.1), and then I checked it with the Input sample and it also reproduces it, so it's clearly a bug both in the simulator and even on real devices (tested on real fr965). A similar bug was already reported 4 years ago: https://forums.garmin.com/developer/connect-iq/i/bug-reports/vivoactive-4s-swipe-identified-as-a-key-pressed

To reproduce:

- run the Input sample from the SDK on fr955 in the simulator.

- swipe right in a way that you touch in the middle or the right side of the screen => correctly, only swipe event is triggered

- swipe right touching in the left side of the screen => onKey(KEY_ESC) is triggered (It's not clear when this happens, in the Input sample it looks like sometimes this only happens every 2nd time you swipe on the left side of the screen)

  • > this is by design

    Then based on all the arguments made previously, it's not a good design. Specifically I see 2 problems with InputDelegate/BehaviorDelegate:

    A] Swipe right [starting from the left side] triggers both onBack[] [good] and KEY_ESC [bad!]

    [speaking of sim differences: in the sim KEY_ESC is only triggered sometimes, but on a real device, KEY_ESC is always triggered]

    B] Swipe right [starting from anywhere but the left side] triggers onBack [bad]

    Why this is a problem:

    1] it doesn't match the behaviour on a real device. See 3] and 4] below, for example

    2] it makes it hard [or impossible] for devs to ignore touches

    3] it makes it hard [or impossible] for devs to implement device apps which use the BACK key to take a lap [just like a real device], but who also wish to *not* use a right swipe to take a lap. Note that no real device uses a right swipe to take a lap

    4] It doesn't match the behaviour of Menu2 [within a CIQ app]. In Menu2, swipe right from the left side triggers onBack [good], and swipe right from anywhere else does not trigger onBack [also good]. Menu2 works just like the native menus [which is a good thing]

    5] It makes it hard [or impossible] for devs to implement a view where a chart can be panned with left and right swipes [just like the charts in native glances]

    It just results in a user experience which is limited and inconsistent with the native device [and within CIQ itself - e.g. Menu2].

  • Hi Richard,

    I’m more concerned about not being able to disable the right swipe on a real device, as you can with other gestures by just returning true. Water running across the watch face triggers this gesture which negatively affects app operation. 

    Jay

  • This created a long and winding discussion from development, but the conclusion was that this is by design and can not be changed as it is fundamental to the design of the virtual machine. If you notice the simulator not behaving the same as a real device then that is a bug that can be addressed.

  • Is there any way to get an update on this? This function is triggered by water (where my app operates) and negatively affects operation. 

  • Having the same issue on Fenix and Epix. Cannot replicate 'onback' behaviour in sim however, just in real.