Touch functionality not responding for Fenix7/7pro

I have been contacted by some users of one of my data fields that are reporting that some touch functionalities are not working for Fenix7 and 7pro.

That works fine for physical Edge family, Venu2plus or FR965.

Apparently the users have enabled touch function correctly. As they started using the data field with firmware v 19.xx I don't know if this issue was present for earlier versions of not. 

Has anyone observed same issue for these devices?

  • Have you watched DCRainmaker's video? Unfortunately it looks like you'll need to pair it again (or something like that)

  • I don't have the beta FW. I read that section in the docs before I posted the comment, but I wouldn't be that sure if it works as you and I think it does, especially considering that the simulator behaves different from actual devices.

    Yes, of course, but it was just an example of how it could be used, if the detection works. The user could edit the layout in the settings, and opt-in for a 2nd page if 1 isn't enough for them (the datafield description can explain how they can switch pages if touch is enabled, and there can even be another setting for how many seconds to with between the page switches when touch is disabled or non existent)

  • How about the system8preview device? I think at the moment that should be the only device in the simulator that has taps in datafields. The rest will only have after the real devices get the new firmware and Garmin updates the simulator.json

  • Putting the System8 aside, the reality is that some watches have always had the onTap functionality enabled (even if the simulator didn’t reflect it). It would be helpful to know the criteria Garmin has followed so far and what can be expected in new watches or in firmware updates for the current ones.

  • I don't have the beta FW. I read that section in the docs before I posted the comment, but I wouldn't be that sure if it works as you and I think it does, especially considering that the simulator behaves different from actual devices.

    Right, so you are implying that it's possible that DeviceSettings.isTouchscreen may be normally false for CIQ data fields as a way to signal that these fields don't support touch (I absolutely do not think this is the case). And you are speculating that perhaps it may be true for the beta firmware, given that onTap() is now supported.

    I would reiterate that it's still possible for you to test the situation on the non-beta firmware for your fr965. Obviously if the non-beta no-onTap-support firmware already returns true for DeviceSettings.isTouchScreen (as I believe it will), then you're really not going gain anything by having me test the beta firmware. You would already know that your use case can't be fulfilled.

    I mean, let's consider the possibilities:

    fr965 (non-beta no-onTap-support) / fr955 (beta onTap-support)

    1) false / true: this your ideal scenario (the only one that fulfills your use case), but you still need to test the non-beta no-onTap-support firmware to find out. I don't have a current device with non-beta to test. Perhaps fr965 (non-beta) could be substituted with some old device like 945LTE which supports touch, or even a simulated device, but again, that's something you could test for yourself

    2) true / true: this is what I think I will find (substituting an old touchscreen device and/or a simulated device for fr965 (non-beta)), which would not be helpful for your use case

    3) true / false: this is almost inconceivable, but it's still not helpful for your use case

    4) false / false: this is more likely (imo) than 3), but still not helpful

    Regardless of which scenario is true, it's still the case that you could be doing half of the testing to see if the scenario you want is even possible.

    To be clear, I don't think a field in the DeviceSettings class should be affected by the app type. i.e. I wouldn't expect DeviceSettings.isTouchScreen to be true for a device app and false for a data field, on a touchscreen watch where touch is enabled.

    But I guess you never know with Garmin.

    Before even testing it, here's my fearless prediction for what I'll find:

    945lte (CIQ 3, touchscreen, old firmware that surely doesn't support onTap in a datafield): true
    955 (CIQ 4, touchscreen): true (for both beta firmware on a a real device supporting onTap, and for the simulated device with no onTap support)

    I'll reply to this comment with my results.

    EDIT: actually 945LTE doesn't have a touchscreen (derp) so I can't do any kind of test for the no-onTap-support functionality on a real device
    (I don't own any touchscreen device other than fr955)

    So actually this is where *you* actually have to do something, unless you want to go by my findings on a simulated fr955 (which doesn't support onTap). But again, you could've tested that yourself

  • My results (isTouchscreen in data field)

    - fr955 (simulated, does not support onTap, CIQ version 5.0.0): true (unsurprisingly, if I turn the touchscreen off, the value changes to false)

    - fr955 (real device, supports onTap, beta firmware, CIQ version 5.1.0): true (again if I turn the touchscreen off, the value changes to false)

    I tried both tests with SDK 7.4.3 and SDK 8.0.0 (not that it should matter, as the "new" onTap functionality works with a data field built with either SDK, on my real fr955)

    I will also note that onTap() only works in a complex data field, not a simple data field.

    Again, if you want to know what a current gen device running non-beta firmware will return for isTouchscreen, you'll have to test that yourself. I don't see how you can fulfill your use case unless you are sure that it will return false in this scenario. (I don't think it will, though).

    Also, I never said that the onTap() in data field functionality is new for the beta firmware, I only said that I am running the beta. For all I know, onTap() in data fields has worked for fr955 in the past. I never tried it because I always assumed that it wouldn't work. Perhaps I should've clarified that.

    Have you actually tried onTap() in a data field on your device to verify that it doesn't work in your non-beta firmware? Or are you assuming that it will not work? Again, this is something you could've tested. You could've also asked OP if they are using the beta firmware on fr965. (They already said that onTap works for them, on fr965.)

    So what you actually really need to test is a current-gen device with a touchscreen that does not support onTap in a data field, whether it's your own fr965 (but you need to confirm it doesn't support onTap) or whether it's fenix 7 or some other device / firmware combo.

    But I'm pretty confident in my educated guess that any touchscreen device which lacks support for onTap() in a data field will nonetheless return a value of true for isTouchScreen in a data field, as long as the touch screen is enabled. I could be wrong, but then again, I have no way of testing this, ironically enough.

    It's kinda funny that you think the onus is on me to test a bunch of stuff because I'm running the beta, not realizing that there's a bunch of stuff that you can (and should) also test, to validate some assumptions and to determine whether your use case is even possible.

    Like seriously, do you know how annoying it is to test sideloaded CIQ apps, especially data fields (given all the bugs related to simply selecting a CIQ data field in an activity)?

  • I tried everything. 

    Now it's repaired on 20.11FW for F7Pro. But touch is still not working of course...