commit 86cdd6d5b4580f0b64a0c99a8873131182f4fd90 truex <truex@equwal.com> 2026-09-21 02:17:18 -0700 Add the Rebind beta page, changelog and privacy policy
CHANGELOG.md | 47 ++++++++++++++++++++++++++++++ PRIVACY.md | 94 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ README.md | 65 +++++++++++++++++++++++++++++++++++++++++ 3 files changed, 206 insertions(+)
diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..311c896 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,47 @@ +# Changelog + +## 0.0.9-alpha - 2026-09-21 + +Version code 9. + +- **New name: Rebind.** The name says what the app does, and it has the words + that buyers type in Play search. The package id stays `dev.equwal.assistkey`, + so an update keeps all settings. The settings file keeps its `AssistKey` + marker, so old exports still import. +- **Recent apps.** Swipe up closes the app. Swipe down closes all the others. + One swipe sideways moves one card in one step, with no glide. When the screen + opens, the card jumps up and sideways once to show the swipes. "Close all but + this app" and "Close all" are two tall buttons with space between them. + Closing works without shell access too: Android ends the background + processes of the app (`KILL_BACKGROUND_PROCESSES`, a normal permission). +- **Hardware hacks** have their own box under Advanced: hold Power, double + press Power, the wallet button, the full Power button, extra-dim light, and + the button settings of the device. +- **Ask when it is needed, everywhere.** A binding made under Advanced now opens + the same "allow" step as the guided setup, when something is missing. +- **The drawing is the main screen.** The device and its buttons are on the + first screen. Each button shows what it does now. Tap a button to set it up. + Tap two buttons to set up a combination. +- **Button order.** A device profile gives the order of its buttons from the + top down. Viwoods AiPaper: Power, Volume up, Volume down, AI key. +- **On-screen button.** A new button that needs no hardware: a small round + button that floats over every app. Tap it to do the action, drag it to move + it. The key filter draws it, only while it has an action. Android's own + accessibility button is not used, because Android shows that button to every + user as soon as a service asks for it. +- **More ways to press.** Step two lists tap, double tap, triple tap, hold, 4 + taps and 5 taps, and an Advanced row with every gesture of the button. +- **More actions.** Step three adds Lock screen and Screenshot, and an Advanced + row with every action. +- **Ask when it is needed.** A Power press that Android hides from apps is now + offered where the build can have shell access. The app then asks for shell + access, which opens the full Power button. After a double press of Power is + set up, the app offers the wallet way for devices that use it. +- **Device detection.** At first start the app finds which buttons the device + has, and what the device can do. It never asks the user to press a button. + Advanced > Detect this device shows the result. The device report has it too. +- **Less text.** All "More about this" rows are gone. Notes are one short + sentence. The accessibility disclosure is short. Google Play requires it, so + it stays. +- Tests: selection rules of the drawing, the on-screen button route, shell + access as a need, detection parser and round trip. diff --git a/PRIVACY.md b/PRIVACY.md new file mode 100644 index 0000000..f61a26c --- /dev/null +++ b/PRIVACY.md @@ -0,0 +1,94 @@ +# Rebind privacy policy + +*Effective 21 September 2026* + +Rebind is published by equwal. Contact: truex@equwal.com + +## The short version + +Rebind collects nothing, stores nothing about you, and sends nothing +anywhere. It does not hold Android's internet permission, so it is not able to. + +## What the app handles + +**Hardware key presses.** With its accessibility service switched on, Rebind +is told when the AI key or a volume key is pressed or released. It uses this +only to recognise the taps, holds and combinations you have set up and to run +the action you chose. Key presses are handled in memory as they arrive and are +not recorded. The built-in key tester lists recent presses on screen while that +screen is open; the list is never saved and is discarded when you leave it. + +**The window in front.** When you use the Scroll action, and only then, the +service asks Android which part of the current window can scroll, so that it +can scroll it. It does not read, record or transmit what the window contains. + +**Your settings.** Your key bindings, timing preferences and which capture +channels are on are saved in the app's private storage on your device. They +leave the device only through Android's own backup, if you have it on. + +**Voice typing.** If you bind the Voice typing action, Rebind asks for the +microphone permission. A speech recognition app on your device, which you +choose, does the listening; how it handles audio is covered by that app's own +policy. Rebind receives only the recognised text, and puts it into the text +field that has the cursor. To do that it reads the current text of that one +field at that moment. It keeps and sends none of it, and never writes into +password fields. + +**Recent apps.** If you use the recent-apps list without shell access, it +reads the usage log Android keeps, with the usage access you grant, to put apps +in order of last use. This happens on the device each time the list opens; +nothing from it is stored or sent. + +**Closing apps.** When you close an app in the recent-apps list, Rebind asks Android to end the background processes of that app, and remembers on your device the time you closed it, so that the app stays off the list until you open it again. + +**The on-screen button.** If you give the on-screen button an action, the accessibility service draws a small round button over other apps. It reads nothing from the screen. It remembers only where you put it. + +**Device detection.** At first start the app asks Android which buttons the device has and what the device can do, and saves the answer on your device. It never asks you to press a button for this. + +**Shell access.** Not in the Google Play build. In the build for direct +install, if you connect Rebind to Shizuku, it runs commands on your +device as the shell user to read the Power button, switch the navigation bar +and gestures, and set the light. These act on your device only. + +**Device report.** The report you can create under Advanced lists your device +model, firmware, input devices, navigation options and a short list of key and +navigation settings. It does not include your apps, accounts or identifiers. +It is shown to you in full and goes nowhere unless you send it yourself. + +**Licence state.** The app saves, on your device, the date it was first +opened, whether it was used during the beta, and which Rebind products +Google Play reports your account as owning. + +## The accessibility service + +Rebind uses Android's AccessibilityService API for one purpose: remapping +hardware keys, and carrying out navigation actions such as Back, Home and +Recents on your behalf. It is not used to collect information, and the app asks +for your agreement, in the app, before directing you to switch the service on. +You can switch it off at any time in Android's accessibility settings. + +## Purchases + +Purchases are made through Google Play. Rebind never sees your payment +details. It learns from Google Play only whether your account owns a licence. +Google's handling of the purchase is covered by Google's own privacy policy: +<https://policies.google.com/privacy>. + +Rebind includes Google's Play Billing Library in order to do this. The part +of that library which reports usage statistics to Google has been removed from +Rebind, and the app has no network access with which it could do so. + +## What is not in the app + +No advertising. No analytics. No crash reporting. No accounts. No third-party +SDKs other than Google's Play Billing Library. + +## Children + +Rebind is a utility for a general audience and is not directed at children. +It collects no personal information from anyone. + +## Changes + +If this policy changes, the new version will be published at the same address +with a new effective date. diff --git a/README.md b/README.md new file mode 100644 index 0000000..dae0822 --- /dev/null +++ b/README.md @@ -0,0 +1,65 @@ +# Rebind: Button & Key Remap + +Rebind remaps the hardware buttons of an Android 12+ device: volume keys, the +Power button, page-turn buttons, camera and assistant keys, and the AI key of +the Viwoods AiPaper. It is made for e-ink readers first, and it works on any +Android phone or tablet. + +**Free beta.** Download the APK from +[Releases](https://github.com/equwal/rebind/releases). Everything works at no +charge while the beta is open. This build stops being free on 2027-03-31 at the +latest. Beta testers get the licence at the tester price afterwards. + +## What it does + +- Tap the button in a drawing of your device. Choose tap, double tap, triple + tap or hold. Choose what it does. Rebind asks only for what that needs. +- Two buttons together make a combination. +- Actions: Back, Home, Recent apps, page turn (swipe or scroll), voice typing, + lock screen, screenshot, open an app or a shortcut, media keys, brightness, + a menu of actions, and more. +- The Power button: hold and double press work on any device. With + [Shizuku](https://github.com/RikkaApps/Shizuku), every Power press works: + tap, double tap, triple tap, hold. +- An on-screen button that floats over every app, for devices with few buttons. +- Recent apps made for e-ink: cards with no glide, swipe up to close an app, + swipe down to close all the others. +- Navigation in any mix of button bar, gestures and the Power button (needs + Shizuku or an adb grant). +- Extra-dim frontlight below the lowest system level (needs Shizuku with root). +- Export and import of all settings as one JSON file. + +No ads. No internet permission. Nothing is collected. See +[PRIVACY.md](PRIVACY.md). + +## Install + +1. Download `rebind-<version>-full.apk` from Releases and open it. +2. Open Rebind. Tap a button in the drawing and follow the steps. +3. If the accessibility switch turns itself off: App info > three-dot menu > + Allow restricted settings. Android does this to every app that is not from + a store. + +Before you uninstall: if Rebind handles the Power button, turn that off first +(Advanced > Power button), so that the system settings go back as they were. + +## Devices + +| Device | State | +|---|---| +| Viwoods AiPaper Reader | Tested. Full profile, AI key included. | +| Any Android 12+ device | Generic profile. The app detects the buttons. | +| Onyx Boox | Wanted next. Please send a device report. | + +Send a device report from Advanced > Device report. You see all of it before +it is sent, and you send it yourself. + +## Feedback + +Open an [issue](https://github.com/equwal/rebind/issues). Say which device and +which firmware you have. + +## Licence + +Copyright (c) 2026 equwal. All rights reserved. The source code is not public. +This repository holds the releases, the changelog and the privacy policy.