Acknowledged
CIQQA-4208

onHold event never fires near the 12 o'clock screen edge on tactix 8 (guessed likely conflict with system touchscreen-lock's implementation)

 Spent a while debugging this — posting in case anyone else hit it or in case it's a known thing.

On the device, onHold is never delivered when the touch lands near the top edge (~12 o'clock area). onTap at the exact same spot works fine. Simulator is unaffected — only the real device.

Minimal repro:


function onTap(evt) { System.println("tap " + evt.getCoordinates()); return true; }
function onHold(evt) { System.println("hold " + evt.getCoordinates()); return true; }
Tap top edge → tap line prints. Long-press top edge → nothing. Move 20-30px down, long-press works.

My guess: the system's "long-press top of screen to lock touchscreen" gesture lives in the same area, so the firmware withholds the touch-down from CIQ until it decides whether it's the system gesture — and apparently never resolves to forwarding it as onHold. Short taps aren't ambiguous so they get through.

If this is intentional, can it get documented? Or is there a way to opt out (something like "my view wants all touches, don't run system gestures")? Right now any radial/sector-style UI with a long-press "up" direction silently doesn't work on this hardware and the simulator gives no warning.

Anyone else seeing this, or know a workaround other than "just don't put hold targets near the top"? what a buggy platform

  • I think it's more a matter of you still learning how the watches work vs bugs.  In the case of touch lock or not, that's something that a user may change while recording an activity, turning in on and off, where something like pulling up a sleeve may have undesired effects.

    Spend some time with other apps in the store, and also understand that not all watches work the same

  • Hi, thanks for the reply.

    There is no override at all. If this is related to the touchscreen lock behavior, then I would consider it a Garmin firmware bug.

    In an ideal implementation, when the touchscreen lock is disabled, the entire screen should behave as one consistent touch area, with no specific region treated differently. When the touchscreen is locked, the entire screen should ignore touch input except for the defined unlock gesture.

    I am new to Garmin, but I have already encountered quite a few bugs during both normal use and development.

  • Sounds like you want to override how the FW works in CIQ device apps, not just on one device but a number of them, and I really doubt that will ever happen. 

    Is there a reason you can't just use onTap instead of onHold, or recact to onHold below where you are trying on the screen?

    BTW, depending on onTap/onHold means that you can't suuport no-toch devices, so that something to consider.