Input Leaf
1.4.2 · GitHub
More about this app
Android client for Input Leap/Deskflow: control your phone with your PC mouse and keyboard over LAN using Shizuku input injection, no root.
Input Leaf ๐
Use your PC's mouse and keyboard to control your Android phone or tablet over Wi-Fi/LAN. Input Leaf is a free, open-source Android client for Input Leap and compatible Deskflow setups โ no USB cables and no root required.
Download APK ยท Website ยท Quick Start ยท Input Leap Guide ยท Deskflow Guide ยท Troubleshooting ยท Issues
PC mouse + keyboard -> Local Network (Wi-Fi/LAN) -> Android phone / tablet
Move your desktop cursor off the edge of your monitor to smoothly glide onto your Android screen.
Overview
Input Leaf is an open-source Android client designed for software KVM switches. It connects seamlessly to Input Leap and compatible Deskflow servers running on your desktop or laptop (Windows, macOS, or Linux).
Instead of switching hands between your physical keyboard and phone touch screen, or constantly pairing Bluetooth devices, Input Leaf turns your phone or tablet into an additional screen in your desktop setup.
Why Input Leaf?
- No root required โ Works out-of-the-box using Shizuku or Android Accessibility APIs.
- Ultra-low latency โ Shizuku engine injects native system-level input events directly for zero perceptible lag.
- Full mouse and keyboard sharing โ Smooth cursor control, left/right/middle click, wheel scrolling, and hardware modifier keys (
Ctrl,Alt,Shift,Meta). - Compatible with Input Leap & Deskflow โ Speaks the standard open-source KVM protocol over TCP.
- 100% local and private โ All communication stays on your local area network (LAN); no cloud relays or external servers.
- mDNS server auto-discovery โ Finds compatible servers on your local Wi-Fi automatically.
- Encrypted TLS connections โ Supports TLS encryption with Trust-On-First-Use (TOFU) certificate pinning.
- Battery efficient and resilient โ Automatic exponential-backoff reconnects when network interruptions occur.
Official Software & Lineage
Input Leaf acts as the client on your Android device. You will need a compatible server application running on your PC:
| Software | Role | Official Links | Description |
|---|---|---|---|
| Input Leap | Desktop Server | โข Official GitHub Repository โข Download Releases โข Input Leap Wiki |
Free, open-source software KVM sharing mouse and keyboard between computers. Successor to Barrier. |
| Deskflow | Desktop Server | โข Official Website โข Official GitHub Repository โข Download Releases |
Modern cross-platform keyboard and mouse sharing software. |
| Barrier | Predecessor | โข Official GitHub Repository | The upstream predecessor of Input Leap. Compatible with legacy setups. |
| Shizuku | Android Tool | โข Official Website โข GitHub Repository |
Grants system-level API access to Input Leaf without root permissions. |
How It Works
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Desktop / Laptop โ
โ (Windows / macOS / Linux) โ
โ โ
โ Input Leap Server / Deskflow Server โ
โโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโ
โ
โ TCP Port 24800 (Wi-Fi / Ethernet LAN)
โ Optional TLS / mTLS Encryption
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Android Phone / Tablet โ
โ โ
โ Input Leaf App โ
โ โ โ
โ โโโโโโโโโโโโดโโโโโโโโโโโ โ
โ โผ โผ โ
โ Shizuku Engine Accessibility โ
โ (System Injection) (Stock Fallback) โ
โ โข Lowest latency โข Zero extra apps โ
โ โข Full shortcuts โข Touch emulation โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
When your mouse crosses the configured border of your desktop monitor, the server sends coordinates and keystrokes over your local network to Input Leaf, which translates and injects them into Android in real time.
Quick Start
1. Install Server on your PC
Download and install either:
- Input Leap Releases (Windows, macOS, Linux), or
- Deskflow Releases (Windows, macOS, Linux).
2. Configure the Server Grid
- In the server application, choose Server (share this computer's mouse and keyboard).
- Click Configure Server... to open the screen grid layout.
- Drag a new screen from the top right into the grid and place it adjacent to your desktop screen (for example, to the right or below).
- Double-click the new screen and set the Screen name to match your Android device's Screen Name (view or customize it in Input Leaf under Settings -> Screen name; it defaults to your sanitized device model, such as
pixel-8orandroid-phone). - Click OK and press Start.
Detailed Guides:
3. Install Input Leaf on Android
- Download the latest
input-leaf_<version>_universal.apkfrom GitHub Releases. - Open the APK on your Android device and tap Install.
4. Choose an Input Injection Engine
Open Input Leaf and complete the quick onboarding wizard:
- Shizuku (Recommended): Open the Shizuku app, start it via Wireless Debugging, and allow Input Leaf when prompted.
- Accessibility Service (Fallback): Enable the Input Leaf Accessibility Service and Keyboard in Android Settings -> Accessibility.
5. Connect
- Input Leaf will automatically discover the server on your local Wi-Fi. You can also tap + to enter the PC's IP address manually.
- Tap Connect.
- Push your PC mouse cursor across the configured monitor edge โ your cursor will appear on your Android screen.
Shizuku vs. Accessibility Mode
Input Leaf offers two distinct input engines to match your device and preferences:
| Feature / Capability | Shizuku (Recommended) | Accessibility (No Extra App) |
|---|---|---|
| Root Required | No | No |
| External Setup | One-time Shizuku setup (Wireless Debugging) | None (Enable in Android Settings) |
| Input Latency | Ultra-Low (< 5ms) | Low (~15โ25ms) |
| Mouse Precision | Native Absolute Cursor Mapping | Gesture / Pointer Emulation |
| Mouse Buttons | Left, Right, Middle Click | Left Click, Context Menus |
| Scroll Wheel | Smooth, continuous scrolling | Step scrolling |
| Modifier Keys | Ctrl, Alt, Shift, Meta (Super/Win) |
Standard typing + Basic Modifiers |
| System Shortcuts | Full (Alt+Tab, Meta+Enter, Home, Back) |
Limited by Android Accessibility APIs |
| Best For | Power users, daily workstation setups | Quick setups, restricted devices |
Supported Android Shortcuts & Hotkeys
When using Shizuku Mode, Input Leaf passes through hardware-level keyboard shortcuts directly to Android:
| Desktop Key / Shortcut | Android Action |
|---|---|
| Super / Windows / Cmd | Home Screen |
| Esc or Alt + โ | Back Button |
| Alt + Tab | Recent Apps / App Switcher |
| Ctrl + C / Ctrl + V | Copy & Paste |
| Ctrl + A | Select All |
| Ctrl + Z | Undo |
| Print Screen | Take Screenshot |
| Volume Up / Down / Mute | Media Volume Controls |
| Media Play / Pause / Next | Media Playback Controls |
Screenshots
![]() Splash Screen |
![]() Guided Onboarding |
![]() Shizuku Permission |
![]() System Overlay |
![]() Connected & Ready |
![]() Custom Settings |
Troubleshooting
1. Input Leaf cannot find or connect to my PC server
- Network Isolation: Verify that both devices are on the same Wi-Fi network and that your router does not have "AP Isolation" or "Client Isolation" enabled.
- Firewall Rules: Ensure that the desktop server application has permission to accept inbound connections on TCP Port 24800 in Windows Defender Firewall or
ufw/iptableson Linux. - Screen Name Mismatch: Double check that the Screen Name configured in your desktop server's grid matches the client name set in Input Leaf Settings (case-sensitive).
- Direct IP Entry: If mDNS auto-discovery fails, find your PC's local IP address (
ipconfigon Windows orip aon Linux) and add it manually in Input Leaf.
2. Keyboard works, but system shortcuts (Alt+Tab, Home) do nothing
- Android Accessibility Service mode does not have system-level permissions to trigger navigation hotkeys.
- Switch to Shizuku Mode for full hardware keyboard emulation and system shortcut support.
3. Cursor does not appear over notifications or Quick Settings panel
- Android's security architecture restricts standard overlay windows (
TYPE_APPLICATION_OVERLAY) from rendering over system panels like Quick Settings, the notification shade, and the lockscreen. - If you need pointer interactions in the notification shade, enable Input Leaf's Accessibility Service, which provides accessibility-level overlay coverage.
4. Connection drops when the screen locks or app is in the background
- Android OEMs often enforce aggressive battery-saving policies.
- In Android Settings -> Apps -> Input Leaf -> Battery, set battery usage to Unrestricted and allow background activity.
5. Shizuku says "Not Running" after restarting the phone
- On non-rooted devices, Android disables the Shizuku wireless debugging process upon reboot.
- Open the Shizuku app, tap Pairing or Start under Wireless Debugging to re-enable it.
Frequently Asked Questions (FAQ)
Is Input Leaf completely free and open source?
Yes. Input Leaf is 100% free, ad-free, and licensed under the permissive Apache License 2.0.Does Input Leaf send any data to external servers?
No. All mouse, keyboard, and handshake packets travel strictly between your PC and Android device across your local Wi-Fi or Ethernet network.Can I connect multiple Android devices to the same PC?
Yes. You can add multiple screens in the Input Leap / Deskflow server grid (for example, one phone on the left, one tablet on the right) and connect each device running Input Leaf.Which Android architectures are supported?
Releases provide universal APKs as well as targeted builds for `arm64-v8a`, `armeabi-v7a`, and `x86_64`. Universal works on all supported Android 8.0+ devices.Contributing
Contributions, feature suggestions, and bug reports are welcome:
- Fork the repository on GitHub.
- Create a feature branch (
git checkout -b feat/my-new-feature). - Commit your changes with descriptive messages (
git commit -m "feat: add support for custom hotkey mapping"). - Push to your branch (
git push origin feat/my-new-feature). - Open a Pull Request.
Check out our Issue Tracker or start a discussion on the Community Forum.
Author & Acknowledgments
- Author: Anas Vhora (@anasvhora284)
- Thanks to all Input Leaf contributors for their valuable support and code contributions.
- Thanks to the upstream developers and contributors of Input Leap, Deskflow, Barrier, and Shizuku.
License
Input Leaf is licensed under the Apache License 2.0. See the LICENSE file for details.
How Shizuku is used
Can control the phone with a PC mouse and keyboard over LAN via `Shizuku user service` and virtual HID devices.
This is an AI-assisted analysis of Shizuku-related usages in the app's public source code. It is best effort, so it may not catch every single usage.
How this app uses Shizuku
Shizuku runs a privileged input service so a connected Input Leap or Deskflow PC can drive this phone as if it were a local screen.
- Move phone cursor: PC mouse motion moves the phone pointer, using system input injection with fallback to virtual HID mouse reports.
- Click phone buttons: PC left, middle and right clicks press and release phone mouse buttons through the same injection path.
- Scroll phone content: PC wheel input scrolls at the current pointer position via system scroll injection or HID wheel reports.
- Press PC keys: PC key presses, releases and repeats are typed on the phone, including modifiers and special keys, via system key injection or HID keyboard reports.
- Type text: characters without a physical key mapping are entered as Unicode text through system text injection.
Android APIs or commands used
InputManager.injectInputEventInputManager.injectInputEventToTargetandroid.hardware.input.IInputManagerandroid.view.MotionEvent.obtainandroid.view.KeyEvent/dev/uhid
Notable details
The app can also work without Shizuku through an accessibility input mode, so Shizuku is the higher fidelity path rather than the only path.
Changelog
What's new for version 1.4.2
๐ Input Leaf v1.4.2
Accessibility overlay cursor stays visible without a SYSTEM_ALERT_WINDOW-only gate, and Shizuku now presents a real UHID keyboard and mouse while the cursor is on the phone.
Highlights & Improvements
Accessibility Overlay Cursor
- Always-Visible Overlay: The overlay cursor stays visible without relying on overlay permission alone.
- Native Pointer Feel: Native Android pointer with compensation, edge anchoring, and re-entry at the latest Enter coordinates.
UHID Keyboard & Mouse
- HID While Cursor is On Phone: UHID keyboard and mouse attach while the cursor is on the phone, and disconnect on Leave.
Live Screen Size (DINF)
- Mid-Session Updates: Live screen size, including rotation, is sent mid-session via DINF.
Stability & Connection UI
- Connecting-State UI: Server cards show a connecting state while a session is being established.
- First-Enter Freeze Fixes: Improvements to first-enter freeze and Shizuku bind.
Installation
- Download the APK matching your device architecture (or
universal.apk). - Install the APK on your Android device.
- If using Shizuku (Recommended), ensure Shizuku is running before connecting.
Permissions
10 permissions requested
Sources
5 sources
Sources
5 sources





