detect double or triple click

I have looked at the Input sample and did not see any support for detecting double or triple click events. Are either of these possible with the current SDK?

  • It's not supported in the SDK.

    While you can try to "roll your own" with things like onKeyPressed()/onKeyReleased(), that isn't always consistent between devices, plus, if you try to do something like "double click" on the back button, you'll keep triggering onBack.

    And there there's the whole thing with long press vs short press where long presses are already used by the WF for different things, including hot keys, if you are thinking that route.

    It's best to stick with the input as defined in the programmer's guide/samples/UX guide.

  • While you can try to "roll your own" with things like onKeyPressed()/onKeyReleased(), that isn't always consistent between devices, plus, if you try to do something like "double click test" on the back button, you'll keep triggering onBack.

    i have tried using the oneKeyPressed() and onKeyReleased() events but nothing is getting detected. even after 5 years, the SDK is still not supporting such basic things is such a bummer. can someone give me a workaround for this? is this still not possible in 2025?

  • There's an example of long key press detection here: https://github.com/douglasr/connectiq-samples/blob/master/libraries/text-picker/TextPicker.mc Based on this you can probably do the double-click detection

  • I've successfully implemented long press detection in a device app, using onKeyPressed() / onKeyReleased(). It worked on an old device (FR935 / CIQ 3), a more recent device (FR945 LTE / CIQ 3 but has similar firmware to FR955 and other current devices), and I have no reason to believe it wouldn't work on a newer one (like FR955).

    (Ofc you don't really need onKeyPressed / onKeyReleased to detect double-clicks, but you do need them for long press detection.)

    Very old devices like FR230 do not support onKeyPressed and onKeyReleased though, which means detecting long presses is out of the question. What devices are you targetting?

    forums.garmin.com/.../onkeypressed-and-onkeyreleased-on-fr230-235-735

  • (Ofc you don't really need onKeyPressed / onKeyReleased to detect double-clicks, but you do need them for long press detection.)

    For example, if it's acceptable for a double-click action to *also* initially trigger the single-click action, your algorithm could look like this, for detecting a double-click of KEY_UP:

    If you need to wait to make sure the button wasn't double clicked before triggering the single click action:

    (ofc if your app *also* supports long presses, or you want to avoid triggering a double-click via something weird like long press quickly followed by short press, then you would need onKeyPressed / onKeyReleased)