Skip to content

Features

  • One-click install — unzip an app package, prepare it for macOS and sign it.
  • Real foreground launch — apps open through LaunchServices on the /System/iOSSupport runtime, so they behave like a real foreground app.
  • Keymapper — opt-in per app and off by default. Map keys to taps, holds, a virtual joystick, mouse-look and swipes.
  • Real multi-touch — genuine, simultaneous touches through the platform’s own virtual-touch machinery. No special permissions, no pointer lock: the cursor stays visible and can always leave the window.
  • App-owned overlay — the keymapper UI is the app’s own window over the target; no UI code is added to the target.
  • Metal HUD / FPS — a per-app switch that launches with MTL_HUD_ENABLED=1, showing Metal’s FPS, GPU time and memory overlay.
  • Per-app pointer lock — on by default; a title that traps the cursor can have it disabled in that app’s settings.
  • Repeat-rate protection — always on and not configurable; the keymapper rejects implausibly fast repeated presses.
  • Clean-room and MIT licensed.

A mapped key becomes a touch by driving the platform’s own virtual-touch machinery — the same mechanism behind Touch Alternatives on the Mac. Each binding drives a named finger, so several can be down at once. It needs no Accessibility permission and never moves your cursor.

Keymapping is opt-in per app and off by default. When it’s off, no keymap is passed and the runtime installs no input handlers at all — the app runs exactly as it otherwise would.

See Keymapper to set it up.

A windowed iOS app isn’t sandboxed, so without help its saves and caches would scatter across your home folder. PearSilicon keeps them inside a per-app folder:

~/Library/Application Support/PearSilicon/Games/<bundle-id>/

PearSilicon translates system APIs and nothing else. It doesn’t circumvent, patch or bypass DRM or anti-cheat protections, doesn’t decompile application logic, and doesn’t add anything to an app’s core binaries beyond declaring platform compatibility. Apps that would need such a bypass are out of scope and intentionally left unhandled.