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. 

  • Yes, this is happening on production firmware for the FR965 and Epix (Gen 2). In the case of the Epix, this happens on latest stable and on latest beta on actual devices (it's fine in the simulator).

    I can create a new bug report, if you'd like. But, that said, it's incredibly frustrating as it is so hard to know if a new bug report should be created or not, without any visibility into the status of fixes. From my perspective, this bug seems to still be open with no fixes or follow up reported here and the problem I have run into is the exact same as what reported; specifically (and only) the left-to-right swipe.

  • I'll create a ticket to have this checked. I'd recommend creating a separate bug report for things like this in the future since it's probably unrelated to the original report here and it may have completely been missed. Are you seeing this problem on production firmware?

  •  I don't know what was ever actioned as part of this ticket (if anything), but I'm seeing this problem on newer devices now, including the Forerunner 965 and Epix (Gen 2). On those two devices, when using an InputDelegate object, a swipe left to right does not trigger a call to the onSwipe() function and instead triggers a call to onKey() with a key attribute set to WatchUi.KEY_ESC. All other swipe actions follow the expected flow.

  • With the va and vahr, this wasn't really an issue, as swipes were just swipes.  With the two buttons, and between short and only presses, you got menu,back and start.

    The va3 is where it got odd with only the one button (start) and the only way to do a back was the right swipe, and for the top view for a widget, the only way to exit a widget.  I have a felling the key press might be there so the same delegates can be used on other devices. (it looks just like it would on a device with a physical back button).  I've not checked, but likely the same for menu (a long screen press).

    With the va4, the lower left button (short press) is "back", but so is a right swipe.  

    Input mapping on the va3/va4 (and variations) has always been odd, and I think some of that is touch, but some of it is also so that the delegate works the same on other devices, and similar for widgets and device apps.  I might be wrong...