I have added support for my watchface to support touch to tap to swap between complications but it is not working.
I did this as I saw the pebble os now supports touch, but maybe I jumped the gun. Are watch faces supported yet for touch? Or is it still limited to apps and the main menu of pebble OS?
Example:
#if defined(PBL_PLATFORM_EMERY)
static void touch_handler(const TouchEvent *event, void *context) {
if (tap_to_cycle) {
// Cycle to the next metric (Steps → Weather → Heart → Sleep)
active_display_metric = (active_display_metric + 1) % 4;
layer_mark_dirty(weather_layer);
}
} #endif
Watch faces don’t support touch yet. We’re holding off on this until we figure out how gestures and touch will work for all watch faces, rather than each one coming up with a different gesture scheme.
Might I suggest just simply allowing a tap on the watchface to trigger something, vs worrying about gestures and all that? That way it doesn’t get complicated too fast. My flow idea is this, you would tap to wake watch > tap again to switch between complications.
I dont see a problem forcing the buttons to be used on notifications and opening the menu.
But I understand that’s not a high priority right now.
Personally I’d prefer if developers had the choice to do what they want with touch gestures on a watchface. I’ve developed an app for a remote for use in a network music ecosystem (Roon Labs). There are custom gestures used to pause/play, switch zones, volume etc. I’d like to port this app to a custom watchface instead of an app so a simple wrist flick would put the watchface in “gesture mode” which would allow to user to use the gestures specific to the music player ecosystem. If standard gestures are implemented (i.e. swipe up to show health and swipe down to show timeline etc.) then at least please allow the standard gestures to be overriden in a particular watchface (maybe through a watchface setting?).