Skip to content

Touch toggle in Quick Launch #2002

Description

@jasonbayton

Is there an existing issue for this?

  • I have searched the existing issues

Proposed feature request

I'd like to be able to enable and disable touch through Quick Launch on Pebble Time 2, in the same way as Quiet Time.

Touch support is a welcome addition, but when swimming the water constantly triggers interactions. Having a button shortcut to disable touch before getting in, and enable it again afterwards, would be useful. I'd like the physical buttons to remain usable while touch is disabled.

Based on reading the source code with an LLM, it looks like this could build on the existing master Touch setting:

  • Add touch.c and touch.h under src/fw/apps/system/toggle/, following the existing quiet_time.c and backlight_state.c implementations.
  • Register the toggle in src/fw/shell/normal/system_app_registry_list.json, guarded by CONFIG_TOUCH, so it appears in Quick Launch on touch-capable watches.
  • Use touch_is_globally_enabled() and touch_set_globally_enabled() from src/fw/shell/prefs.h, backed by src/fw/shell/normal/prefs.c, to keep the shortcut and Settings > Display > Touch in sync.
  • Reuse the behaviour in src/fw/applib/ui/action_toggle.c for an immediate toggle, vibration feedback, and a brief Touch On / Touch Off message.
  • Verify that navigation and wake preferences are preserved, disabling during an active gesture behaves correctly, and touch can be restored using buttons alone. Existing coverage in tests/fw/services/test_touch.c looks like a useful starting point.

Alternatives

The existing Settings > Display > Touch option provides the underlying control, but a Quick Launch shortcut would make it quicker to use before and after swimming.

#1838 proposes locking both buttons and touch with Back+Down. That's related, but I'd like to disable touch while keeping the buttons usable.

Anything else?

Related to #1518, which requests touchscreen control via intents and includes a comment about accidental touches from showering and sweat. #1442 also addressed the existing global touch kill switch.

I don't know the language this codebase is written in, but if useful I can prepare a PR via an LLM and leave the maintainers to adopt, tweak, or rewrite it as they prefer. I've read the contribution guidelines and understand that any such PR would still require my personal review, testing, and understanding of the generated code before submission.

Drafted with assistance from OpenAI Codex. The implementation suggestions above are based on source inspection, not a tested patch.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions