Your key. Your rules.

Give your Oppo Find X9’s Snap Key a new job. Open an app, switch on the flashlight, or control your music with a press, double press, or hold.

Download APK

Free to download. No root. One-time computer setup.

One key, three ways.

Illustrative model and example mappings, not an official render or a live phone connection. Choose your own actions in the app.

Less tapping.
More doing.

Launch your go-to app. Open a link or a supported app shortcut. Take a screenshot, change tracks, or pull down notifications.

You choose what each gesture does. Android permissions, device support, and your lock screen still apply.

Read the capabilities and limits

Set up once.
Make it yours.

Have your Find X9 ready, plus either Shizuku or a USB cable and a computer. Other devices and ColorOS versions may behave differently.

  1. Install the app

    Open the latest release on your phone, download the SnapKeyMap-*.apk file, and open it. Allow your browser or file manager to install apps when Android asks.

  2. Enable accessibility

    Open SnapKey Map, tap Open settings, and enable its accessibility service. If the switch is blocked, open the app’s App info → ⋮ → Allow restricted settings, then try again.

  3. Grant log access once

    Without a computer: start Shizuku with Wireless debugging. Open SnapKey Map’s log-access screen, tap Grant with Shizuku, and allow the request. Keep Shizuku running to read logs without Android’s device-logs prompt.

    With a computer: download Google’s SDK Platform-Tools. Enable Developer options and USB debugging on your phone, connect it, and accept the debugging prompt. From the Platform-Tools folder, run:

    adb shell pm grant com.heykay.snapkeymap android.permission.READ_LOGS

    In Windows PowerShell, use .\adb instead of adb. Reopen the app and allow device log access when prompted. The grant survives restarts and updates; Android may ask for consent again.

  4. Make it yours

    Set Oppo’s own Snap Key action to None in phone Settings. In SnapKey Map, choose Teach the app your Snap Key and follow the prompts. Then assign your press, double press, and hold actions.

    Allow notifications and background activity so the app can keep listening and tell you when detection pauses.

Full setup guide

Your phone.
Your data.

SnapKey Map processes system logs locally to detect the key. It does not upload them, and the Android app declares no internet permission.

Log access is a broad permission, not just access to key events. The accessibility service runs device actions; its configuration does not allow it to read window content. Apps and websites you open have their own privacy policies.

This website has no analytics. Animation scripts are hosted with this site, not loaded from external services. It is hosted on GitHub Pages, which may log visitors’ IP addresses for security. See GitHub’s privacy statement.

Before you press.

Will it work on my phone?

SnapKey Map is built around the Oppo Find X9’s Snap Key. Other devices and ColorOS versions may behave differently. It cannot bypass the lock screen, and screen-off detection and background reliability depend on ColorOS.

What if the grant is refused?

If the error mentions GRANT_RUNTIME_PERMISSIONS, ColorOS may be blocking permission grants. Developer options may have Disable permission monitoring or Disable system optimization. These settings relax manufacturer restrictions, so read the warning before changing them. Restart the phone after changing it, because the setting only applies after a restart. This affects both ADB and Shizuku. Follow the full troubleshooting guide for details.

Why does a single press have a slight delay?

When a double-press action is assigned, the app waits 350 milliseconds after release to see whether another press follows before running the single-press action.

How do I update or report a problem?

Install the latest APK over the existing app without uninstalling it. Updates signed with the same key keep your mappings and log permission. For help, open a GitHub issue with your app version, ColorOS version, assigned actions, and the Last: text. Never share an unfiltered system log.