Repository navigation
Releases: ShubhamJ010/ghost-hid
Releases · ShubhamJ010/ghost-hid
Release list
GhostHID v0.1.1
What's in this release
Full diff from v0.1.0 → main, packaged as a signed release APK.
New features
- Expressive app settings screen. Settings tab on the dashboard with collapsible categories:
- Trackpad & pointer: sensitivity, scroll step, tap-to-click, drag threshold, haptic feedback, scroll inversion
- HID transmission timing: typing delay, key hold duration, raw payload hold, action step gap
- Host OS override: auto-detect / force Windows / force macOS / force Linux, plus auto-connect on launch and LED handshake detection window
- Display & appearance: theme mode (system / dark / light), dynamic color, keep screen awake, high refresh rate
- QuickSend: auto-clear, history limit, haptic feedback
- Settings-driven live toggles. Theme mode, dynamic color, keep-screen-awake, and high-refresh-rate preferences applied live through
DisposableEffect/LaunchedEffectinMainActivity. - QuickSend history cap from settings. History cap now read from live settings instead of a hardcoded constant.
Interactive gateway notification
- Notification action buttons: Disconnect / Connect toggle and Stop gateway that tears down the service and quits the app
- New notification action icons (
ic_notification_connect,ic_notification_stop) - Status line enriched with the resolved host OS label while connected
- Foreground service type
connectedDeviceon API 29+
Dashboard settings shortcut
- "Settings & Tuning" card placed directly above Quit App on the dashboard
Built-in combo migration
- Lock:
{mod+l}→{win+l} - MacSleep:
{mod+ctrl+q}{500ms}{Escape}→{cmd+ctrl+q}{500ms}{Escape} - ForceQuit:
{mod+alt+esc}{400ms}{Enter}{300ms}{Enter}→{cmd+alt+esc}{400ms}{Enter}{300ms}{Enter} - Migration in
ComboRepositorynormalises any legacymodtokens to the new native Win/Cmd tokens
Documentation
CHANGELOG.mdadded (Keep a Changelog format, covers 0.1.0 and 0.1.1)- README updated to advertise raw HID payload injection and the DUMP-protected IPC model
docs/agent-integration.mdexamples and JSON responses updated to Win/Cmd native tokens throughout
Files changed
app/build.gradle.kts (versionCode 7 / versionName 0.1.1), CHANGELOG.md (new), README.md (release badge + raw HID docs), SettingsScreen.kt (new), AppSettings.kt (new), SettingsRepository.kt (new), HidService.kt, MainActivity.kt, DashboardScreen.kt, ComboRepository.kt, QuickSendHistoryRepository.kt, QuickSendEntry.kt, Screen.kt, MostUsedCombosSection.kt, ic_notification_connect.xml (new), ic_notification_stop.xml (new), docs/agent-integration.md
APK
- ghost-hid-v0.1.1.apk — signed release APK (v2/v3 APK Signature Scheme), package
com.sj010.ghid, versionCode 7 / versionName 0.1.1, certificate CN=Shubham Jha, SHA-256c9aa1087d619b86c5571dde3568cebbb2645575c1c0d1b3ea979bbe25d2eb472
GhostHID v0.1.0
Initial standalone Android release (P0 Security Hardened)
GhostHID (com.sj010.ghid) turns an Android device into a physical Bluetooth Classic keyboard and mouse.
Security Hardening (P0)
- IPC Lockdown:
HidServiceandHidCommandReceiverprotected withandroid.permission.DUMPto prevent rogue third-party apps from injecting keystrokes. - Backup Disabled:
android:allowBackup="false"prevents USBadb backupdata exfiltration. - Production Keystore Signing: Signed with dedicated 4096-bit RSA production key (no debug keystore fallback).
Features
- Bluetooth Classic HID device profile registration over L2CAP
- Dual-report composite descriptor: keyboard scancodes (Report ID 1) and relative mouse pointer (Report ID 2)
- Ghost Stream Deck: full-bleed landscape mode with action collage, custom macro slots, and pullout drawer
- Touchpad screen with multi-touch gestures (left click, right click, scroll, middle click)
- Action sequence parser for bracket syntax macros with delay sequencing
- Headless background service and broadcast receiver interface for CLI and ADB automation
- Obtainium integration for direct app updates
Verification
- File:
ghost-hid.apk - SHA256:
d87ca9b055d32d23bea599eb2c034ad1e54567302bb3f17e9423bb2bcec3c56e - Signer Certificate SHA-256:
c9aa1087d619b86c5571dde3568cebbb2645575c1c0d1b3ea979bbe25d2eb472