Ticket Created
over 4 years ago

WERETECH-9013

Vivoactive 4S swipe identified as a key pressed

At least on the Vivoactive 4S, since I wasn't able to test this out on other devices, there seems to be an undocumented / unwanted behavior that is not directly visible when testing in the emulator.

While developing Monky (https://github.com/vladmunteanu/monky), I had to adjust one of the minigames so that it checks for a key pressed event instead of a swipe right, because when the app ran on the actual watch, it would trigger the onKey event, instead of onSwipe. (https://github.com/vladmunteanu/monky/blob/37fae93329cd7875d9d3c05c9a64c6cffd4cee07/source/SwipeGame/SwipeGameDelegate.mc#L17)

If intended, the documentation should at least be changed to reflect this when implementing an InputDelegate. 

  • I agree with Travis, and what he described would definitely be intuitive. 

  • IMO this is an integration bug. A device should not generate a key press events for a swipe inputs.

    On the vivoactive3/4 devices discussed above, I'd expect a swipe right to generate

    1. If using a BehaviorDelegate, a call to BehaviorDelegate::onBack(). If that returns false..
    2. A call to InputDelegate::onSwipe(). If that returns false
    3. Whatever the default behavior for the device is for a back event (probably dismissing current page)

    I'm guessing this is something that has been around since the vivoactive and vivoactive_hr days. We already have an issue filed to work out some behavior issues with taps and swipes, so I'm including a reference to this post there.

  • You need a back on touch devices.  That's how you exit most things.

  • I honestly wonder why Garmin didn't choose to implement the product differences at next higher level, the BehaviorDelegate. 

    On a non touch screen device, does a swipe trigger a key press? No, there's no such event. So why would you go out of your way to create a low level event for something that conceptually doesn't exist on the device? 

  • The va3 and va4 have had odd input mapping all along, in part due to having only 1 or 2 buttons.  And things that occur with no buttons, being touch screens.