Skip to content

Releases: Devdas-gupta/linkpad

Linkpad v1.3.0

Choose a tag to compare

@Devdas-gupta Devdas-gupta released this 02 Jul 07:20

🚀 Major Updates in v1.3.0

1. 🎮 Game-Style Gyro Mouse (Drift-Free)

  • Game Mode: Air Mouse now uses TYPE_GAME_ROTATION_VECTOR (sensor fusion — gyro + accelerometer) for drift-free, quaternion-based cursor movement — the same technique used in FPS gaming controllers.
  • Dead Zone: Micro-tremors are filtered out so the cursor stays perfectly still when the phone is held steady.
  • Non-Linear Sensitivity Curve: Slow tilt = precise movement · Fast tilt = quick movement, just like a gaming mouse DPI curve.
  • Fallback: Devices without game rotation vector sensor automatically fall back to the classic gyro mode.

2. 🌐 Air Mouse Works on All Screens

  • Air Mouse is now global — the gyro sensor runs app-wide in the background regardless of which tab is active (keyboard, touchpad, media, etc.).
  • No need to stay on the Air Mouse tab to use tilt-to-cursor while typing.

3. 🔘 Volume Buttons as Mouse Clicks

  • Volume buttons can now be assigned to mouse click actions:
    • Remote — controls PC/Mac volume via BT HID
    • System — controls Android device volume
    • Vol↑ = Left Click / Vol↓ = Right Click — click and right-click without touching the screen

4. 🎨 Air Mouse Screen Redesign

  • Animated pulse status dot that breathes when the sensor is active.
  • Polished crosshair with glow cursor, halo effect, and white specular highlight.
  • Sensitivity level badge shown on the canvas.
  • Cleaner button hierarchy: filled (LEFT/RIGHT), tonal (MIDDLE), outlined (RESET).

🛠️ Bug Fixes in v1.3.0

  • Dagger Circular Dependency Fix: Resolved a DependencyCycle crash caused by HidServiceController and AirMouseController injecting each other. Fixed by injecting HidReportSender directly.
  • Game Mode Conditional Toggle: Settings only shows the "Game Mode" toggle if the device actually has the required TYPE_GAME_ROTATION_VECTOR sensor.

BTRemote v1.2.0

Choose a tag to compare

@Devdas-gupta Devdas-gupta released this 30 Jun 10:48

BTRemote (Linkpad) — UPDATE NOTES

Version 1.2.0 · versionCode 4


🚀 Major Updates in 1.2.0

1. ✨ Custom Shortcut Keys & Custom Editor

Users can now define, save, and edit their own shortcut keys directly in the Keyboard tab.

  • Modifiers & Keys: Supports all combinations of Cmd/Ctrl/Option/Alt/Shift/Win modifiers with letters, numbers, F-keys, and special keys.
  • Platform Specific: Choose whether a shortcut applies to macOS (⌘), Windows (⊞), or both (✦).
  • Interactive UI: Includes a live preview of the combo and a clean key selection layout.

2. 📱 Accessibility & Touch Targets Overhaul

  • Shortcut Actions Dialog: Replaced the tiny 26dp floating action bar with a clean, fully accessible modal dialog on long-press. Users can now easily Edit or Delete shortcuts with large, tactile buttons that follow standard Material Design guidelines.
  • Stale Grid Selection Fix: Solved a critical Compose stale-lambda-capture bug in the key selection grid. Tab, Esc, and other keys now register flawlessly on the first tap.
  • Modern Squarish-Rounded Shape: Redesigned custom shortcut chips and the Add button to use a modern squircle style (RoundedCornerShape(12.dp)) instead of capsules.

3. ⚙️ New Settings & Default Preferences

  • Show/Hide Shortcuts Toggle: Added a toggle under Settings > Keyboard to allow users to completely hide the "My Shortcuts" row from the Keyboard screen. Default value is now Disabled.
  • Disabled Air Mouse Reset by Default: Adjusted the default setting for showing the Air Mouse Reset button to Disabled as requested.

🛠️ Major Bug Fixes

1. Bluetooth & Connection Stability

  • Real-Time State Watcher: Solved the "Connecting" UI state freeze by separating the profile proxy connect call from synchronous timeout blocks. State changes now update in real-time.
  • Windows HID Stall Fix: Acknowledged onSetReport requests appropriately to prevent the Bluetooth HID pipeline from stalling on Windows hosts.
  • Failures & Auto-Reconnect: Monitors the connection in the background and automatically triggers a reconnection sequence after 5 consecutive packet failures.

2. Controls & Device Responsiveness

  • Touchpad & Mouse Fluidity: Smoothed out cursor movements via atomic buffer drains to prevent stuttering.
  • TV Mode Navigation: Fixed TV Back and Home buttons by mapping them to correct Android accessibility usage codes (AC_BACK / AC_HOME).
  • Direct Input Mode: Added raw HID forwarding options for physical hardware keyboard inputs.

v1.1.0 — SynthLink

Choose a tag to compare

@Devdas-gupta Devdas-gupta released this 24 Jun 14:24

🚀 v1.1.0 — SynthLink

✨ What's New

  • SoulExtender Synth UI — Glassmorphic dark theme with electric violet, neon cyan & synth magenta accents
  • TV Remote tab — D-Pad ring, numeric keypad, Power & Input/Source buttons, colour function keys (F1–F4)
  • Onboarding walkthrough — Guided 4-page first-launch setup with permission explanations
  • Quick Settings Tile — Connect to Linkpad directly from the Android notification shade
  • Device Switcher Dropdown — Switch, disconnect, or forget paired hosts without leaving the current tab
  • Independent Windows & macOS shortcut rows — Toggle each OS's shortcut strip separately on the Keyboard tab
  • Android nav buttons on Touchpad — Back / Home / Recents row (toggle in Settings → Controls)
  • Scroll strip side toggle — Move edge scroll strip left or right (Settings → Mouse)
  • In-app Bluetooth pairing — Pair new devices directly inside Linkpad

🚀 Improvements

  • Windows Bluetooth keep-alive heartbeat — prevents Sniff Mode lag on Windows
  • Smooth 125 Hz mouse — throttled delta, eliminates L2CAP buffer overflow & cursor jitter
  • Background connection retention — foreground service auto-promotes on connect
  • Zero-lag typing — keyboard queue on Dispatchers.IO, key cycle 20 ms
  • Press-and-hold FF/RW for continuous seeking; brief tap = single skip

🐛 Bug Fixes

  • Fixed crash on rapid double-tap of "Get Started" in onboarding
  • Fixed QS Tile crash on Android 13 and below (Tile.setSubtitle API guard)
  • Fixed stuck keys on host when press-and-hold seek loop was cancelled
  • Fixed Bluetooth permission denial failing silently
  • Fixed erratic horizontal scroll on Windows (HID AC Pan bounds)
  • Fixed FF/RW triggering 2–3 unintended events on quick tap
  • Fixed device dropdown not closing on Android Back button press

Note: This APK is unsigned. Install via Android Studio or use your own signing key.
For the signed version, download from Google Play.

Linkpad v1.0.1 — Play Store SDK 35

Choose a tag to compare

@Devdas-gupta Devdas-gupta released this 31 May 08:08

Linkpad v1.0.1

Maintenance release. Bumps target SDK and Gradle toolchain to satisfy Play Store policy (targetSdk ≥ 35 required since May 2026).

Changes

  • SDK target raised to 35 (Android 15) — required to ship to Play Store.
  • Edge-to-edge enabled (enableEdgeToEdge()); bottom nav respects gesture-handle insets.
  • Theme stops setting deprecated status/navigation bar colors that throw under edge-to-edge on API 35.
  • Toolchain bumped: AGP 8.3.2 → 8.5.2, Gradle wrapper 8.6 → 8.9.
  • versionCode 2, versionName 1.0.1.

Functional changes

None. Same touchpad, keyboard, air mouse, media remote, multi-host profiles, quick reconnect.

Install

  1. Download linkpad-v1.0.1.apk below.
  2. Allow install from unknown sources (one-time, in browser app permissions).
  3. Tap the APK.

Requires

Android 9.0 (API 28) or newer · Bluetooth Classic · Optional gyroscope for Air mouse.

Source: https://github.com/Devdas-gupta/linkpad

Linkpad v1.0.0 — First public release

Choose a tag to compare

@Devdas-gupta Devdas-gupta released this 31 May 06:17

Linkpad v1.0.0

First public release. Turns your Android phone into a wireless keyboard, mouse, and media
remote for any Bluetooth host. No app needed on the target device.

Highlights

  • Touchpad — laptop-class trackpad with 1-finger move, 2-finger scroll (vertical +
    horizontal), tap-to-drag, and right-edge precision scroll strip.
  • Live keyboard — relays your typing to the host in real time. Manual show/hide. Clear
    button wipes only the local field, never the host.
  • Air mouse — gyroscope cursor with low-pass filter, sensitivity, and invert.
  • Media remote — brightness, volume, mute, prev/next, play/pause, 10s seek
    (YouTube/Netflix/VLC/Spotify).
  • Multi-host profiles — saved Mac / PC / iPad profiles with per-profile target OS and
    last-device.
  • Quick reconnect — one-tap reconnect on the connection bar.
  • Theme — light / dark / system.

Tested hosts

macOS 12+, Windows 10/11, Linux (BlueZ 5.50+), iPadOS/iOS 14+, Android TV, most LG/Samsung
smart TVs.

Not supported: Android phones as the host (OEM HID-Combo filtering).

Install

  1. Download linkpad-v1.0.0.apk below.
  2. On Android: enable Install unknown apps for your browser/file manager.
  3. Tap the APK to install.
  4. Open Linkpad → Connect → Scan → pair from the host side.

Requirements

  • Android 9.0 (API 28) or newer
  • Bluetooth Classic + HID Device support
  • Optional: gyroscope sensor for Air mouse

Known limitations

  • Keyboard layout assumes US QWERTY on the host. AZERTY / QWERTZ / Dvorak hosts will receive
    scrambled glyphs. Set host layout to US for now.
  • After changing HID descriptor in future builds, you must re-pair every host (descriptor
    cached at bond time).

What's next

  • Custom host keyboard layouts
  • Macro recorder
  • Lock-screen widget
  • Material You dynamic color

Full source: https://github.com/Devdas-gupta/linkpad