Skip to content

Improve onboarding, touch controls, and shortcut configuration - #2

Draft
TannayeJ wants to merge 2 commits into
HOLODATA-COM:mainfrom
TannayeJ:agent/improve-onboarding-and-touch-controls
Draft

Improve onboarding, touch controls, and shortcut configuration#2
TannayeJ wants to merge 2 commits into
HOLODATA-COM:mainfrom
TannayeJ:agent/improve-onboarding-and-touch-controls

Conversation

@TannayeJ

Copy link
Copy Markdown

What changed

This PR turns several advanced Siri Remote workflows into first-class, discoverable app experiences.

Guided first-run and microphone setup

  • Add a dedicated setup window that reports each prerequisite and provides a clear path to resolution.
  • Add a PacketLogger acquisition guide with version recommendations, download detection, Finder-alias handling, and a guarded drag-and-drop install target.
  • Package the Siri Remote Mic payload into the app bundle and add a focused privileged installer for the required system components.
  • Add a project-level build-and-run entry point and wire it to the Codex Run action for repeatable local development.

More flexible touch-surface behavior

  • Allow one-finger touch movement to scroll instead of moving the pointer.
  • Add configurable linear scroll speed and optional acceleration.
  • Add a process-local touch-mode switch that can reserve a button event without overwriting the user's saved binding; removing the override immediately restores the original action.
  • Expose the new touch controls, mode-switch binding, and cursor-shake sensitivity in Settings.

Better shortcut capture and action coverage

  • Add an in-app shortcut recorder that preserves left/right modifiers and physical key identity.
  • Expand key support to function keys, media keys, keypad keys, Fn, ISO/JIS-compatible fallbacks, and other named keys.
  • Add an explicit disabled action so a binding can consume input without falling through to inherited or native behavior.

The result is a safer onboarding path for new installations, more expressive touch behavior, and shortcut configuration that no longer requires manually translating most physical keys into config tokens.

How it was verified

  • swift test --package-path SiriRemoteCore
    • The suite could not start on this machine because the installed Command Line Tools compiler is Swift 6.3.3 while the default SDK was built with Swift 6.3.2. Retrying with the compatible macOS 15.4 SDK reached test compilation, but that SDK installation does not contain XCTest.
  • cd app && ./build.sh
  • cd app && ./create_app_bundle.sh
  • Packet parser test
  • Monitor ring test
  • Router build
  • Driver contract test
  • Shared-memory I/O simulation
  • Shell syntax checks for the modified and newly added scripts
  • git diff --check

The application compiled successfully and the complete signed .app bundle was produced. The microphone packaging checks, driver contract test, and I/O simulation all passed.

Notes for the reviewer

  • The touch-mode switch is intentionally implemented as a runtime override rather than a config rewrite. This preserves the user's underlying button mapping and makes disabling the feature lossless.
  • PacketLogger installation fails closed: the drop target validates the expected app bundle and will not overwrite an unexpected existing app.
  • System-wide microphone component installation remains an explicit, privileged user action.
  • The Swift package test limitation above is a local toolchain/SDK mismatch, not a reported test assertion failure. CI should run the suite with its repository-configured environment.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants